Control Servo Using LDR With NodeMCU
by CodeChamp in Circuits > Sensors
9288 Views, 46 Favorites, 0 Comments
Control Servo Using LDR With NodeMCU
Well Guys!!
I'm back with another cool instructable, in this Instructable you will Control Servo by varying the intensity of light incident to the LDR.
Generally, LDR is a Light Dependent Resistor, whose resistance changes depending upon the intensity of the light incident on it.
Things You Need to Collect
List of parts required for this instructable :
Hardware Required
- NodeMCU
- LDR / photoresistor
- 10k ohm resistor
- Servo Motor
- Breadboard
- Micro USB cable
- Connecting Wires
Software Required
- Arduino IDE (with ESP8266 Library installed)
Circuit Connection
Connection of LDR
Output is analog in nature, so it gets connected to the A0 pin of the NodeMCU.
Connection to Servo
Orange wire connects to Digital pin D4.
Brown wire connects to GND pin.
Red wire connects to 3v3 Pin.
Connections are quite simple right, just wire your prototype up like the schematic.
To know how LDR works with simple code you can check out my previous Instructable.
Code Is Right Here
#include <Servo.h>
Servo servo;
const int ldrPin = A0;
void setup() {Serial.begin(9600);
pinMode(ldrPin, INPUT);
servo.attach(2); //D4 servo.write(0);
delay(2000);
}
void loop() {
int ldrStatus = analogRead(ldrPin);
if (ldrStatus <=300) {
servo.write(0);
delay(1000); Serial.println("Servo Closed");
}
else {
servo.write(90);
delay(1000);
Serial.println("Servo Opened");
}
}
Download the "LDR_3.ino" file and open it up in the Arduino IDE.
Then Create a new sketch and paste the code below in the Arduino IDE and hit Upload. You can tinker with it if you like based on the application, or just use it as it is.
Downloads
Output
That's all makers!
It takes less time to create this instructable, and its fun too.
Thank you for taking your time to read my instructable. I hope you enjoy it as I enjoy making it and documenting it to show and tell to other fellow makers here.
CIAO!! with another interesting Instructables!