In this project, an MKR 1400 is used to control 3 DHT 22 sensors and communicate the result with the cell phone number that is entered in the code (I will show where). Temperature is the only data that is retrieved from DHT 22, but it is interesting to note that humidity could also be retrieved.
This instructable is work that has been done working towards the development of a grain bin temperature monitoring system. Most of the work has been completed by me and @acrobatbird (GitHub name). The main GitHub of the project is https://github.com/PhysicsUofRAUI/binTempSensor and when it is completed I will make a separate GitHub for it.
- 3 DHT 22 sensors (for the larger project three is needed)
- 3 10K resistors
- One Arduino MKR 1400
- Variety of Jumper Wires
- Any supplier should have some
- A sim card
- I would reccommend whatever is the cheapest prepaid card in your area. Mine was SaskTel but unless you live in Saskatchewan, Canada it is not a good choice.
- Lithium Polymer Battery (and charger if needed)
- Arduino Antenna
I have given places to buy most of the parts used online, but I would recommend to shop at you local hobby electronics store first. It is not just to support local businesses, but also because it is convenient to have them when you need a part ASAP and don't want to wait for shipping.
Step 1: Wire the Arduino
In my particular case I placed the Arduino MKR 1400 on a bread board, mine has headers, and then attached the ground to the negative line of the breadboard and the 5 V to the positive part.
Step 2: Wire the DHT 22 Sensors
Each of the sensor must be wired to the ground, 5 V pin, and a data pin. A 10 K resistor should be connected to the 5 V pin of Arduino as well to act as a pull up. I wired the sensors to pins 4, 5, and 6. If you want to wire them to different pins you will have to change the code.
Adafruit has a nice article going in depth of how to wire these up at this link: https://learn.adafruit.com/dht/connecting-to-a-dht...
Step 3: Connect the Antenna
The antenna must be connected to the Arduino MKR 1400 to ensure a reasonable connection.
Step 4: Upload the Code
Now the code will be uploaded to the Arduino. I have included the code in a zip file attached, and it should open and compile fine in the Arduino editor as long as the needed libraries are installed. The needed libraries are MKRGSM, DHT.h, DHT_U.h, and Adafruit_Sensor.h. If these libraries are not installed on your computer you'll have to add them following steps similar to this https://www.arduino.cc/en/Guide/Libraries .
Using Arduino LowPower may increase the amount of time the project runs, but I am currently running tests to get it to work. There is code for it on the GitHub of the project.
Step 5: Attach the Battery
The battery now can be attached. The battery used here is only 1000mAh but a larger one can be used as long as it is 3.7 V.
Step 6: The Project Is Done! But Can It Be Improved?
Yah we have a remote temperature sensor that sends you the temperature every 12 hours, but it only does it for less than 24 hours. Wait that is not very useful. Here is what is being worked on and considered to make the project more useful.
- A larger battery
- a fairly obvious suggestion, but it will only so much as batteries get quite expensive as they increase in capacity
- Arduino Low Power
- This is a good low cost alternative to increase battery life as it is just a change in software, but the gains are not expected to be substantial
- A solar panel
- This is what is being worked on now to make the system operate indefinitely without human intervention
- It will likely combine some of the two above to ensure the battery can run during the night and through substantially cloudy months.
Any other suggestions are certainly welcome. Thanks for reading!
This is an entry in the