mandag 14. desember 2015

Hacke en ikealampe med Arduino og Adafruit Neopixel klone - Video!

Som alltid åpnet jeg posten og til min store glede var det elektronikk der! Min NeoPixel klone var kommet frem, helt fra min gode venn (av mange andre) som sender meg gaver fra Kina.

Når det er sagt, hva er neopixel? Jo, det er en ring med RGB-led som er unikt adresserbare.
Dette betyr at du gjennom 3 kabler (data + strøm + jord) kan styre/adressere "uendelig" med leds.

Jeg kjører her en demo på en ESP8266 (NodeMCU V1), men i praksis kan man gjøre dette på nesten hva som helst av Arduinokompatible enheter.

For å teste dette veldig kjapt, tok jeg å lastet ned biblioteket til Adafruit og la det inn i Arduino library-mappen. Deretter limte jeg inn konstantene for å mappe om til riktig pinout på ESP8266:

#define NODEMCU_D0 16
#define NODEMCU_D1 5
#define NODEMCU_D2 4
#define NODEMCU_D3 0
#define NODEMCU_D4 2
#define NODEMCU_D5 14
#define NODEMCU_D6 12
#define NODEMCU_D7 13
#define NODEMCU_D8 15
#define NODEMCU_D9 3
#define NODEMCU_D10 1
#define NODEMCU_D12 10

Jeg valgte å deretter definere pinout i Adafruit-koden:
#define PIN            4
Som man ser der oppe, er 4 = D2 (altså plugger jeg da data-linjen inn på D2 på ESP8266).

Sketchen jeg testet, er den som heter "buttoncycler" som man finner under examples  etter man har lagt inn library. Jeg måtte derfor definere opp en knapp også:
#define BUTTON_PIN   5    
Vi ser der oppe at Pin 5 på Arduino tilsvarer D1 på ESP8266, altså tok jeg en kabel på D1 som er han i andre enden. Jeg har ikke knapp tilgjengelig så jeg tok enda en kabel på GND (jord). Når koden er som den er, vil de to kablene kortsluttet for et øyeblikk tilsvare en "momentary switch", en øyeblikksbryter. Sketchen vil starte animasjoner, den cycler gjennom 10 moduser.

Man må også definere antall piksler man har, jeg har her 24 piksler:
#define PIXEL_COUNT 24

Ellers er det egentlig ikke så mye å gjøre, last det over på NodeMCUen og lek i vei :-)

Her er demovideoen når jeg testet

Relaterte lenker