Báscula de cebo funcionado.

Dependencies:   mbed TextLCD

Committer:
bertonieto
Date:
Wed May 25 16:11:32 2016 +0000
Revision:
1:93d8becc35f9
Parent:
0:376d7a150177
Child:
2:11373e09c930
Child:
3:8db024073f1f
Programa de gestion de bascula con LCD por i2c.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oscarvzfz 0:376d7a150177 1 #include "mbed.h"
oscarvzfz 0:376d7a150177 2 #include "TextLCD.h"
bertonieto 1:93d8becc35f9 3 #include <string>
oscarvzfz 0:376d7a150177 4
bertonieto 1:93d8becc35f9 5 //ZONA DE PRUEBAS
oscarvzfz 0:376d7a150177 6
bertonieto 1:93d8becc35f9 7 //definimos la bascula para despues obtener el peso
bertonieto 1:93d8becc35f9 8 Serial serialBascula(p9, p10); //Tx,Rx
bertonieto 1:93d8becc35f9 9
bertonieto 1:93d8becc35f9 10 //Iniciamos I2C Communication
bertonieto 1:93d8becc35f9 11 I2C i2c_lcd(p28,p27); // SDA, SCL
oscarvzfz 0:376d7a150177 12 TextLCD_I2C lcd(&i2c_lcd, 0x4E, TextLCD::LCD16x2, TextLCD::HD44780); // I2C bus, PCF8574 Slaveaddress, LCD Type, Device Type
oscarvzfz 0:376d7a150177 13
bertonieto 1:93d8becc35f9 14 //Iniciamos el LCD.
bertonieto 1:93d8becc35f9 15 void iniciaLCD(){
bertonieto 1:93d8becc35f9 16 lcd.setMode(TextLCD::DispOn); //DispOff, DispOn
bertonieto 1:93d8becc35f9 17 lcd.setBacklight(TextLCD::LightOff);//LightOff, LightOn
bertonieto 1:93d8becc35f9 18 lcd.setCursor(TextLCD::CurOff_BlkOff);//CurOff_BlkOff, CurOn_BlkOff, CurOff_BlkOn, CurOn_BlkOn
bertonieto 1:93d8becc35f9 19 }
oscarvzfz 0:376d7a150177 20
bertonieto 1:93d8becc35f9 21 int leerPeso(){
bertonieto 1:93d8becc35f9 22 char buffer1[100];
bertonieto 1:93d8becc35f9 23 string pesoss;
bertonieto 1:93d8becc35f9 24 int ipesoss;
bertonieto 1:93d8becc35f9 25 serialBascula.printf("2005002D:<CR><LF>\n"); //\r\n
bertonieto 1:93d8becc35f9 26 if (serialBascula.readable()==true){
bertonieto 1:93d8becc35f9 27 //serialBascula.gets(buffer1,20);
bertonieto 1:93d8becc35f9 28 pesoss = serialBascula.gets(buffer1,40);
bertonieto 1:93d8becc35f9 29 pesoss = pesoss.substr(10,4);
bertonieto 1:93d8becc35f9 30 strcpy(buffer1, pesoss.c_str());
bertonieto 1:93d8becc35f9 31 ipesoss = atoi(buffer1);
bertonieto 1:93d8becc35f9 32 }
bertonieto 1:93d8becc35f9 33 return ipesoss;
bertonieto 1:93d8becc35f9 34 }
bertonieto 1:93d8becc35f9 35
bertonieto 1:93d8becc35f9 36 //Main, aqui ponemos todo el programa.
bertonieto 1:93d8becc35f9 37 int main(){
bertonieto 1:93d8becc35f9 38 Serial pc(USBTX, USBRX);
bertonieto 1:93d8becc35f9 39 iniciaLCD(); //Iniciamos el LCD
bertonieto 1:93d8becc35f9 40 int pesoreal;
bertonieto 1:93d8becc35f9 41
bertonieto 1:93d8becc35f9 42 while(1){
bertonieto 1:93d8becc35f9 43 pesoreal = leerPeso();
bertonieto 1:93d8becc35f9 44 lcd.locate(5,1);
bertonieto 1:93d8becc35f9 45 lcd.printf("%d", pesoreal);
bertonieto 1:93d8becc35f9 46 wait(1);
bertonieto 1:93d8becc35f9 47 }
bertonieto 1:93d8becc35f9 48 //rfid.printf("20050025:<CR><LF>");
bertonieto 1:93d8becc35f9 49 //pc.printf("%s",rfid.getc());
bertonieto 1:93d8becc35f9 50 //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.
bertonieto 1:93d8becc35f9 51 //voy a mirar el tema en C++
bertonieto 1:93d8becc35f9 52 }