Hardware components | ||||||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
Software apps and online services | ||||||
![]() |
| |||||
Generally, my room situated in a closed place becomes so dark when lights off, so one that day I just watched a horror movie which scared me a lot and I decided I should have a night lamp! But, I hate switching it on while sleeping so I want it to be automated. I also got crazy things in mind that it couldn't be a replaced for everything that I have to use when I need! So, I added all of these in it along with a controller which I can control sitting on my bed itself!
About the ProjectI used an LDR (light dependent resistor) for switching on/off using my room's intensity. For the disco system, I used an RGB LED (or you can use any 3 different colored LEDs).
And to control them or to change the mode required, I used an IR remote. We can also use a smartphone for controlling with voice or with an app too. I will be describing these later on.
How It WorksWhen the light is off, the LDR regains its original resistance which results in the decrease in voltage at input pin, so the night lamp glows. We can still can change its mode to party mode, study mode, and dreamy mode—these modes are prefixed in an IR remote which we can change through it.
SMART-NIGHT LAMP with modes controlled with ir-remote
Arduino#include<IRremote.h>
#define first_key 0xFF22DD
#define red_key 0xFFA25D
#define third_key 0xFFE01F
#define fourth_key 0xFF906F
int receiver_pin = 8;
int green = 9;
int red = 10;
int white = 11;
int light = 12;
IRrecv receiver(receiver_pin);
decode_results output;
void setup()
{
Serial.begin(9600);
receiver.enableIRIn();
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
pinMode(white, OUTPUT);
pinMode(light, OUTPUT);
pinMode(A0,OUTPUT);
pinMode(A5,INPUT);
}
void loop() {
digitalWrite(A0,1023);
Serial.println(analogRead(A5));
digitalWrite(light,LOW);
if(analogRead(A5)<1019)
{
digitalWrite(light,HIGH);
}
else
{
digitalWrite(light,LOW);
}
if (receiver.decode(&output)) {
unsigned int value = output.value;
digitalWrite(red,LOW);
digitalWrite(green,LOW);
digitalWrite(white,LOW);
digitalWrite(light,LOW);
if(output.value==first_key) {
digitalWrite(green,HIGH);
delay(200);
}
if(output.value==red_key)
{
digitalWrite(red, HIGH);
delay(200);
}
if(output.value==third_key) {
digitalWrite(white, HIGH);
delay(200);
}
if(output.value==fourth_key) {
digitalWrite(red, HIGH);
delay(500);
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay(500);
digitalWrite(green, LOW);
delay(500);
digitalWrite(white, HIGH);
delay(500);
digitalWrite(white, LOW);
delay(500);
digitalWrite(red, HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(1000);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(100);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(100);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
}
Serial.println(output.value);
receiver.resume();
if(output.value==0xFFE21D)
{
digitalWrite(red,LOW);
}
if(output.value==0xFFC23D)
{
digitalWrite(green,LOW);
}
if(output.value==0xFFA857)
{
digitalWrite(white,LOW);
}
}
}
#include<IRremote.h>
#define first_key 0xFF22DD
#define red_key 0xFFA25D
#define third_key 0xFFE01F
#define fourth_key 0xFF906F
int receiver_pin = 8;
int green = 9;
int red = 10;
int white = 11;
int light = 12;
IRrecv receiver(receiver_pin);
decode_results output;
void setup()
{
Serial.begin(9600);
receiver.enableIRIn();
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
pinMode(white, OUTPUT);
pinMode(light, OUTPUT);
pinMode(A0,OUTPUT);
pinMode(A5,INPUT);
}
void loop() {
digitalWrite(A0,1023);
Serial.println(analogRead(A5));
digitalWrite(light,LOW);
if(analogRead(A5)<1019)
{
digitalWrite(light,HIGH);
}
else
{
digitalWrite(light,LOW);
}
if (receiver.decode(&output)) {
unsigned int value = output.value;
digitalWrite(red,LOW);
digitalWrite(green,LOW);
digitalWrite(white,LOW);
digitalWrite(light,LOW);
if(output.value==first_key) {
digitalWrite(green,HIGH);
delay(200);
}
if(output.value==red_key)
{
digitalWrite(red, HIGH);
delay(200);
}
if(output.value==third_key) {
digitalWrite(white, HIGH);
delay(200);
}
if(output.value==fourth_key) {
digitalWrite(red, HIGH);
delay(500);
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay(500);
digitalWrite(green, LOW);
delay(500);
digitalWrite(white, HIGH);
delay(500);
digitalWrite(white, LOW);
delay(500);
digitalWrite(red, HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(1000);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(100);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(100);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
delay(100);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(white, LOW);
delay(200);
digitalWrite(red,HIGH);
digitalWrite(green, HIGH);
digitalWrite(white, HIGH);
delay(200);
}
Serial.println(output.value);
receiver.resume();
if(output.value==0xFFE21D)
{
digitalWrite(red,LOW);
}
if(output.value==0xFFC23D)
{
digitalWrite(green,LOW);
}
if(output.value==0xFFA857)
{
digitalWrite(white,LOW);
}
}
}



_ztBMuBhMHo.jpg?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)






Comments