How to take multiple readings from 11 sensors

Hello.

I need to use the Mini Maestro in my project as a Voltage/Current/Temperature measurement station controlled by a C# application.
In my project the maestro is always connected to a PC and it needs to constantly take measurements from multiple sensors with 1 second interval:

4 temperature/Humidity sensors:
temperature/Humidity sensor

3 waterproof Temperature sensors:
waterproof Temperature sensor

2 voltage sensors:
voltage sensor

2 current sensors:
current sensor

Before I got into the code, I was trying to play with the Maestro control center to see if I can get some readings out from the sensors but looks like I am doing something wrong, I set all the channels as input and configured the serial connection as USB dual port but values are not clear and I am a bit lost here… I am also not sure about the VIN jumper as I don’t control any servos but some modules require extra power as they turn red only when I connect external 5v battery.

Can someone please help me out here?

Thanks,
Eran

Hello.

I suggest starting with a single sensor and making sure you can get each one working separately before combining all of them in one system. Please note that channels 0-11 on the Mini Maestro controllers act as analog inputs when configured in “Input” mode. If any of your sensors require a more complicated interface (e.g. some digital signal processing), you might need to do some processing with a script. Depending on the protocol, it might not be practical for the Maestro to handle. If you try using the sensors one at a time, and run into one that does not seem to be giving useful readings, you can post more details here (e.g. pictures of your system, an example of the output you’re getting), and I would be glad to help troubleshoot it with you.

As far as the VIN=VSRV jumper, that jumper is an option for supplying power to the servo power rail. If your sensors are getting power from this power rail, you will need to use a supply that is appropriate for all of your sensors (e.g. within the operating voltage range and can handle the combined current requirements of all of them).

Brandon

Hi.
Thanks for your reply.

About the input voltage - all sensors can work with 5v so no issues here since i can connect a 5V external power to the maestro.
As for reading the sensors input - I need assistance setting up 1 sensor and i will work my way out with the rest of them.
I will take as example the DHT11 sensor (Humidity/Temperature sensor), I found this page (DHT11) explaining how to set it up with Arduino and some code sample, can you help me set it up with the Control center or with C# ?

Currently the sensor is showing Target value = 255 constantly on the Control Center. (See picture)

Thanks,
Eran

My Video

Thank you for posting the video and a link with more information about your sensor. It looks like that sensor uses a much more complicated protocol than the Maestro can handle with a script. You will likely need a separate microcontroller to read and process those signals.

Brandon

Thanks Brandon.

In that case, what properties should i look for in a sensor when I am looking to buy one in order to have the Maestro read its data properly?

Also - Can you recommend such device on which I can read such complicated protocols?
I don’t understand this… If this is possible on raspberry pi and Arduino - how come I can’t read the serial data from a PC? It should be the same principle no? would it be possible to do that from a C# project?

Thanks,
Eran

A sensor with a simple analog output would be the simplest option to use with the Maestro. The Maestro can accept analog voltage inputs (from 0-5V) on channels 0-11.

In general, sensors like that need a lower level interface than PCs typically support. If your sensor just outputs a serial signal, you might be able to use a serial-to-USB adapter to read one of them, but from the datasheet on the page you linked to, it looks like it uses a single-wire two-way interface that requires a start signal to be sent before it will output. Also, since you want to read so many sensors, it would be more practical to use something like an Arduino to read and process the sensors, then send the information to a PC.

Brandon

Thank you so much Brandon.

I am trying to do the best I can in order to avoid using Arduino, however, as you wrote – this project indeed fits the purpose of Arduino.
Can you please help me choose the right sensors for my project so I can still use the Maestro via PC only? It will make my project so easy since I am able to control all the servos and ESCs from the Maestro via my Mini Windows PC smoothly so adding Arduino on top of the PC just for reading the sensors is a bit of a waste…

I got to find a Temperature/Volt/Current sensors that can easy be read through the Maestro GPIO pins, can you please help me with that?
Currently these are the sensors I have found which I think may be easy to get readings from using the Maestro, please let me know what you think:

  1. Temperature: DS18B20 + board:
    Aliexpress link: board + sensor
    From Arduino (With code snapshot): Temperature sensor

Or I can just get this one: Sensor and board which combines the 2 items above.

  1. Voltage sensor: B25:
    From Instructables (With code snapshot):Link

  2. Current Sensor:
    <20A: ACS712 - Link
    <100A: C2 - Link - no other information available

Thanks again so much for helping me find the right sensors for my project.

Eran.

To be honest I am a bit disappointed here… there is not too much knowledge online about compatible sensors, sensor list or code examples of using common sensors via Windows C/C++/C# applications.

Arduino is the easiest way to control any servo, motor or read sensor input – if that was my choice I wouldn’t have got the Maestro in first place… I got the Maestro to avoid using multiple devices to get my Serial data uploaded to the cloud and also to avoid writing multiple programs running on 2 different devices.

All I need is to be able to connect Temperature/Voltage/Current sensors but I just keep find myself purchasing and experimenting with off the shelf items without code examples or proper documentation and each time I have no idea if it will work or not.

Please try to assist here as I am a bit frustrated.
I tried to provide all the information i could about some sensors i found online on my previous post, please help me out as i am sure others ran into this same issue.

Thanks a lot for your time.
Eran

As I mentioned before, you might be able to use the Maestro for something like that if your sensors have an analog voltage output, but the Maestro’s main function is to control servos. Something like an Arduino is probably the simplest option I know of to read that many sensors and relay the information to a PC; however, I do not have any additional resources to point you to for using those sensors with an Arduino. If you are interested in pursuing that option, you might try posting a request for help on the Arduino forum.

Brandon

Thanks Brandon,

I understand.
In that case - what are the advantages of the Maestro against controlling Servos from Arduino via the Servo.h library?
What does the Maestro gives me that Arduino Standard libraries doesn’t?

Regards,
Eran

The main thing is that the Maestro does a much better job at generating servo signals than an Arduino using the servo library, especially if you want to be doing anything else on the Arduino at the same time. If you don’t care about servo jitter in your application, the Arduino might be good enough, but if you want the limiting factor in servo performance to be the servos themselves rather than the controller, you should use a dedicated servo controller like the Maestro. The Maestro also offers configuration parameters such as speed and acceleration settings for each servo channel to get the desired movement from each of your servos.

Brandon