Råkade snubbla på en cool sak som jag bara var tvungen att testa. Och det var lätt och ganska billigt. När du gjort detta kommer du ha en datorskärm med Ambiligt. Grymt snyggt för barnens Fortnite spel. Detta fungerar ENDAST på en Windows dator. Inte på Playstation eller en TV.
Du behöver följande:
- En Arduino (Finns lite olika men jag använde Kjells för 99:-)
- En led Strip (Jag har använt Adafruits Neopixel men det fungerar med billga ws2812b från Kina med)
- 5v strömadapter till Arduinon (Det kan fungera utan med men det finns en risk att COM porten försvinner i Windows titt som tätt)
- Lödpenna samt lite tålamd
- USB Sladd
- Programmet Ambibox
Börja med att koppla din Arduino till din dator. Ladda ner https://www.arduino.cc/en/Guide/Windows.
Starta programmet. Klistra in (eller ladda ner inofilen) strandtest från Adafruit. Om du nu använder Neopixel. Du kan även i menyn behöva lägga till libraryt för Neopixels. Se länken hur du gör. Vill detta sig väl kommer du se att alla lampor fungerar som de skall.
Tejpa nu upp leddarna på din skärm. Jag startade uppe i högerhörnet men skulle kanske hjort det nere i västerhörnet. Detta då Ambbox inte kan ändra detta och man måste positionera ut allt manuellt. Det var ganska tråktigt manuellt jobb.
Jag har Neopixels skinny. De är jättesmå och det är sjukt svårt att löda dessa. Skulle valt en större variant.
Lägg nu upp programmet nedan i Arduinon. Jag går inte igenom hur då det finns mängder av manuelaer för detta. Kolla raden
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
Där du anger din typ av led.
#include "FastLED.h" #define NUM_LEDS 86 #define DATA_PIN 6 #define serialRate 500000 static const uint8_t prefix[] = {'A', 'd', 'a'}; // Define the array of leds CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); Serial.begin(serialRate); Serial.print("Ada\n"); } void loop() { for(int i = 0; i < sizeof(prefix); ++i){ while (!Serial.available()); if(prefix[i] != Serial.read()) return; } while(Serial.available() < 3); int highByte = Serial.read(); int lowByte = Serial.read(); int checksum = Serial.read(); if (checksum != (highByte ^ lowByte ^ 0x55)){ return;} uint16_t ledCount = ((highByte & 0x00FF) << 8 | (lowByte & 0x00FF) ) + 1; if (ledCount > NUM_LEDS){ ledCount = NUM_LEDS;} for (int i = 0; i < ledCount; i++){ while(Serial.available() < 3); leds[i].r = Serial.read(); leds[i].g = Serial.read(); leds[i].b = Serial.read();} FastLED.show(); }
Dags att starta Ambibox. Ladda ner och kör igång. Det förts du skall göra är att:
- Ändra i filen C:\Program Files (x86)\AmbiBox\SerialPortConfig.ini och ändra till 500 000 för Adalight.
- Konfigurera som ‘Adalight’ och völj rätt comport.
- Dätt device som Adalight.
- Sätta hur många zoner du har. Räkna dina leds
- Slutligen starta zone wizarden. Du kan här ställa in olika saker som skall ändras.
- Sätt på backlight. Och testa med statisk bakkrund först så ser du att allt fungerar.
Och så här fint blr det:
https://www.youtube.com/watch?v=emwy4wZoUjQ