Ciao Ragazzi =) Sto realizzando un progetto che consiste nell'accendere le luci quando un sensore HC-SR=04 rileva un ostacolo e che le spegne nel momento in cui lo rivede.
Lo sketch che allego una volta caricato si comporta in questo modo:
- il sensore vede l'ostacolo e accende le luci
- nel momento in cui l'ostacolo non c'è più le spegne
Io NON voglio che funzioni così.
Voglio che si comporti nel modo seguente:
- il sensore vede l'ostacolo e accende le luci
- le luci rimangono accese anche se l'ostacolo non c'è (voglio il rele_1 rimanga a livello logico alto)
- le luci si spengono quando il sensore rivede l'ostacolo
Come dovrei aggiornare il codice?
Grazie in anticipo ![]()
SKETCH:
int trig_pin = 12;
int echo_pin = 11;
int rele_1 = 10;
void setup() {
// put your setup code here, to run once:
pinMode (trig_pin, OUTPUT);
pinMode (echo_pin, INPUT);
pinMode (rele_1, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite (trig_pin, LOW);
digitalWrite (trig_pin, HIGH);
delayMicroseconds (20);
digitalWrite (trig_pin, LOW);
long duration = pulseIn (echo_pin, HIGH);
long cm = 0.034 * duration / 2;
if (cm > 50) digitalWrite (rele_1, HIGH);
else digitalWrite (rele_1, LOW);
}