node-red-nodes/hardware/unicorn
Dave Conway-Jones 81c532fdce update hardware nodes info style 2016-03-02 13:27:52 +00:00
..
scripts Add Pi Unicorn Hat node 2016-01-11 21:23:23 +00:00
LICENSE Add Pi Unicorn Hat node 2016-01-11 21:23:23 +00:00
README.md update hardware nodes info style 2016-03-02 13:27:52 +00:00
package.json update hardware nodes info style 2016-03-02 13:27:52 +00:00
unicorn.html Fix listing errors in node-red-nodes 2016-03-01 21:10:58 +00:00
unicorn.js Fix listing errors in node-red-nodes 2016-03-01 21:10:58 +00:00
unihat Add Pi Unicorn Hat node 2016-01-11 21:23:23 +00:00
unihat.py update unicorn hat node for faster writing of pixels 2016-02-26 22:01:04 +00:00

README.md

node-red-node-pi-unicorn-hat

A Node-RED node to output to a Raspberry Pi Unicorn HAT from Pimorini.

Pre-requisites

The Unicorn HAT python drivers need to be pre-installed... see the Pimoroni Getting Started with Unicorn HAT page.

curl -sS get.pimoroni.com/unicornhat | bash

Install

Run the following command in your Node-RED user directory - typically ~/.node-red

npm i node-red-node-pi-unicorn-hat

Usage

The background of the array can be configured using an 8x8 pixel sized png image, or by specifying a single colour using an r,g,b triple.

The brightness can also be set in the configuration. Defaults to 20% so as not to blind you.

A pixel is set by msg.payload with a CSV string x,y,r,g,b , where x and y are 0 to 7, and r, g and b are 0 - 255. If x or y are set to * then the complete row or column can be set. Setting both x and y to * fills the background. Multiple pixels can be specified at once by using x1,y1,r1,g1,b1,x2,y2,r2,g2,b2,... etc

The background can also be set to a colour by setting msg.payload to an r,g,b triple.

Any msg with a msg.topic identifies a 'sprite', which can then be moved independently of the background. A 'sprite' can be a single pixel, or a group of pixels.

Setting msg.payload to 0 will delete the sprite from the list identified by msg.topic.

Setting msg.payload to DEL delete any sprites - leaving the background.

Setting msg.payload to CLS will clear the display to off and delete any sprites.

The overall brightness may be set by setting msg.payload to brightness,nn, where nn is 0 to 100.

The rotation may be set by setting msg.payload to 'rotate,rr', where 'rr' is 0, 90, 180 or 270.