Skip to content

Latest commit

 

History

History
58 lines (38 loc) · 2.08 KB

README.md

File metadata and controls

58 lines (38 loc) · 2.08 KB

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.