chip-io
v2.1.1
Published
Johnny-Five IO Plugin for the Next Thing Co. C.H.I.P.
Downloads
7
Maintainers
Readme
chip-io
Johnny-Five IO Plugin for the Next Thing Co. C.H.I.P.
Prerequisites
- Next Thing Co. C.H.I.P. board
- Node.js installed
- Install
curl
:sudo apt-get install curl
- Follow Debian section of NodeSource installations instructions
- Install
- Build essential installed:
sudo apt-get install build-essential
- Add
chip
user toi2c
group:sudo adduser chip i2c
NOTE: Some GPIO pins require root
or sudo
.
Getting Started
npm install chip-io johnny-five
NOTE: Must be run on the C.H.I.P. itself.
Boilerplate Program
var five = require('johnny-five');
var chipio = require('chip-io');
var board = new five.Board({
io: new chipio()
});
board.on('ready', function() {
// do Johnny-Five stuff
});
Examples
See examples folder as well as Johnny-Five examples.
API
See Johnny-Five API docs.
Pin Guide
| Johnny-Five Compatible Name | Number | Supported Modes | Requires root or sudo | Info | | --------------------------- | :----: | --------------- | :-------------------: | ---- | | LCD-D2 | 17 | Input | ✓ | | | PWM0 | 18 | Input, Output, PWM | ✓ | | | LCD-D4 | 19 | Input, Output | ✓ | | | LCD-D3 | 20 | Input, Output | ✓ | | | LCD-D6 | 21 | Input, Output | ✓ | | | LCD-D5 | 22 | Input, Output | ✓ | | | LCD-D10 | 23 | Input, Output | ✓ | | | LCD-D7 | 24 | Input, Output | ✓ | | | LCD-D12 | 25 | Input, Output | ✓ | | | LCD-D11 | 26 | Input, Output | ✓ | | | LCD-D14 | 27 | Input, Output | ✓ | | | LCD-D13 | 28 | Input, Output | ✓ | | | LCD-D18 | 29 | Input, Output | ✓ | | | LCD-D15 | 30 | Input, Output | ✓ | | | LCD-D20 | 31 | Input, Output | ✓ | | | LCD-D19 | 32 | Input, Output | ✓ | | | LCD-D22 | 33 | Input, Output | ✓ | | | LCD-D21 | 34 | Input, Output | ✓ | | | LCD-CLK | 35 | Input, Output | ✓ | | | LCD-D23 | 36 | Input, Output | ✓ | | | LCD-VSYNC | 37 | Input, Output | ✓ | | | LCD-HSYNC | 38 | Input, Output | ✓ | | | LCD-DE | 40 | Input, Output | ✓ | | | LRADC | 51 | Analog | ✓ | | | XIO-P0 | 53 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P1 | 54 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P2 | 55 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P3 | 56 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P4 | 57 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P5 | 58 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P6 | 59 | Input, Output | | Connected to the built-in PCF8574A IO extender | | XIO-P7 | 60 | Input, Output | | Connected to the built-in PCF8574A IO extender | | CSIPCK | 67 | Input | ✓ | | | CSICK | 68 | Input | ✓ | | | CSIHSYNC | 69 | Input | ✓ | | | CSIVSYNC | 70 | Input, Output | ✓ | | | CSID0 | 71 | Input, Output | ✓ | | | CSID1 | 72 | Input, Output | ✓ | | | CSID2 | 73 | Input, Output | ✓ | | | CSID3 | 74 | Input, Output | ✓ | | | CSID4 | 75 | Input, Output | ✓ | | | CSID5 | 76 | Input, Output | ✓ | | | CSID6 | 77 | Input, Output | ✓ | | | CSID7 | 78 | Input, Output | ✓ | | | I2C | | I2C | | Uses I2C port 2 (TWI2-SCK and TWI2-SDA). Address 0x38 is used by the built-in PCF8574A IO extender |
Additional Features
| Type | Usage | Johnny-Five type | Notes |
| ---- | ----- | ---------------- | ----- |
| Battery Voltage | new chipio.BatteryVoltage();
| five.Sensor | Reads battery voltage from the AXP290 |
| Internal Temperature | new chipio.InternalTemperature();
| five.Thermometer | Reads internal temperature from the AXP290 |
| Onboard Button | new chipio.OnboardButton();
| five.Button | Use onboard button (beside LCD-DE
pin) connected to the AXP290 |
| Status LED | new chipio.StatusLed;
| five.Led | Controls status LED connected to GPIO2 on the AXP290 |