salve ragazzi ho un problema che mi sta facendo impazzire, riguardante un malfunzionamento di non so cosa nel momento in cui scollego l'arduino dal pc.
Il codice è il seguente:
int TRIG = 38;
int ECHO = 36;
long durata;
long distanza;
void setup(){
#define debug
#ifdef debug
while(!Serial);
#endif
Serial.begin(9600);
pinMode(38, OUTPUT);
pinMode(36, INPUT);
pinMode(53, OUTPUT);
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(10);
digitalWrite(TRIG, HIGH);
delayMicroseconds(2);
digitalWrite(TRIG, LOW);
durata = pulseIn(ECHO, HIGH);
distanza = durata / 58.2;
Serial.println("la distanza in cm e':...");
Serial.println(distanza);
delay(500);
if (distanza < 15) {
Serial.println("Ostacolo!!");
digitalWrite(53, HIGH);
} else { digitalWrite(53, LOW); }
}
Quando la distanza rilevata dal sensore è minore di 15 centimetri, un led sul pin 53 si accede, altrimenti rimane spento, il problema è che quando scollego l'arduino, il led rimane comunque acceso!! Ho fatto anche dei test con i motori, in quel caso, l'arduino segue solo l'istruzione "Vai indietro quando la distanza è inore di 15" e non accelera mai in avanti!
Qualcuno mi potrebbe spiegare qual è il problema?
Grazie