int lowbat = 13; // Pin de bateria baja int nivel = 3; //Sensor de nivel de bateria int xbee = 4; //Pin de activacion del xbee int buzzer = 9; int val = 0; // variable to store the value coming from the sensor int i=0; int rfid_ok=0; int id=0; int ini=20; int env=3; void setup() { Serial.begin(9600); pinMode(lowbat, OUTPUT); pinMode(xbee, OUTPUT); pinMode(buzzer, OUTPUT); for (i = 5; i < 9; i++) pinMode(i, INPUT); for (i = 5; i < 9; i++) { if (digitalRead(i)) { if (i==5) val=1; else if (i==6) val=2; else if (i==7) val=4; else if (i==8) val=8; id=id+val; } } digitalWrite(xbee, HIGH); //Habilito XBEE delay(ini); Serial.print("Soy el"); delay(env); Serial.print(" "); delay(env); Serial.print("Hybrid"); delay(env); Serial.print(" "); delay(env); Serial.println(id); delay(env); digitalWrite(lowbat, HIGH); digitalWrite(xbee, LOW); //deshabilito XBEE digitalWrite(buzzer, HIGH); delay(300); digitalWrite(buzzer, LOW); } void loop() { if (rfid_ok==1) { Serial.print(id,BYTE); delay(env); } while (Serial.available()>0) { if (rfid_ok==0) { delay(ini); Serial.print(id,BYTE); delay(env); } rfid_ok=1; val=Serial.read(); digitalWrite(xbee, HIGH); //Habilito XBEE Serial.print(val,BYTE); delay(env); } if (rfid_ok==1) { for (i = 0; i < 3; i++) { val=analogRead(i); /*Serial.print(":"); delay(env);*/ Serial.print(map(val, 0, 675, 0, 255),BYTE); delay(env); } } if (rfid_ok==1) { val=analogRead(4); /*Serial.print(":"); delay(env);*/ Serial.print(map(val, 0, 675, 0, 255),BYTE); delay(env); } val=analogRead(nivel); if (val<=614) digitalWrite(lowbat, LOW); //Umbral de bateria baja 3v, que equivale a 614 else digitalWrite(lowbat, HIGH); if (rfid_ok==1) { /*Serial.print(":"); delay(env);*/ Serial.print(map(val, 0, 860, 0, 255),BYTE); //El maximo de tension de la bateria son 4'2v, que equivale a 860 delay(env); Serial.println(); delay(env); } }