Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Test funksjon for adressbare RGB LED. Kan brukes til enkle lysshow med videreutvikling.
- * Koden er basert på FastLED biblioteket som kan lastes ned, NODEMCU utviklingsbrett og
- * WS 2812b RGBer. På grunn av dette kan det være noen funksjoner som ser litt merkelig ut,
- * men se følgende kommentarer for videre beskrivelse.
- *
- * Utviklet med tanke på skoleelver på VG 1 elektrofag, men koden skal være overkommelig å
- * forstå for alle hvis man setter seg inn i kodeteori og RGB dioder.
- *
- * Skrevet av grimreaper87 fra arduino solutions
- *
- * Kommentar pre setup:
- * Bruker i denne koden mye #define, hvilket er et alternativ til int/const int. I enkelte utrykk er
- * det mer hensiktsmessig å bruke define, spesielt hvis det er en instruks. F.eks Led type eller farge
- * rekkefølge.
- */
- #define FASTLED_ESP8266_RAW_PIN_ORDER
- //Legger til et "kart" i koden for nettverksmodulen, slik at pinneadressen stemmer. Se pin layout for NODEMCU. Må være først i denne koden.
- #include <FastLED.h> //Legger til biblioteket FastLED i koden
- #define LED_PIN 2 //Dedikerer pinne 2 til datastrøm for RGBene
- #define NUM_LEDS 255 //Antall LED på båndet vi ønsker å teste. Endres etter behov
- #define LED_TYPE WS2812B //Instruks for FastLED. Forteller hvilken RGB type den skal styre (IC)
- #define COLOR_ORDER GRB //Bestemmer fargerekkefølge
- #define BRIGHTNESS 60 //Bestemmer grunnlag for lysstyrke. Endres etter behov senere i koden
- CRGB leds[NUM_LEDS]; //Forteller hvor mange LEDer vi skal styre til FastLED
- /*Kommentar setup:
- * Kort og enkelt setup, selv om det er utrykk fra Fastled bibliotek. Kort forklart stilles lystryke inn,
- * samt adressbare RGB programmeres.
- */
- void setup() {
- delay(3000); //forsinkelse ved oppstart. sikkerhetsmargin
- LEDS.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS); //FastLED programmere LEDene med innstruksene fra pre setup
- FastLED.setBrightness(BRIGHTNESS); //Bestemmer lysstyrke
- }
- /*Kommentar loop:
- * Kort og enkel loop, som tar ibruk en for løkke. Kunnskap om forløkker et greit utgangspunkt
- * når man arbeider med adressbare RGBer, spesielt når man skal styre flere. Bruker også utrykk
- * fra FastLED for å styre RGBene, men de er selvforklarende. *
- */
- void loop() {
- for(int i=0;i<NUM_LEDS;i++){ //Setter opp for løkke med en teller. Teller fra 0 opp til antall LED som er definert, med pluss 1 per løkke.
- leds[i-3].setRGB(0,0,0); //Setter opp en variabel for å skru av LEDer. Eksempelet her lar 3 LED bli høy, og skruv av den første LED nå fjerde LED blir høy
- leds[i].setRGB(0,255,0); //Setter opp variabel for å skru på LEDer. Skrur på LED fortløpende en etter en.
- FastLED.show(); //Funksjonen som endrer status til LEDer. Må ha for å kjøre styre LEDene
- delay(100); //Forsinkelse for å justere hastigheten på LEDene. Kortere forsinkelse gir raskere LEDer
- //slutt på for løkke hvis i er større enn antall LED. Hvis ikke kjører ny sekvens
- }
- FastLED.clear(); //Funksjonen skrur av alle LEDer før loop starter på nytt
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement