aggiunta pulsante accezione

This commit is contained in:
jops 2017-01-22 13:48:55 +01:00
parent c2990910f8
commit a4615b8133

View file

@ -7,6 +7,22 @@ char statoRele = 'n'; // salviamo lo stato del rele
char blueToothVal; //value sent over via bluetooth char blueToothVal; //value sent over via bluetooth
int contatoreSecondi = 0; int contatoreSecondi = 0;
const int buttonPin = 11; //pin del pulsante
int buttonState = 0; // stato del pulsante
const int ledPin = 13; //pin del led stato caldaia
void startCaldaia(){
digitalWrite(ledPin,HIGH); //accendo il led
digitalWrite(RELAY1,HIGH); //accendo il rele
statoRele = '1';
}
void stopCaldaia(){
digitalWrite(ledPin,LOW); //spengo il led
digitalWrite(RELAY1,LOW); //spengo il rele
statoRele = '0';
}
void setup() { void setup() {
// Open serial communications: // Open serial communications:
@ -15,17 +31,18 @@ void setup() {
// The HC-06 defaults to 9600 according to the datasheet. // The HC-06 defaults to 9600 according to the datasheet.
mySerial.begin(9600); mySerial.begin(9600);
pinMode(13,OUTPUT); //il led
pinMode(ledPin,OUTPUT); //il led
pinMode(RELAY1, OUTPUT); //il rele pinMode(RELAY1, OUTPUT); //il rele
pinMode(buttonPin, INPUT); //pulsante
contatoreSecondi = 0; contatoreSecondi = 0;
} }
void loop() { void loop() {
//Si autospegne se non riceve alcun messaggio per un ora //Si autospegne se non riceve alcun messaggio per un ora
if (contatoreSecondi > 3600){ if (contatoreSecondi > 3600){
digitalWrite(13,HIGH); //accendo il led stopCaldaia();
digitalWrite(RELAY1,LOW); //accendo il rele
statoRele = 'f';
blueToothVal=' '; blueToothVal=' ';
} }
@ -36,36 +53,79 @@ void loop() {
} }
if (blueToothVal=='n')//se ricevo n lo spengo if (blueToothVal=='0')//se ricevo 0 lo spengo
{ {
digitalWrite(13,HIGH); //accendo il led stopCaldaia();
digitalWrite(RELAY1,LOW); //accendo il rele mySerial.write('0\n');
mySerial.write('n\n');
statoRele = blueToothVal;
blueToothVal=' '; blueToothVal=' ';
contatoreSecondi = 0; contatoreSecondi = 0;
}else if (blueToothVal=='f')//se ricevo f lo accendo }
else if (blueToothVal=='1') //se ricevo 1 lo accendo
{ {
digitalWrite(13,LOW); //spendo il led startCaldaia();
digitalWrite(RELAY1,HIGH); //spengo il rele mySerial.write('1\n');
mySerial.write('f\n');
statoRele = blueToothVal;
blueToothVal=' '; blueToothVal=' ';
contatoreSecondi = 0; contatoreSecondi = 0;
}else if(blueToothVal=='s'){ //richiedo lo stato }
else if(blueToothVal=='s'){ //richiedo lo stato e azzero il contatore
mySerial.write(statoRele); //mando lo stato mySerial.write(statoRele); //mando lo stato
mySerial.write("\n"); mySerial.write("\n");
blueToothVal=' '; blueToothVal=' ';
contatoreSecondi = 0; contatoreSecondi = 0;
}else if(blueToothVal=='c'){ //info sul contatore }
else if(blueToothVal=='t'){ //info sul contatore
String myString = String(contatoreSecondi); String myString = String(contatoreSecondi);
char charBuf[50]; char charBuf[50];
myString.toCharArray(charBuf, 50); myString.toCharArray(charBuf, 50);
strcat(charBuf, "\n"); strcat(charBuf, "\n");
mySerial.write(charBuf); //mando lo stato mySerial.write(charBuf); //mando lo stato
} }
switch (blueToothVal) {
case '0'://se ricevo 0 lo spengo
stopCaldaia();
mySerial.write('0\n');
blueToothVal=' ';
contatoreSecondi = 0;
break;
case '1'://se ricevo 1 lo accendo
startCaldaia();
mySerial.write('1\n');
blueToothVal=' ';
contatoreSecondi = 0;
break;
case 's'://richiedo lo stato e azzero il contatore
mySerial.write(statoRele); //mando lo stato
mySerial.write("\n");
blueToothVal=' ';
contatoreSecondi = 0;
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
//Parte pulsante
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
if(statoRele=='0'){
startCaldaia();
blueToothVal=' ';
contatoreSecondi = 0;
}else{
stopCaldaia();
blueToothVal=' ';
contatoreSecondi = 0;
}
}
//fine parte pulsant
delay(1000); delay(1000);
contatoreSecondi += 1; contatoreSecondi += 1;
} }