Arduino LED Blink Rate Control With LDR

Advertisement

Just Like We Can Vary The Rate of Blink With Heart Rate Sensor, We Can Control The Rate of Blink of LED Depending Upon How Much The Light is Present. That is Exactly What Arduino LED Blink Rate Control With LDR Will Show With Sample Code. We we connect LDR with Arduino, on Arduino IDE’s serial monitor we can get a value on dark and highest light. That exactly the thing we use for more easy project like How To Turn On LED in Dark With LDR and Arduino. In those cases, we simply code for a given value as lowest and another value as hugest. Trick with these kind of LDR based things is to first note down own LDR’s values from Arduino IDE’s serial monitor. Each LDR may give different ranges.

Just one think is obvious from the above matter – we can not use an universal code/sketch as the values of LDR as well as response rate may vary from your’s to our’s.

Arduino LED Blink Rate Control With LDR

Circuit is easy, just like our previous guides on LDR and LED :

Advertisement

---

We can use state change detection and hysteresis for counting pulses in an analog signal. Sample code will go like this :

Vim

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

const int lowerThreshold=150;

const int upperThreshold=200;

const uint8_t analogPin=A0;

const uint8_t ledPin=LED_BUILTIN;

void setup(){

Serial.begin(115200);

pinMode(ledPin,OUTPUT);

}

void loop(){

static bool state=LOW;

static unsigned int counter=0;

int analogValue=analogRead(analogPin);

if(state==HIGH){

if(analogValue<lowerThreshold){

state=LOW;

counter++;

Serial.println(counter);

digitalWrite(ledPin,LOW);

}

}else{//state==LOW

if(analogValue>upperThreshold){

state=HIGH;

digitalWrite(ledPin,HIGH);

}

}

}

LED_BUILTIN is Pin 13 in case of Arduino UNO. You can use a different Pin Number. Notice these two lines :

Vim

1

2

const int lowerThreshold=150;

const int upperThreshold=200;

We need to observe the values on Arduino IDE and adjust the values. We have set the Arduino IDE’s serial baud rate at 115200 :

Vim

1

Serial.begin(115200);

Make sure that you are using same value on your Arduino IDE from drop down options.

Here is Basic Details on Breadboard Fuse Holder and Fuse For Arduino Projects. It Prudent to Use Fuse When Basic Matter Around Fuse is Known. Without Knowing Using Fuse Provides False Sense of Security.