Ciao ragazzi mi trovo davanti ad un problema, che pensavo fosse semplice e stupido invece non ci salto fuori.
Volendo creare due semplici led lampeggianti, che però lampeggiano in due momenti differenti con frequenza differente.
Quindi ho 2 led rossi che si alternano, 1 acceso l'altro spento e cosi via.
e un terzo led che lampeggia continuamente ad una frequenza maggiore degli altri due.
Primo Problema: Inserendo due semplici pulsanti che fanno da ON / OFF, quando viene schiacciato ON, andando in LOW Dovrebbe accendersi il dispositivo, e invece cosi non è perché si accende solo quando tiro giu il pulsante dal momento che tolgo il dito ritorna su HIGH e si spegne. Suggerimenti per farlo rimanere in Low automaticamente ????
Secondo problema:
La frequenza del lampeggiare, non riesco a dividerla per entrambe le funzioni.
Come è possibile creare due loop differenti?
ho steso questo codice:
int ledPin = 5;
int ledPin2 = 2;
int ledPin3 = 3;
int buttonBpin = 9;
int buttonApin = 8;
byte leds = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(buttonApin) == LOW)
{
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin2, LOW);
delay(300);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin, LOW);
delay(300);
digitalWrite(ledPin3, HIGH);
delay(200);
digitalWrite(ledPin3, LOW);
delay(600);
}
if (digitalRead(buttonBpin) == LOW)
{
digitalWrite(ledPin, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin2, LOW);
}
}
Tenendo conto che tutto deve essere in LOOP continuo, quindi se viene schiacciato ON deve continuare all'infinito fino a quando non viene schiacciato OFF.