Load cell amplifier interface

Dependents:   mbed_oled

Committer:
jimconner
Date:
Tue Mar 31 17:42:18 2015 +0000
Revision:
0:d47fb3d4b918
Mostly workingish code... the numbers change appropriately when I put weight on the load cell.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jimconner 0:d47fb3d4b918 1 /* mbed library for HX711 Load Cell Amplifier/24-bit A/D converter
jimconner 0:d47fb3d4b918 2 * Copyright (c) 2015 Jim Conner
jimconner 0:d47fb3d4b918 3 *
jimconner 0:d47fb3d4b918 4 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
jimconner 0:d47fb3d4b918 5 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
jimconner 0:d47fb3d4b918 6 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
jimconner 0:d47fb3d4b918 7 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
jimconner 0:d47fb3d4b918 8 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
jimconner 0:d47fb3d4b918 9 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
jimconner 0:d47fb3d4b918 10 * THE SOFTWARE.
jimconner 0:d47fb3d4b918 11 */
jimconner 0:d47fb3d4b918 12
jimconner 0:d47fb3d4b918 13 #include "hx711.h"
jimconner 0:d47fb3d4b918 14 #include "mbed.h"
jimconner 0:d47fb3d4b918 15
jimconner 0:d47fb3d4b918 16 //#define BPP 16 // Bits per pixel
jimconner 0:d47fb3d4b918 17
jimconner 0:d47fb3d4b918 18 // Constructor
jimconner 0:d47fb3d4b918 19 HX711::HX711(PinName clk, PinName addo) : clk(clk), addo(addo)
jimconner 0:d47fb3d4b918 20 {
jimconner 0:d47fb3d4b918 21
jimconner 0:d47fb3d4b918 22
jimconner 0:d47fb3d4b918 23 }
jimconner 0:d47fb3d4b918 24
jimconner 0:d47fb3d4b918 25 // Destructor
jimconner 0:d47fb3d4b918 26 HX711::~HX711(void) {}
jimconner 0:d47fb3d4b918 27
jimconner 0:d47fb3d4b918 28
jimconner 0:d47fb3d4b918 29 // Reading data from the converter
jimconner 0:d47fb3d4b918 30 long HX711::readData(void)
jimconner 0:d47fb3d4b918 31 {
jimconner 0:d47fb3d4b918 32 unsigned char i;
jimconner 0:d47fb3d4b918 33 unsigned long Count;
jimconner 0:d47fb3d4b918 34 clk=0;
jimconner 0:d47fb3d4b918 35 Count=0;
jimconner 0:d47fb3d4b918 36 while(addo);
jimconner 0:d47fb3d4b918 37 for (i=0;i<24;i++) {
jimconner 0:d47fb3d4b918 38 clk=1;
jimconner 0:d47fb3d4b918 39 Count=Count<<1;
jimconner 0:d47fb3d4b918 40 clk=0;
jimconner 0:d47fb3d4b918 41 if(addo) Count++;
jimconner 0:d47fb3d4b918 42 }
jimconner 0:d47fb3d4b918 43 clk=1;
jimconner 0:d47fb3d4b918 44 Count=Count ^0x800000;
jimconner 0:d47fb3d4b918 45 clk=0;
jimconner 0:d47fb3d4b918 46 return(Count);
jimconner 0:d47fb3d4b918 47 }
jimconner 0:d47fb3d4b918 48