this is my tutorial on how to make an escape room it can also be repurposed for home automation of basically any kind. its the code I think that separates this tutorial from the tons of automation and sensor Instructables
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: A Little Back Story
so originally this escape room was designed and built by a team of Russian engineers who didn't finish. I was supposed to just finish what was incomplete but the whole set up required a computer that was running a poorly coded software that it crashed all the time and basically didn't work. with no source code or info on the hardware, I decided to rebuild the control hardware with something I'm familiar with Arduino and recode the whole thing from scratch.
in my limited experience with escape room, they come in many different forms this Instructables will focus on one type where everything is controlled from a central location. this by no means is the best or only way to make an escape room there are benefits and drawbacks to this type of set up so depending on your theme this may be the best or worst way to do this. this is also a good way to make a home automation project where you have tons of sensors working together. I won't get into the artistic or specifics due to the fact that this is an operating escape room and I don't want to spoil anything.
Step 2: Parts You Will Need
so in my setup I'm using a few core parts for the control unit then I won't go through too much on each of the things it communicates with. this is where your personal escape room design comes in., if you have any question on this aspect please feel free to comment below and I can at least put you in the correct direction .
1). 8 channel relay https://www.amazon.com/JBtek%C2%AE-Channel-Female-...
2) 16 channel relay https://www.amazon.com/SainSmart-101-70-103-16-Cha...
3) Arduino mega https://www.amazon.com/ARDUINO-A000067-ATMEGA2560-...
4) 12 channel remote relay https://www.amazon.com/12-Channel-Wireless-Remote-...
5); Bluetooth https://www.amazon.com/Wireless-Bluetooth-Serial-T...
6) df player mini https://www.amazon.com/Industry-Park-Player-Module...
7) one channel relay https://www.amazon.com/INSMA-Wireless-Momentary-Tr...
8) 12-volt power supply https://www.amazon.com/eTopxizu-Universal-Regulate...
Step 3: Getting Started
so in this setup, we have the mega connected to the 8 and 16 channel relays each relay is connected with a 12-volt logic low communication . the df player mini is wired almost exactly the same as the picture except I take advantage of the extra serial ports of the mega and I use the busy pin to ensure music is playing continuously throughout the quest. then I have a Bluetooth so that you can communicate either with a phone or computer device.
I am using a 12-volt power supply which is optional if you plan to use a 5-volt system 3 volts or even higher than 12. I think 12 is good because most things like door magnets run on 12 and it's easier to step down 12 then boost up 12. you and always use a computer power supply which will have 12 ,5 ,and 3 volts covering all possibilities
Step 4: Inputs and Outputs
so as I say in electronics there is more than one way to skin a cat so I could probably do a whole post just on the input devices and output devices and maybe I will but for now ill just give a basic rundown of what you need to do. each input and output were originally hardwired directly to the control unit although however, I have been designing ways to wireless communicate with control hardware. once again there's a ton of ways to do this one is to use a one channel relay open up the remote and have your input device activate a relay connected to the Arduino . otherwise, most things are connected directly to Arduino with a relay or just a simple logic low set up
Step 5: Code
so here is where the meat and potatoes are in my opinion. most of this tutorial is covered in tons of other tutorial but the code is what I feel sets this tutorial apart . so my code incorporates a few different libraries and I can admit I'm not the best coder in the world and this can be spruced up a bit I welcome anyone who wants to re-post updated code as well . I added a ton of cool features for both setting up testing and running the code in a nice user-friendly setup
1) count up and down library https://github.com/AndrewMascolo/CountUpDownTimer
2)df player library https://github.com/Arduinolibrary/DFRobot_Mini_Pla...
that's kinda it.
so either download all of the info file put them in a folder or just unzip the zip version folder included
Step 6: Going Little Further
so for me, I think the next few steps are adding things like voice command using things like bit voicer and making a wireless network with nrf24l01