Tutorial – Using an Analog to Digital Converter with your Raspberry Pi
Did you ever want to read a voltage (rather than a 1 or 0) on your Raspberry Pi? You can do this with an Analog to Digital Converter.
Have you ever wanted to read analog (voltage level) levels and sensors on your Raspberry Pi? While you can read digital sensors with the Raspberry Pi, there is no built in analog to digital converter on your Raspberry Pi.
In this Tutorial, you will learn how use an 4 Channel 16 bit Analog to Digital Converter (ADC) on your Raspberry Pi.
There are many different reasons to read analog signals. Here are some examples:
What is the supply voltage on my Raspberry Pi?
What is the voltage on that resistor?
What is the O2 Level by reading the analog O2 sensor?
The Four Parts to this TutorialPart 1 - Overview of the ADC Raspberry Pi Project Part 2 - Hooking up the Hardware Part 3 - The ADC Raspberry Pi Project Software Part 4 - Two Really Cool Experiments with the ADC Raspberry Pi
In This Tutorial
We are going to show you how to read these four sensors:
- An O2 (Oxygen Gas Sensor)
- An analog light sensor (light variable resistor)
- An analog air quality sensor
- A voltage divider connected to 5V on the Raspberry Pi
In order read these devices, we are going to use a Grove connector based 4 Channel 16bit ADC board. Why Grove Connectors? They are easy to attach correctly and quickly to other Grove sensors and devices. We are also going to use a board, the Pi2Grover which easily allows us to connect Grove devices (the 4 Channel 16 bit ADC Board in this case) to the Raspberry Pi.
What are Grove Connectors?
Grove connectors are a standardized way of hooking up devices to Raspberry Pi and Arduino devices. They are polarized and cannot be plugged in backwards. Reduces additions to the Box Of Death.
There are four types of Grove connectors: I2C, Digital, Analog and Serial. In this tutorial we are going to use an I2C connection between the Raspberry Pi and the 4 Channel ADC board, and four Analog Grove connectors between the 4 Channel ADC Board and all the respective sensors. We will also use one jumper wire to test the Raspberry Pi power voltage.
Note: all Grove connectors look physically the same. The key is what they are designed for. They are not reversible and if you plug a Grove cable into an Analog port and then into a Digital port by mistake, no problem and no fire! It just won’t work and won’t damage anything, Like magic.
The Parts List
- – Pi2Grover Raspberry Pi to Grove Interface Board (SwitchDoc Store and Amazon)
- – Grove 4 Channel 16 Bit ADC Board (SwitchDoc Store and Amazon)
- – Grove Light Sensor (Amazon and seeedstudio.com – any of the light sensor versions will work)
- – Grove O2 Oxygen Sensor (Amazon and seeedstudio.com)
- – Grove Voltage Divider (Amazon and seeedstudio.com)
- – Grove Air Quality Sensor (SwitchDoc Store – includes Grove 4 Channel ADC board and hub and Amazon)
What are These Parts?
Pi2Grover Raspberry Pi to Grove Interface Board
The Pi2Grover board provides 15 Grove connectors. 10 Grove Digital, 4 Grove I2C, and one Grove UART. Fast prototyping with many, many Grove devices available. No software drivers required. You are right next to the hardware.
It plugs right into your Raspberry Pi with a special connector that allows you to plug boards or hats on top of the Grove board.
Grove 4 Channel 16 Bit ADC Board
This is the missing board for a Raspberry Pi. It is an 16 bit 4 channel ADC for the Raspberry Pi (based on the industry standard ADS1115). 3.3V and 5V compatible and uses Grove connectors. It has four 16 bit Analog to Digital Channels that can be programmed in many different ways.
Grove Light Sensor
The Grove – Light Sensor (P) v1.1 uses the LS06-S phototransistor. The LS06-S light sensor has much more linear analog output conforming to illuminance, which ranges from 0 to the supplying voltage (normally 5V). A value equals to the supplying voltage can be detected when it’s exposed to daylight, and it gives 0V when you covered it with your hand.
Grove O2 Oxygen Sensor
The Grove-Gas Sensor (O₂) is a sensor to test the oxygen concentration in air. You can detect the current oxygen concentration and it outs pus voltage values proportional to the concentration of oxygen. You can interpret these numbers by referring to the oxygen concentration linear characteristic graph.
This sensor value only reflects the approximate trend of gas concentration in a permissible error range, it DOES NOT represent the exact gas concentration. The detection of certain components in the air usually requires a more precise and costly instrument, which can not be done with a single gas sensor. This sensor also requires about a 30 minute warm up time.
Grove Voltage Divider
The Grove – Voltage Divider provides an method for measuring an external voltage via a buffered voltage divider. It will divide the input by a factor of 3 or 10 (switch selectable) and will protect your computer from too high of voltage (> 3.3V or 5V depending on your power). It also warns you of an over voltage situation by turning on an LED. For you more experienced folks, the input resistance to this device varies from 300K ohms (when using the 10) to about 100K ohms (when using the 3). Nice little addition to your testing lab.
Grove Air Quality Sensor
The Air Quality Extender Kit works by measuring a wide scope of harmful gases such as carbon monixide, alcohol, acetone, thinner, formaldehyde and so on as well as being sensitive to particulate count. Due to the method used to measure the contaminants, this Air Quality sensor can not output specific data to describe target gases’ concentrations quantitatively. But it’s still good enough to be used to describe qualitative air quality. The Air Quality sensor requires a warm up time of about 2 minutes after power on before it will be reporting good data. The Air Quality sensor is based on a Winsen MP503 Air-Quality Gas Sensor. This sensor is designed for indoor use but can be used outdoors if it is covered and protected from high humidity.
The AirQuailty sensor reports a single analog voltage describing the overall air quality. We take this analog value and convert it to a digital reading (from 0 to about 65000). The OurWeather software then interprets this number and reports the qualitative air quality. Following is digital reading and the qualitative interpretation:
Now you know all about the hardware, Part 2 shows how to wire all these parts up. Part 3 will show all the software and show you the results!
Subscribe to SwitchDoc via Email
- New Grove Product – Grove Rotary Dial and Button Combo for Raspberry Pi on
- New Grove Product – Grove Rotary Dial and Button Combo for Raspberry Pi on
- New Kickstarter! SmartPlantPi – Raspberry Pi Based Plant Monitoring and Watering System Kit on
- IOT ESP8266 Tutorial – Using nodeMCU/LUA on
- Tutorial: Intro to Grove Connectors for Arduino/Raspberry Pi Projects on
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- 3D Printing
- 8 GPIO I2C Board
- Arduino Software
- Bluetooth Low Energy
- Breakout Boards
- Building Tips
- Computer Security
- Featured Topic
- FTDI Cable
- Grove 4Ch 16Bit ADC Board
- Grove Digital Extender
- Grove I2C Mux Breakout Board
- Grove OLED
- Grove Sensors
- Guest Blogs
- I2C Mux Breakout Board
- IBM Bluemix
- IOT Projects Book
- Matplotlib Graphs
- Pi Camera
- Pro Mini LP
- Project Curacao
- Python Raspberry Pi Software
- Quad Power Management I2C Board
- Raspberry Pi
- Real Time Clocks
- Smart Plant
- Solar Cells
- Solar Power
- SwitchDoc Dual WatchDog Timer
- SwitchDoc Products
- USB Power Control
- Weather Board
- Wind Power