Skip to content

tcp server to control ws2812b pixel with an atmega328p mcu

License

Notifications You must be signed in to change notification settings

zombinary/aurora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aurora

Control ws2812b pixel with an atmege328p. The tcp stack based on the tuxgraphic tcp stack (http://tuxgraphics.org/electronics/).

You can change the color of the pixel with an simple tcp message, like a hex string. Use an individual tcp-server or node-red. Also see my other project named 'sphere'. This is a nodejs based http-server to control several aurora server.

Externals

  • light_ws2812 V2.4 (light_ws2812_AVR)
  • eth_lcd_tcp-2.10

Hardware

  • atmega328p nano board
  • enc28J60 nano Ethernet shield
  • ws2812b 300pxl
  • lcd - 2x16 hd44780

wiring

atmega328p enc28J60 lcd 2x16 ws2812b
PD2 PIN4 - RS (v0.0.1 only)
PD3 PIN6 - E (v0.0.1 only)
PD4 PIN11 - D4 (v0.0.1 only)
PD5 PIN12 - D5 (v0.0.1 only)
PD6 PIN13 - D6 (v0.0.1 only)
PD7 PIN14 - D7 (v0.0.1 only)
PD8 DIN
PD10 SS
PD11 MOSI
PD12 MISO
PD12 SCK

Getting started

You can use the make file after git clone. The default ipAddress is 10.11.0.100, change this in aurora.c static uint8_t myip[4] = {10,11,0,100}; //10.11.0.100

gcc version 4.8.2 (GCC)

API description:

standard response:

byte description
0-1 length 4 (low byte first)
2 CMD
3 port

error response:

byte description
0-1 length 4 (low byte first)
2 0xff
3 error code

commands

clearPixel:

clear the internal buffer of led matrix

byte description
0-1 length 3 (low byte first)
2 CMD_CLEARPIXEL = 0x12

setColor:

set the color of all pixel. Pixels hardcoded as define 'MAX_PIXEL'.

byte description
0-1 length 7 (low byte first)
2 CMD_SETCOLOR = 0x15
3 PIN
4 color value red
5 color value green
6 color value blue

setPixel:

set the color of an specific pixel.

byte description
0-1 length 9 (low byte first)
2 CMD_SETPIXEL = 0x13
3 PIN
4-5 pixel (low byte first)
6 color value red
7 color value green
8 color value blue

setRange:

set the color of an specific range.

byte description
0-1 10 (low byte first)
2 CMD_SETRANGE = 0x14
3 PIN
4-5 first pixel (LBGF)
6-7 last pixel (LBGF)
8 color value red
9 color value green
10 color value blue

controller

Supported Hardware

mcu controller versiont
atmega328p ws2812b (300pxl) v0.0.1
v0.0.2

Road-map

    • add digital input/output

About

tcp server to control ws2812b pixel with an atmega328p mcu

Resources

License

Stars

Watchers

Forks

Packages

No packages published