Nick Udell
Published © GPL3+

Lane Tech HS - PCL - Lamp And Radio Alarm

This project was part of the Lane Tech HS Physical Computing Lab course. I created this project as part of the Home Automation/IoT project.

IntermediateFull instructions provided6 hours227
Lane Tech HS - PCL - Lamp And Radio Alarm

Things used in this project

Hardware components

Photon
Particle Photon
×1
Relay (generic)
×2
extension cord
×1
extension cord
×1
Adafruit Bakelite Universal Perfboard Plate
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Adafruit 36-pin 0.1" Female header
×1
Micro-USB to USB Cable (Generic)
Micro-USB to USB Cable (Generic)
×1
Wall Power Adaptor 1 Amp
×1

Software apps and online services

Maker service
IFTTT Maker service

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Cordless Drill

Story

Read more

Schematics

Wiring

20180311 225616 jle8u9jgm2

Code

Lamp/Radio Alarm

C/C++
int relay1 = D0;
int relay2 = D2;
int btn = D4;
bool lamp = false;
bool radio = false;
bool awake = false;

void setup() {
    pinMode(relay1, OUTPUT);
    pinMode(relay2, OUTPUT);
    pinMode(btn, INPUT_PULLUP);
    Particle.subscribe("time_to_turn_on_lamp", myLamp);
    Particle.subscribe("time_to_turn_on_radio", myRadio);
    Particle.subscribe("lamp_and_radio_reset", myReset);
}

void loop() 
{
    int btnState = digitalRead(btn);
    if(btnState == LOW )
    {
        lamp = false;
        radio = false;
    }
    if(lamp == true)
    {
        digitalWrite(relay1, HIGH);
    }
    else
    {
        digitalWrite(relay1, LOW);
    }
    if(radio == true)
    {
        digitalWrite(relay2, HIGH);
    }
    else
    {
        digitalWrite(relay2, LOW);
    }
    
}
void myLamp(const char *event, const char *data)
{
    lamp = true;
}
void myRadio(const char *event, const char *data)
{
    radio = true;
}
void myReset(const char *event, const char *data)
{
    radio = false;
    lamp = false;
}

Credits

Nick Udell

Nick Udell

2 projects • 1 follower
Student, maker, roboticist, aspiring engineer
Contact

Comments