Monitoring Multiple Remote Sensors Using Arduino and Nrf24l01 Transceivers
by cw1000 in Circuits > Sensors
2267 Views, 3 Favorites, 0 Comments
Monitoring Multiple Remote Sensors Using Arduino and Nrf24l01 Transceivers
![MultiRemoteMonitor](/proxy/?url=https://content.instructables.com/F54/TXJK/J7UR5OTB/F54TXJKJ7UR5OTB.jpg&filename=MultiRemoteMonitor)
![InstructableLayout.jpg](/proxy/?url=https://content.instructables.com/FN2/8MBC/J80GOD2Q/FN28MBCJ80GOD2Q.jpg&filename=InstructableLayout.jpg)
Please watch the short video to get an Idea of what the project is about.
To complete this Instructable the reader should have a good understanding of using the Arduino IDE. Especially the installing of Libraries. A basic knowledge of electronic is helpful.
I used the Arduino Mega and Sparkfun thing dev boards because that Is what I had to make my prototype. If I were going to build this for actual use I would use less expensive Arduino and wifi options. I would also use parts that were voltage compatible.
Information for Nrf24L01 hardware and Software is built upon information provide in this instructable Multiceiver. and this wiki Nrf24L01 Wiki.
The Remote Unit and Remote Software
![RemoteUnit .jpg](/proxy/?url=https://content.instructables.com/F56/59BD/J7UR1BD0/F5659BDJ7UR1BD0.jpg&filename=RemoteUnit .jpg)
Please see Remote-Unit.pdf for a schematic with more resolution.
The remote unit has a fail input line which is active Low. This line also has a push button connected between it and ground. If this line goes low a status flag is set and will remain set until a reset is received from the Master unit over the RF24 network. I have two remotes in my demo. Both units use the same code. Whether the unit is 1 or 2 is determined by the setting of s1 and s2. It is not really necessary to use switches. The inputs could be grounded or left open just as well. The pins internal pull up will make any unconnected pin a logic 1.
If you require an active High input I would recommend using a different input than the one the push button is connected to and add additional code to handle it.
The Master Unit and Master Software
![MasterUnit.jpg](/proxy/?url=https://content.instructables.com/FN7/KNFE/J7UR1BC0/FN7KNFEJ7UR1BC0.jpg&filename=MasterUnit.jpg)
Please see Master-Unit.pdf for a schematic with more resolution.
The monitor unit sends sequential status request to each remote in turn. It waits for a response for a time. If no reply is received a time out error occurs and software will just resend at next iteration. The response will be either a Pass or Fail. If a fail is received then the status led for the failing remote is set. If the user presses the reset button a reset command is sent to the remote. I have kept the software as simple as possible. I would recommend adding code to count the number of communications fails that have occurred. If the number of fails reaches a certain max count without any passes I would notify the user with another gmail message. If a pass occurs before the max count then reset the counter.
The Blynk App and And Software
![Blynk_Gmail_Unit.jpg](/proxy/?url=https://content.instructables.com/FB8/QZTF/J7UR1BFR/FB8QZTFJ7UR1BFR.jpg&filename=Blynk_Gmail_Unit.jpg)
Please see Blynk_Gmail-Unit.pdf for a schematic with more resolution.
Information on the Hardware and Software for the Blynk can be found here Blynk Info.
Information on using Gmail Sender can be found at this instructable Gmail Sender.
The two fails line that drive the Leds on the Master also go to both of the Sparkfun ESP8266 boards. If a line goes Low the Blynk ESP8266 will send updated info to the Blynk App running on your I-phone or Android device. This same line going to the Gmail Sender ESP8266 will cause a text message to be sent to your I-phone or Android device. Once a fail message has been sent it will not be resent until a reset is received from the Blynk app.