Reading multiple voltage inputs from a device

Hi, I'm in need of some general guidance regarding my below "project":

I want to:

  • Read 6 different incoming voltage values (none of them over 5V) and send the information to a Raspberry Pi. The values should be read and sent every 30 second.

I have the following equipment laying around:
1 x Arduino pro mini
2 x Arduino Nano
1 x Arduino Uno
1 x NodeMcu Lua WIFI module
1 x WIFI transceiver module, ESP8266
2 x 2.4 GHz trans. module
1 x 433 MHz rec/trans

Questions:
a) Which of the Arduino's should I use?
b) How should I monitor and send the different values? Send each separate voltage-reading every 5 second, or monitor them all at the "same time" and send them? I probably will store them in a mySQL database.
c) If using a wireless connection from the arduino to the Pi, should I use wifi or bluetooth?

p-solver:

  • Read 6 different incoming voltage values (none of them over 5V) and send the information to a Raspberry Pi. The values should be read and sent every 30 second.

Does that mean that you need 6 separate analog input pins?

Do you intend just take one reading from each voltage every 30 seconds OR do you plan to sample more frequently? If so, we need to know how frequently in order to know how much data storage is required and how much time might be taken up in sending the data to the RPi.

How do you plan to connect the Arduino to the RPi? A wired serial connection would probably be the simplest. If you are planning to use wireless then what distance is involved, and are there obstructions between the Tx and the Rx?

...R

Well, to start I would recommend the Uno because it is easier to interface with serially that the pro mini or nano. The Mini and Nano would require an FTDI232 component to serially communicate with these. The serial communication will be essential for debugging.

I have experience using the 24Ghz transceivers. They work well with the arduinos. I can't speak to the interfacing with the Rpi's.

The arduino side is fairly simple. If you choose to go with the 2.4GHz trancievers, you can use this website to get your arduino working:

NRF24L01 Arduino Setup

I used it to make a TXer and RXer for an RC boat.

Google may be needed for the raspberry pi setup, but it can be done thru the GPIO pins.

Robin2:
Does that mean that you need 6 separate analog input pins?

Do you intend just take one reading from each voltage every 30 seconds OR do you plan to sample more frequently? If so, we need to know how frequently in order to know how much data storage is required and how much time might be taken up in sending the data to the RPi.

How do you plan to connect the Arduino to the RPi? A wired serial connection would probably be the simplest. If you are planning to use wireless then what distance is involved, and are there obstructions between the Tx and the Rx?

...R

Does that mean that you need 6 separate analog input pins?
Yes, I guess so. I just made a quick test of one of the Arduino Nano's and created a code that outputs a voltage read on pin A1. So maybe I can use 6 of the 8 analog pins and read the value of the different voltages -> Store them in an array -> Send to RPI

Do you intend just take one reading from each voltage every 30 seconds...
If possible I would like to send a reading of ALL the 6 values together each 30 seconds.

How do you plan to connect the Arduino to the RPi?
I would prefer wireless since the Arduino and the RPI will be about 8 meter apart, in different rooms, with concrete walls. I do have wifi there at the moment, but could probably increase the signals by putting a Wifi spot in the basement.

Thanks for your feedback!

darrellrread:
Well, to start I would recommend the Uno because it is easier to interface with serially that the pro mini or nano. The Mini and Nano would require an FTDI232 component to serially communicate with these. The serial communication will be essential for debugging.

I have experience using the 24Ghz transceivers. They work well with the arduinos. I can't speak to the interfacing with the Rpi's.

The arduino side is fairly simple. If you choose to go with the 2.4GHz trancievers, you can use this website to get your arduino working:

NRF24L01 Arduino Setup

I used it to make a TXer and RXer for an RC boat.

Google may be needed for the raspberry pi setup, but it can be done thru the GPIO pins.

Ok, I'll get started with the UNO, and also take a look at the url you reffered to!

Thanks!

p-solver:
Do you intend just take one reading from each voltage every 30 seconds...
If possible I would like to send a reading of ALL the 6 values together each 30 seconds.

Sorry for not being clear. That is one of the options I had in mind. The other was that you might take many readings from all 6 inputs during the 30 second interval and save them until it was time to send them. If you only need to make the readings once every 30 seconds then the system can be very simple.

How do you plan to connect the Arduino to the RPi?
I would prefer wireless since the Arduino and the RPI will be about 8 meter apart, in different rooms, with concrete walls. I do have wifi there at the moment, but could probably increase the signals by putting a Wifi spot in the basement.
[/quote]
It's not clear from that if you already have WiFi on the RPi. If you have then connecting an ESP8266 Wifi module to your Uno would be appropriate. I don't think any of the ESP8266 (or ESP32) modules has as many as 6 analog inputs.

If you don't already have WiFi on the RPi and if you are not already familiar with web programming then you may find the nRF24L01+ modules easier to work with.

Another option, which would be better at penetrating concrete walls, would be the lower frequency 433MHz HC12 modules. I assume they can work with an RPi but I don't know. They operate like a serial connection which makes the programming easy.

...R
Simple nRF24L01+ Tutorial