Come già postato in precedenza (quando inizializzo Arduino)
il problema e quando uso le uscite digitali mi scattano i relè!
risolto con le uscite analogiche......ma se usando A0 in combinazione con un tasto in7
funziona alla meraviglia , nel caso del secondo bottone in8 con combinazione A1 ![]()
il relè resta acceso!
e possibile la combinazione fatta nello sketch???
ho cmbiato pin con pin1 :.
#include <LiquidCrystal.h>
int in= 7; //+
int in2=8; //+
int in3=9; //-
int in4=10; //-
const int buttonPin =7; // numero interruttore 1
const int RelePin =A0; // Numero Relè <-----------funzionante
const int buttonPin1 =8; // numero interruttore 2
const int RelePin1 =A1; // Numero Relè2 <------------il relè rimane acceso
int buttonState = 0;
int buttonState1 =0;
int a = 0;
int b = 0;
int c= 0;
int d = 0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
pinMode(in,INPUT); //entrate Lcd
lcd.begin(16, 2);
lcd.print("Il MioSat");
delay(2000); lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Oriz.");
lcd.setCursor(0, 1);
lcd.print("Vert.");
pinMode(RelePin, OUTPUT); // uscita relè
pinMode(buttonPin, INPUT); // funzione bottone
pinMode(RelePin1, OUTPUT); // uscita relè2
pinMode(buttonPin1, INPUT); // funzione bottone2
}
void loop(){
c=digitalRead(in);
if ( c== 1){b=b+1; delay(200);}
c=digitalRead(in3);
if ( c== 1){b=b-1; delay(500);}
d=digitalRead(in2);
if ( d== 1){a=a+1;delay(500);}
d=digitalRead(in4);
if ( d== 1){a=a-1;delay(500);}
lcd.setCursor(6, 0);
lcd.print(a); lcd.print(" ");
lcd.setCursor(6, 1);
lcd.print(b); lcd.print(" ");
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) { // check if the pushbutton is pressed.
digitalWrite(RelePin, HIGH); //
}
else { digitalWrite(RelePin, LOW);
buttonState1 = digitalRead(buttonPin1);
if (buttonState == LOW) // check if the pushbutton is pressed.
digitalWrite(RelePin1, HIGH); //
else { digitalWrite(RelePin1, LOW);
}}
}