Automatic IOT-Powered Class Bell
In my robotics class, around the second month of school the intercom system across the school went down, and as a result teachers had to use timers on their phones to know when each class should end. My robotics teacher used this opportunity to assign me this project of using an Argon IOT board to serve as the room's intercom system in indicating the end of each class.
The setup for this project was a Particle Argon, that was connected to a 3v relay. That relay controlled a 12v circuit between a rechargeable battery and a lightbulb.
Despite the wiring aspect of the project being simple to create and test, the program was more challenging. In its final form, the program would, each morning, start the control-function that would, every minute, check to see if the current time matched any times that the clock would need to activate. Making this more intricate, the school had a modified bell schedule every Wednesday, and the program would need to either blink or hold the light on depending on if it was a 10-minute-warning or an end of class event. So, to accomplish both of these the control function would run check either the 'normal day' or 'Wednesday' function, which would return that: no action was needed, it was time for a 10-minute warning, or it was the end of class. The control function would then send this data to the 'lights runner' function, that would operate the relay accordingly.
Near the end of the program there were also extra functions, like the calibration function that would recalibrate the onboard clock once a week.