Salve a tutti,
sono nuovo del forum e prima di postare la mia domanda premetto che ho letto molto in giro per cercare una soluzione ma non la trovo. considerate il fatto che ho iniziato a programamre arduino da 2 settimane senza mai aver visto un minimo di programmazione precentemente.
Ho un piccolo problemino riguardante il mio progetto:
vorrei che il servo motore ruotasse ad angolazioni specifiche ogni qual volta che il snesore pir rileva un movimento. Mi spiego meglio, il sensore rileva un movimento e il servo motore va a 45° e poi sta fermo. Il sensore rileva un nuovo movimento e il motore si sposta a 180°. a questo punto il ciclo dovrebbe ricominciare e ad un terzo rilevamento di movimento da parte del sensore il servo motore dovrebbe tornare a 45° e invece non succede niente. Non ricomincia il loop. dove sbaglio?
#include <Servo.h>
Servo servo1;
byte sensorpir = 7;
int conteggio1 = 0;
int statosensore = 0;
void setup()
{
servo1.attach(5,600,1500); // Asocia el servo1 al pin 5, define el min y max del ancho del pulso
// eso depende del fabricante del servo
pinMode(sensorpir,INPUT);
}
void loop()
{
statosensore = digitalRead(sensorpir);
if((statosensore == HIGH)&&(conteggio1 == 0))
{
conteggio1++;
servo1.write(45);
}
delay(500);
if((statosensore == LOW)&&(conteggio1 == 1))
{
servo1.write(45);
conteggio1++;
}
delay(500);
if((statosensore == HIGH)&&(conteggio1 == 2))
{
servo1.write(180);
conteggio1++;
}
delay(500);
if((statosensore == LOW)&&(conteggio1 == 3))
{
servo1.write(180);
conteggio1 == 0;
}