Buongiorno! Premetto che sono nuova della programmazione quindi potrebbe sfuggirmi qualcosa di estremamente semplice.
Il mio scopo è scrivere uno sketch per far sì che la mia striscia di led Neopixel si accenda quando c'è poca luce e il bottone aperto, si spenga quando il bottone è chiuso (ho usato la funzione pullup) e rimanga spenta in condizioni di luce superiori a un tot.
Ora, inizialmente ho scritto lo sketch per un semplice led e funziona, ma per i Neopixel proprio non riesco.
Allego il codice.Suggerimenti?
Grazie mille
//prova codice con neopixel
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, 12, NEO_GRB + NEO_KHZ800); //numero di led, pin
const int ldrPin=A1; //fotoresistenza
int val=0; //valori rilevati da ldr
const int buttonRPin=8; //bottone
int buttonState=0; //stato bottone
int stripState=0;
void setup() {
pinMode(ldrPin, INPUT);
Serial.begin(9600); //inizializzo la comunicazione seriale
pinMode(buttonRPin, INPUT_PULLUP); //la funzione pullup ragiona la contrario:
//HIGH quando il circuito è aperto, LOW quando è chiuso
strip.begin();
strip.show();//inizializza la libreria neopixel
}
void loop() {
val=analogRead(ldrPin); //salvo ldr dentro alla variabile val
Serial.println(val,DEC); //scrivo valore ldr in decimali
buttonState = digitalRead(buttonRPin); // legge il valore del bottone premuto come una variabile
if(val<200 && buttonState==LOW) {
stripState=HIGH;//con bassa luminosità accendo il led
strip.setPixelColor(1, strip.Color(255,255,255));
strip.setPixelColor(2, strip.Color(255,255,255));
strip.setPixelColor(3, strip.Color(255,255,255));
strip.setPixelColor(4, strip.Color(255,255,255));
strip.setPixelColor(5, strip.Color(255,255,255));
strip.setPixelColor(6, strip.Color(255,255,255));
strip.show(); //invia indicazione colore all hardware
delay (5000);
}
else {
stripState=LOW;
strip.show(); //altrimenti spengo o lascio spento
}
}
Grazie mille per la risposta.
Giustamente, ho dimenticato una parte abbastanza fondamentale...cosa ottengo?
Dal seriale vedo che la resistenza registra valori, ma i led non rispondono, non si accendono nè si spengono. Di conseguenza anche l'azione del bottone è assente.