.. | ||
examples | ||
scripts | ||
LICENSE | ||
package.json | ||
README.md | ||
unicorn.html | ||
unicorn.js | ||
unihat | ||
unihat.py |
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 a payload
containing a CSV string x,y,r,g,b
.
x
and y
can be a single pixel 0
to 7
, a range of pixels, eg 2-5
, or
*
to indicate the whole line. Multiple pixels strings can also be sent as
x1,y1,r1,g1,b1,x2,y2,r2,g2,b2,...
.
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
.
Examples
Includes two example flows - found under Menu - Import - Examples - pi unicorn-hat
.
One shows drawing simple blocks and lines.
The other is a simple graphical clock that shows the current time in hours
and minutes using a number of coloured pixels.