Salve a tutti, mi potete spiegare perchè un progetto così semplice e stupido non mi viene dopo che uso arduino da due anni.
In pratica, connetto un bottone ai 5v, quando si schiaccia un filo va su arduino come input, se quest'ultimo è positivo quindi il bottone è schiacciato, un altro pin di output accende un led.
Il codice è questo:
const int Out=3;
const int In=5;
int val=0;
void setup() {
pinMode(Out,OUTPUT);
pinMode(In,INPUT);
Serial.begin(9600);
}
void loop() {
val=digitalRead(In);
Serial.println(val);
if(val==HIGH){
digitalWrite(Out,HIGH);
}
}
Il problema è che anche se il bottone non è schiacciato, sul monitor val è 1 e non 0 come dovrebbe essere e non capisco perchè
qualcuno potrebbe aiutarmi? grazie
edit:
ora ho connesso i 5v al terminale 1 del bottone e un cavo al terminale 2 dell'altro e c'è un problema:
è che se inserisco il cavo nel pin senza che io schiacci il bottone val=1, e per assurdità ho staccato il cavo da qualsiasi fonte e ho lasciato un estremità attaccata nel pin, e val era sempre 1, allora ho pensato che ci fosse qualcosa che conducesse corrente e creasse problemi, ma arduino poggia su una scrivania in legno e sinceramente non penso, però c'è da dire che se tengo arduino a mezz'aria tenendolo per il cavo, val è 0 finche non tocco le saldature e diventa 1, ma pur tenendolo sospeso in questo modo, 5 valori su 6 sono 0 ma un'altro valore si alterna tra questi ultimi ed è sempre uno.