ae4b6bb0bf
* Add files via upload * Update pimcp3008.js implementation of the discussion * Update pimcp3008.js Co-authored-by: Dave Conway-Jones <dceejay@users.noreply.github.com> |
||
---|---|---|
.. | ||
.DS_Store | ||
LICENSE | ||
package.json | ||
pimcp3008.html | ||
pimcp3008.js | ||
README.md |
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
yes
to enable SPI - Select
OK
to confirm - Select the
Finish
button
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}