top of page
Writer's pictureSanskruti Ashtikar

How to Create a Light Intensity Sensor in TinkerCAD

Updated: Oct 24

Light intensity sensors are essential components in various applications, such as automatic lighting systems, photography, and environmental monitoring. These sensors detect the amount of light in the environment and provide data that can be used to adjust lighting or trigger other responses. In this project, we’ll guide you through creating a simple light intensity sensor using TinkerCAD. This project is ideal for learning about analog sensors, microcontroller inputs, and basic data visualization using LEDs.



Components Required for Light Intensity Sensor using TinkerCAD


To build this project in TinkerCAD, you’ll need the following components:



Building the Light Intensity Sensor Project


Step 1: Setting Up the Breadboard and Arduino


  1. Open TinkerCAD: Log in to your TinkerCAD account and navigate to the "Circuits" section.

  2. Create a New Circuit: Click "Create new Circuit" to open the workspace where you’ll build the light intensity sensor.

  3. Place the Breadboard and Arduino: Drag a small breadboard and an Arduino Uno R3 onto the workspace. Position them next to each other for easy wiring.


Step 2: Connecting the Photoresistor (LDR)


  1. Place the LDR: Drag a photoresistor onto the breadboard. A photoresistor changes its resistance based on the amount of light it receives, with resistance decreasing as light intensity increases.

  2. Create a Voltage Divider: Connect one terminal of the LDR to the 5V rail on the breadboard. Connect the other terminal to both an empty row on the breadboard and one end of a 10k-ohm resistor.

  3. Connect the Resistor: Connect the other end of the 10k-ohm resistor to the ground (GND) rail. The point between the LDR and the resistor forms a voltage divider, which is connected to the analog input pin A0 on the Arduino.

  4. Analog Output Connection: Use a jumper wire to connect the row between the LDR and the resistor to the analog input pin A0 on the Arduino.


Step 3: Connecting the LEDs for Visual Indication


  1. Place the LEDs: Place three LEDs on the breadboard, representing different light intensity levels (low, medium, high). Connect the longer leg (anode) of each LED to an empty row, and the shorter leg (cathode) to the ground rail.

  2. Add Resistors: Connect a 220-ohm resistor in series with each LED’s anode. Connect the other end of each resistor to digital pins 8, 9, and 10 on the Arduino, respectively.

  3. Connect Ground: Use a jumper wire to connect the ground (GND) rail of the breadboard to one of the GND pins on the Arduino.



Step 4: Writing the Code


  1. Open the Code Editor: Click on the "Code" button at the top right of the TinkerCAD interface to open the code editor.

  2. Choose Text-Based Coding: Switch to "Text" mode to write code in Arduino’s C/C++ language.

  3. Write the Code:

int sensorPin = A0;   // LDR sensor connected to A0

int ledPin1 = 8;      // LED 1 connected to pin 8 (low level)

int ledPin2 = 9;      // LED 2 connected to pin 9 (medium level)

int ledPin3 = 10;     // LED 3 connected to pin 10 (high level)

int sensorValue = 0;  // Variable to store sensor value

void setup() {

  pinMode(ledPin1, OUTPUT); // Set LED pins as outputs

  pinMode(ledPin2, OUTPUT);

  pinMode(ledPin3, OUTPUT);

  Serial.begin(9600);       // Start serial communication for debugging

}

void loop() {

  sensorValue = analogRead(sensorPin); // Read the LDR sensor value

  // Print the sensor value to the Serial Monitor

  Serial.print("Light Intensity: ");

  Serial.println(sensorValue);

  // Turn on LEDs based on light intensity

  if (sensorValue < 200) {

    digitalWrite(ledPin1, HIGH); // Low light level

    digitalWrite(ledPin2, LOW);

    digitalWrite(ledPin3, LOW);

  } else if (sensorValue < 500) {

    digitalWrite(ledPin1, HIGH);

    digitalWrite(ledPin2, HIGH); // Medium light level

    digitalWrite(ledPin3, LOW);

  } else {

    digitalWrite(ledPin1, HIGH);

    digitalWrite(ledPin2, HIGH);

    digitalWrite(ledPin3, HIGH); // High light level

  }

  delay(100); // Short delay before next reading

}

This code reads the light intensity from the photoresistor and lights up different LEDs based on the amount of light detected. The sensor value is also printed to the Serial Monitor for real-time monitoring.



Step 5: Simulating the Circuit


  1. Start Simulation: Click on the "Start Simulation" button to test your light intensity sensor. In the Serial Monitor, you can see the real-time light intensity levels. As the light changes, different combinations of LEDs will light up to indicate low, medium, or high light levels.

  2. Testing Light Levels: You can simulate different light levels by adjusting the light in your environment or manually adjusting the sensor value in the Serial Monitor to see how the LEDs respond.


Step 6: Interpreting the Results


  • Light Intensity Levels: The sensor value ranges from 0 to 1023, with higher values indicating more light.

  • LED Indication: The LEDs provide a visual representation of the light intensity. You can adjust the thresholds in the code to change how sensitive the system is to different light levels.


Troubleshooting Tips


  • LEDs Not Lighting Up? Double-check your wiring, especially the connections to the Arduino pins and the ground rail. Ensure the LEDs are correctly oriented, with the longer leg connected to the positive side.

  • Incorrect Sensor Readings? Verify the connections to the photoresistor and ensure that the analog pin is correctly reading the sensor’s output. Adjust the thresholds in the code if needed.

  • Simulation Issues? Ensure all components are placed correctly in TinkerCAD and that there are no loose or incorrect connections.



Conclusion


Congratulations! You’ve successfully built a simple light intensity sensor using TinkerCAD. This project introduces you to key concepts such as using analog sensors to measure environmental data, processing sensor data with a microcontroller, and displaying results using LEDs. These principles are foundational for creating more advanced projects, such as automatic lighting systems, smart home solutions, and environmental monitoring tools.

TinkerCAD’s user-friendly interface allows you to experiment with different components and configurations, making it a valuable tool for both learning and prototyping.


With this basic setup, you can expand your project by adding more LEDs for finer light level granularity, integrating a display for numerical light intensity readings, or even connecting the system to a cloud platform for remote monitoring.


Happy tinkering!


Order Electronics Projects


Want us to guide you through your project or make the project for you? Click on the button below or reach out to us via Call/WhatsApp at (+91) - 7600948607


You can -


  • Order Basic Electronics Projects

  • Order Embedded Systems Projects

  • Order IoT Projects

  • Order FPGA Projects

  • Order VLSI Projects

  • Order Image Processing Projects

  • Order Matlab Projects

  • Order TinkerCAD Projects

  • Order Proteus Projects


Click on the button below to fill out the project inquiry form -





Create Various Projects

Check out our Free Arduino Projects Playlist - Arduino Projects 

Check out our Free Raspberry Pi Projects Playlist - Raspberry Pi Projects 

Check out our Free TinkerCAD Projects Playlist - TinkerCAD Projects 

Check out our Free IoT Projects Playlist - IoT Projects 

Check out our Free Home Automation Projects Playlist - Home Automation Projects 

Check out our Free NodeMCu Projects Playlist - NodeMCu Projects 


Follow us -


Please do follow us i.e. #learnelectronicsindia to get daily updates about new blogs, videos, courses, products, offers, competitions, quizzes, and Internship Opportunities.






66 views0 comments

Related Posts

See All

Comments


bottom of page