Obtiene datos de una bascula y pinta el valor del int devuelto en un LCD por i2c.
Fork of I2C-LCD by
Revision 2:8db024073f1f, committed 2019-04-11
- Comitter:
- bertonieto
- Date:
- Thu Apr 11 06:44:22 2019 +0000
- Parent:
- 1:93d8becc35f9
- Commit message:
- u
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 93d8becc35f9 -r 8db024073f1f main.cpp --- a/main.cpp Wed May 25 16:11:32 2016 +0000 +++ b/main.cpp Thu Apr 11 06:44:22 2019 +0000 @@ -2,51 +2,38 @@ #include "TextLCD.h" #include <string> -//ZONA DE PRUEBAS + -//definimos la bascula para despues obtener el peso -Serial serialBascula(p9, p10); //Tx,Rx - -//Iniciamos I2C Communication -I2C i2c_lcd(p28,p27); // SDA, SCL -TextLCD_I2C lcd(&i2c_lcd, 0x4E, TextLCD::LCD16x2, TextLCD::HD44780); // I2C bus, PCF8574 Slaveaddress, LCD Type, Device Type +//Iniciamos I2C Communication +//I2C i2c_lcd(p28,p27); // SDA, SCL +I2C i2c_lcd(p32, p31); // SDA, SCL +TextLCD_I2C lcd(&i2c_lcd, 0x4E, TextLCD::LCD16x2, TextLCD::HD44780); // I2C bus, PCF8574 Slaveaddress, LCD Type, Device Type //Iniciamos el LCD. -void iniciaLCD(){ +void iniciaLCD() +{ lcd.setMode(TextLCD::DispOn); //DispOff, DispOn lcd.setBacklight(TextLCD::LightOff);//LightOff, LightOn lcd.setCursor(TextLCD::CurOff_BlkOff);//CurOff_BlkOff, CurOn_BlkOff, CurOff_BlkOn, CurOn_BlkOn - } +} -int leerPeso(){ - char buffer1[100]; - string pesoss; - int ipesoss; - serialBascula.printf("2005002D:<CR><LF>\n"); //\r\n - if (serialBascula.readable()==true){ - //serialBascula.gets(buffer1,20); - pesoss = serialBascula.gets(buffer1,40); - pesoss = pesoss.substr(10,4); - strcpy(buffer1, pesoss.c_str()); - ipesoss = atoi(buffer1); +//Pintamos en el LCD linea 1. +void pintaLCD1(bool manual){ + if (manual){ + lcd.locate(0,0); + lcd.printf(" MANUAL "); } - return ipesoss; + else{ + lcd.locate(0,0); + lcd.printf("Salida1 Salida2"); + } } //Main, aqui ponemos todo el programa. -int main(){ - Serial pc(USBTX, USBRX); +int main() +{ + Serial pc(USBTX, USBRX); iniciaLCD(); //Iniciamos el LCD - int pesoreal; - - while(1){ - pesoreal = leerPeso(); - lcd.locate(5,1); - lcd.printf("%d", pesoreal); - wait(1); - } - //rfid.printf("20050025:<CR><LF>"); - //pc.printf("%s",rfid.getc()); - //el problema viene cuando se intenta llamar a la funcion que devuelve el peso. a veces da error porque el peso no se puede cast-ear a int. No se poque ocurre este error ni como solventarlo. - //voy a mirar el tema en C++ - } \ No newline at end of file + pintaLCD1(0); + //printf +} \ No newline at end of file