• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here:Home » Arduino : Turn On Particular Color LED Depending On Light/LDR

By Abhishek Ghosh September 12, 2018 2:26 pm Updated on September 12, 2018

Arduino : Turn On Particular Color LED Depending On Light/LDR

Advertisement

We have lot of getting started guide with LDR. How To Turn On LED in Dark With LDR and Arduino is the basic behind all of them. We can perform the same work using transistor – Turn On LED On Dark With Transistor. As the value of LDR will be variable depending on batch, you need to run the basic Turn On LED in Dark guide to note the values on serial monitor in various lighting situations like inside room, at dark and sunlight etc. With Arduino We an Turn On Particular Color LED Depending On Light/LDR With Simple Circuit and Easy Code. The basic logic is based on Control Multiple LED Depending on the Level of Light or with just this code when LDR is connected –

test.ino
Vim
1
2
3
4
5
6
7
8
9
int LDR_Pin = A0;
void setup(){
Serial.begin(9600);
}
void loop(){
int LDRReading = analogRead(LDR_Pin);
Serial.println(LDRReading);
delay(250);
}

 

Code and Connection To Turn On Particular Color LED Depending On Light

 

We will use 4 LDR in this project. We need the following parts :

  1. Arduino UNO or similar board – ONE
  2. LDR – ONE
  3. 10K Ohm resistor – ONE
  4. LED – THREE (One RED, One Green, One Yellow)
  5. 220 Ohm resistors for LEDs – THREE
  6. Breadboard – ONE
  7. Jumpers – Few

This will be the circuit diagram (better to say connection) :

Advertisement

---

Arduino Turn On Particular Color LED Depending On Light LDR

We can write the logic in various ways, like –

example1.ino
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
31
32
33
34
35
36
37
38
int sensorPin = A0;
int ledPin1 = 11; //red LED
int ledPin2 = 10; //yellow LED
int ledPin3 = 9; //green LED
int sensorValue = 0; //minimum value from the sensor
 
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
 
void loop() {
 
sensorValue = analogRead(sensorPin);
 
if (sensorValue <= 10) {
// turn the ledPin on
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
delay(100);
}
 
if  (sensorValue < 600 && sensorValue > 10) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
delay(200);
}
 
if (sensorValue >= 750) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(400);
}
}

The values like that of 600, 750 are based on reading on serial monitor with my LDR. Your LDR likely to give different values and you may need to change it.

You can blink a particular colored LED with minimal modification in coding, like if you want to blink the red LED on dark and others to give stable light then you can write –

example2.ino
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
int sensorPin = A0;
int ledPin1 = 11; //red LED
int ledPin2 = 10; //yellow LED
int ledPin3 = 9; //green LED
int sensorValue = 0; //minimum value from the sensor
 
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
 
void loop() {
 
sensorValue = analogRead(sensorPin);
 
if (sensorValue <= 10) {
// turn on ledPin1
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
delay(100);
// turn off ledPin1
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
// effect will be like blinking
delay(100);
}
 
if  (sensorValue < 600 && sensorValue > 10) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
delay(200);
}
 
if (sensorValue >= 750) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(400);
}
}

Tagged With multi blinking led in arduino , arduino ldr controller red yellow and green , led amarillo arduino , ldr light level and colours , ldr circuit using breadboard arduino and led , how to turn on LED a color arduino , coding an arduino board to turn an LED a color if a condition has passed , change led value based on sensor arduino , arduino make led change depending on value , turn on light on particular arduino
Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to Arduino : Turn On Particular Color LED Depending On Light/LDR

  • Arduino and LED Bar Display : Circuit Diagram, Code

    Here is a Guide Explaining the Basics, Circuit Diagram, Code on Arduino and LED Bar Display. LED Bar Display is Actually Like Multiple LED.

  • Control Multiple LED Depending on the Level of Light With Arduino

    We will show how to control multiple LED depending on the level of light With Arduino. With increasing darkness higher number of LED will light up.

  • How to Control Multiple Relays With Single Arduino ESP32?

    Before How to Control Multiple Relays With Single Arduino ESP32 Testing, You Need to Learn How to Create Multiple MQTT Channels & Fetch Data.

  • Arduino LDR/Photoresistor and LED Based Light Meter

    Exactly Like Basic Sound Meter With Microphone, We Can Build Arduino LDR/Photoresistor and LED Based Light Meter. Here is circuit & code.

performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • Market Segmentation in BriefSeptember 20, 2023
  • What is Booting?September 18, 2023
  • What is ncurses?September 16, 2023
  • What is JTAG in Electronics?September 15, 2023
  • iPhone 15 Pro Max Vs Samsung Galaxy S22/S23 UltraSeptember 14, 2023
PC users can consult Corrine Chorney for Security.

Want to know more about us?

Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy