Smart Buoy [ GPS, Radio (NRF24) and a SD Card Module ]

This Smart Buoy series charts our (ambitious) attempt to build a scientific buoy that can take meaningful measurements about the sea using off-the-shelf products. This is tutorial two of four — make sure you’re up to date, and if you need a swift introduction to the project.

In this tutorial, we show show you how to get GPS data, store it on an SD card and send it somewhere using radio.

We did this so we could keep track of the location of our seaborne Buoy. The radio means that we can watch it remotely and the SD card means that on the off chance something breaks and it goes for a wander, we can download the data it collected during its unplanned excursion — if we’re ever able to retrieve it!

The smart buoy makes sensor measurements as it sits in the sea, including GPS location and datetime. Take a look at the schematic which shows how we set up the circuit. The GPS module communicates via serial connection, so we’re using the Arduino software serial library as well as the tiny GPS library to communicate with it. These libraries make everything super simple. Let’s take you through the code…

Suppose the buoy is in sea taking measurements, but we want to see the data without getting our feet wet or bringing the buoy ashore. To get the measurements remotely, we’re using a radio module connected to an Arduino on both sides of the communication. In future, we will replace the receiver-side Arduino with a raspberry pi. The radio works similarly with both these interfaces so swapping them over is pretty straightforward.

The radio module communicates using SPI, which requires a few more connections than I2C but is still really easy to use because of the NRF24 library. Using the GPS module for the sensor measurements, we transmit its data from one Arduino to the other. We’re going to connect up the GPS and radio module to the Arduino and on the other side an Arduino with the radio module – have a look at the schematic.

Transmitter

Receiver

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir