I’ve recently bought a Dragonboard 410c and have quite a few individual sensors (i bought the 900 pack from adafruit)
but am having some issues with analog to digital conversion, voltage shifting, wiring correctly etc. I want to have a more convenient way to get the dragonboard working for a variety of different sensing tasks, but i’m trying to avoid spending too much more money. Is it worth getting the sensors board and, if so, also worth getting the rest of the grove sensors, considering that i already have several?
I forgot to mention that i’ve also bought an ADC
and an audio mezzanine board.
You don’t say what you have already tried and what is not working for you.
The audio mezzanine should take care of the level shifting for you. For I2C, I find using the Grove connector the most convenient as I have some 4 pin Female Jumper to Grove 4 pin Conversion Cables. For example:
You don’t say what programming language you are looking to use. The mraa library is what I use and supports a number of languages. They have some examples at:
I build mraa from source to get the Python3 bindings. My brief notes on this is:
sudo apt update sudo apt upgrade sudo apt install git build-essential swig3.0 python3-dev cmake git clone https://github.com/intel-iot-devkit/mraa.git cd mraa mkdir build cd build/ cmake -DBUILDSWIG=ON \ -DBUILDSWIGPYTHON=ON \ -DBUILDSWIGNODE=OFF \ -DBUILDSWIGJAVA=OFF \ -DCMAKE_INSTALL_PREFIX=/usr \ .. make sudo make install
Hope that helps.
For what its worth, the sensors mezzanine has ADC’s built in via the ATMEGA328P, so having the additional ADC’s is probably redundant unless you really want lots of them.
It would be nice to have an updated version of the sensors mezzanine with a more modern microcontroller, like a SAMD21 or 51 hooked onto the USB on the HS port.
I’ve been using python with mraa thus far (though i’d be comfortable using C or C++ if those proved more useful). I’ve had some success with the simplest senors, like the pressure sensor and the ball tilt sensor, but i’ve had the most difficulty with the triple-access accelerometer, both with the Analog-to-Digital conversion and the voltage shifting. I’ve tried to use the level-shift through the Audio Mezzanine expansion header, but regardless of the position of the switch on the board it doesn’t seem to be giving me 3.3v outs, though I noticed that the grove connections seem to be working.
I was considering getting some level-shifting ICs in order to make the voltage outs work correctly, but my knowledge on a lot of this is pretty minimal. I’ve been following tutorials for setting up the accelerometer for arduino boards with the ADC, like this on which conveniently shows how to use the ADC and the accelerometer together:
and hoping I could figure out the level-shifting problems somewhere along the way, but haven’t had much success so far.
I think you might be right. I seem to remember something about not being able to find the 3.3v on the 40 pin header now you mention it. Maybe that is why I went with the Grove connectors.
@ljking might know the answer to if the level shifted voltage comes out on the 40 pin header.
There are two switches on the Audio-Mezzanine board, one enables the level shifters to the big 40-pin connector, the other one selects 3.3V or 5V level shifting.
Beware the level shifters, they don’t like long wires, they tend to oscillate if you use log wires, keep the wires as short as possible.