node-red-node-pi-mcp3008
A Node-RED node to read from the MCP3xxx Series of Analogue to Digital Converters, such as the Rasp.io analogzero, though it will work with breadboard versions also.
It will appear in the menu as A/D Converter.
Warning: Input voltages must not exceed 3.3V
Pre-requisites
You must ensure that SPI is enabled. For recent (2016) versions of Raspbian you can do this
- Run
sudo raspi-config - Select
5 - Interfacing Options - Select
P4 - SPI - Select
yesto enable SPI - Select
OKto confirm - Select the
Finishbutton
Install
Run the following command in your Node-RED user directory - typically ~/.node-red
npm install node-red-node-pi-mcp3008
Note: It will appear in the menu as A/D Converter.
Usage
Reads from an MCP3xxx Analogue to Digital (ADC) chip on the Pi SPI connection.
You can either set a channel in the edit dialogue, or you can set the msg.payload to
select the channel dynamically. If so then the payload must be a value from 0 to 7.
You can also select device id 0 or 1 (CE0 or CE1) depending on how you have wired up your device. Defaults to CE0.
And you can also select the SPI bus number 0 or 1 depending on how you have wired up your device. Defaults to 0 for spidev0.
Outputs a numeric msg.payload with a range of 0 to 1023 for MCP30XX family, where 0 = 0V and 1023 = 3.3V (assuming you use the default 3.3V voltage reference). For MCP32XX and MCP33XX the range returned is 0 to 4095.
Hint: use a range node to adjust the values to the range you want.
Also sets msg.topic to adc/{the pin number}