Hi there.
Using an Elegoo Uno R3. Here is the relevant code:
int LDR = A1;
const int BUTTON1 = 2;
const int BUTTON2 = 3;
const int BUTTON3 = 4;
const int BUTTON4 = 5;
int buttonPushCounter = 0; // counter for the number of button presses
int buttonState = 0; // current state of the button
int lastButtonState = 0;
void setup() {
pixels.begin();
pinMode(BUTTON1, INPUT);
pinMode(BUTTON2, INPUT);
pinMode(BUTTON3, INPUT);
pinMode(BUTTON4, INPUT);
pinMode(A1, INPUT);
Serial.begin(9600);
}
void loop() {
LDR = analogRead ( A1 );
Serial.println ( LDR );
delay ( 2000 );
if ( LDR < 90 ) {
pixels.clear();
pixels.setBrightness(0);
pixels.setPixelColor(0, pixels.Color(255, 255, 255));
pixels.setPixelColor(1, pixels.Color(255, 255, 255));
pixels.setPixelColor(2, pixels.Color(255, 255, 255));
pixels.setPixelColor(3, pixels.Color(255, 255, 255));
pixels.setPixelColor(4, pixels.Color(255, 255, 255));
pixels.setPixelColor(5, pixels.Color(255, 255, 255));
pixels.setPixelColor(6, pixels.Color(255, 255, 255));
pixels.setPixelColor(7, pixels.Color(255, 255, 255));
pixels.setPixelColor(8, pixels.Color(255, 255, 255));
pixels.setPixelColor(9, pixels.Color(255, 255, 255));
pixels.setPixelColor(10, pixels.Color(255, 255, 255));
pixels.setPixelColor(11, pixels.Color(255, 255, 255));
pixels.setPixelColor(12, pixels.Color(255, 255, 255));
pixels.setPixelColor(13, pixels.Color(255, 255, 255));
pixels.setPixelColor(14, pixels.Color(255, 255, 255));
pixels.setPixelColor(15, pixels.Color(255, 255, 255));
pixels.setPixelColor(16, pixels.Color(255, 255, 255));
pixels.setPixelColor(17, pixels.Color(255, 255, 255));
pixels.setPixelColor(18, pixels.Color(255, 255, 255));
pixels.setPixelColor(19, pixels.Color(255, 255, 255));
pixels.setPixelColor(20, pixels.Color(255, 255, 255));
pixels.setPixelColor(21, pixels.Color(255, 255, 255));
pixels.setPixelColor(22, pixels.Color(255, 255, 255));
pixels.setPixelColor(23, pixels.Color(255, 255, 255));
pixels.show();
}
else {
pixels.clear();
pixels.setBrightness(75);
pixels.setPixelColor(0, pixels.Color(255, 255, 255));
pixels.setPixelColor(1, pixels.Color(255, 255, 255));
pixels.setPixelColor(2, pixels.Color(255, 255, 255));
pixels.setPixelColor(3, pixels.Color(255, 255, 255));
pixels.setPixelColor(4, pixels.Color(255, 255, 255));
pixels.setPixelColor(5, pixels.Color(255, 255, 255));
pixels.setPixelColor(6, pixels.Color(255, 255, 255));
pixels.setPixelColor(7, pixels.Color(255, 255, 255));
pixels.setPixelColor(8, pixels.Color(255, 255, 255));
pixels.setPixelColor(9, pixels.Color(255, 255, 255));
pixels.setPixelColor(10, pixels.Color(255, 255, 255));
pixels.setPixelColor(11, pixels.Color(255, 255, 255));
pixels.setPixelColor(12, pixels.Color(255, 255, 255));
pixels.setPixelColor(13, pixels.Color(255, 255, 255));
pixels.setPixelColor(14, pixels.Color(255, 255, 255));
pixels.setPixelColor(15, pixels.Color(255, 255, 255));
pixels.setPixelColor(16, pixels.Color(255, 255, 255));
pixels.setPixelColor(17, pixels.Color(255, 255, 255));
pixels.setPixelColor(18, pixels.Color(255, 255, 255));
pixels.setPixelColor(19, pixels.Color(255, 255, 255));
pixels.setPixelColor(20, pixels.Color(255, 255, 255));
pixels.setPixelColor(21, pixels.Color(255, 255, 255));
pixels.setPixelColor(22, pixels.Color(255, 255, 255));
pixels.setPixelColor(23, pixels.Color(255, 255, 255));
pixels.show();
}
I'm really not familiar with schematics, but to describe the circuit: One leg of the LDR to positive, other leg inline with first leg of 10K resistor and wire going back to A1 analog input, other leg of 10K resistor goes back to ground.
At one point, with this exact setup, I was getting values in the serial monitor flipping between 0 and ~110. Now I'm getting 15-17 repeatedly. Covering the LDR makes no difference. Putting a light to the LDR makes no difference. I have tried using a different LDR, same thing. Removing the LDR even makes no difference. These seem to be completely nonsense irrelevant values.
I've attached a picture of the physical circuit as well.
Please help.
Thanks,
JC