Ambilight system för varje ingång ansluten till teven. WS2812B Arduino UNO Raspberry Pi (10 / 13 steg)
Steg 10: Arduino och Arduino kod
För Arduino behöver skiss att kompilera korrekt du 2 bibliotek:
Adafruit_NeoPixel.h som du kan ladda ner här
LiquidCrystal_I2C.h som du kan ladda ner här (version 2.0)
Jag har försökt att lägga till så många kommentarer som möjligt genom koden. Om något är oklart, tveka inte att kommentera och ställa frågor. De kan hjälpa en hel del människor.
Att ta en titt genom den kod som jag har bifogat till detta steg.
Här kan du välja en Startfärg för LED strip att lysa upp vid start
#define STARTCOLOR 0xff8000
Datapin är stiftet valt där våra LED strip dån ansluts
#define DATAPIN 5
LED antal är det faktiska antalet LED i ditt system
#define LEDCOUNT 232
Vilket baudvärde får inte ändras, eller det måste också ändras i konfigurationsfilen Hyperion
#define BAUDVÄRDE 500000
Detta är ljusstyrkan du vill ha din LED strip att fungera på. Provning som krävs i din miljö. 0 till 100 urval
#define ljusstyrka 90
Raden nedan är förmodligen det svåraste att förstå och måste ändras för att fungera i din setup.
CONST char prefix [] = {0x41, 0x64, 0x61, 0x00, 0 x??, 0 x??};
Starta genom att ta de första 4 byten, det aldrig ändras. Så du redan kan skriva const char prefix [] = {0x41, 0x64, 0x61, 0x00, och det blir rätt.
Detta är inte så illa i slutet. För den 5: e byten. I mitt system har jag 232LED's. 5. byte beräkningen är att subtrahera 1 från min LED nummer och omvandla resultatet i HEXADECIMALT värde. 232 - 1 = 231. 231 i HEX = E7
Nu måste vi ta itu med våra 6 byte. Det är en "exklusiv eller"-funktion eller XOR funktion mellan nummer. Det första numret kommer att vara 55 och detta förändras aldrig. 2. är din beräknade 5 byte. I mitt fall är det E7.
Använd följande 5th och 6th byte i kodraden, ersätter den?? och du är klar.
Detta är slutet av koden, i rutinen check_source() där du kan ändra varje källa den information som kommer att visas på LCD-skärmen när källan är markerad som TV eller PS4 eller dator osv osv...
Du kan ställa in LCD markören samt att ha tryckt namn tryckt i mitten av LCD-skärmen.
När du är nöjd med din kod kan du ladda upp den till din Arduino och kontrollera att det fungerar korrekt med minst LCD för nu.
Observera att det kommer att ta en bra 20 sekunder att starta som jag lagt till stora förseningar i början av koden för att undvika konstiga omstarter av Arduino medan Raspberry Pi starter upp upp. Så bli inte rädd om inget dyker upp på skärmen direkt. Ett sätt att berätta koden körs är LED av ON/OFF-knappen borde lysa upp vid start.