Stap 2: programmeren
Terug naar de Hoog-laag-Tech ook: met behulp van mijn oude Arduino als een ISP-programmeur en GND, VCC en MISO/MSOI/SCK/Reset van de Attiny aansluiten met de pinnen 13-10. Vergeet niet de 10µF condensator tussen Reset en grond op de Arduino... Maar dit alles kan het beste uitgelegd op hun webpagina.
Vervolgens upload de Bootloader voor het instellen van de fuses en de Attiny met een gewijzigde Adafruit neopixel strandtest program: The DIL schakelaar maakt gebruik van pin 0 en 1, leds zijn verbonden met 2 (in plaats van pin 6 van het originele voorbeeld).
Dus zijn de enige wijzigingen:
Aan het begin:
#define PIN 2
int switch1 = 0;<br>int switch2 = 1;
In de installatieroutine toevoegen:
pinMode(switch1, INPUT_PULLUP); pinMode(switch2, INPUT_PULLUP);
(Domme fout: mag niet hebt gekopieerd mijn MSP430 code (met INPUT_PULLDOWN), die niet aanwezig zijn op de Attiny - maar ten minste de PCB was al juiste :-)
En de lus routine te wijzigen:
void loop() {if (digitalRead(switch1)) { if (digitalRead(switch2)) { rainbowCycle(20); } else { rainbow(20); } } else { if (digitalRead(switch2)) { theaterChase(strip.Color(127, 127, 127), 50); // White theaterChase(strip.Color(127, 0, 0), 50); // Red theaterChase(strip.Color( 0, 0, 127), 50); // Blue } else { theaterChaseRainbow(50); } } }
Dus niet het doorlopen van de andersluidend voorbeeld stijlen, maar de DIL schakeloptie om een te selecteren. Oh, en vergeet niet om het wijzigen van het aantal leds:
Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, PIN, NEO_GRB + NEO_KHZ800);
Haak 5V op einde en u sneeuwvlok of whatelse WS2812B object op het andere eind & Enjoy hebt!