Stap 7: Programmeren en afwerking raakt
In de tussentijd moet je sommige programmering gaan voor de Arduino. Hier is de code die ik gebruik nu met de mijne. Het heeft het effect van randomizing de LED's en een koele effect te knipperen. Het is willekeurig, echter, komt omdat ik willekeurig gesoldeerd de anoden aan de PCB. Hier is mijn code:
int dataPin = 9; //Define which pins will be used for the Shift Register control int latchPin = 10; int clockPin = 11; int seq1[14] = {1,2,4,8,16,32,64,128,64,32,16,8,4,2}; //The array for storing the // byte #1 value int seq2[14] = {128,64,32,16,8,4,2,1,2,4,8,16,32,64}; //The array for storing the // byte #2 value void setup() { Serial.begin(100); pinMode(dataPin, OUTPUT); //Configure each IO Pin pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); } void loop() { if (digitalRead(2)) { for (int x = 0; x < 14; x++) //Array Index { digitalWrite(latchPin, LOW); //Pull latch LOW to start sending data shiftOut(dataPin, clockPin, MSBFIRST, seq1[x]); //Send the data byte 1 shiftOut(dataPin, clockPin, MSBFIRST, seq2[x]); //Send the data byte 2 digitalWrite(latchPin, HIGH); //Pull latch HIGH to stop sending data delay(500); } } }
Nu, ik moet toegeven, ik niet gekomen met dit bijzondere stukje code, maar ik veranderen. De originele code afkomstig zijn van:
http://www.codeproject.com/articles/144606/Arduino-platform-Working-with-Shift-registers
Nu is ook een goed moment om toe te voegen van de sensor in en het is relatief eenvoudig op te nemen. Alles wat je hoeft te doen is aansluiten van een paar draden (de spec sheet voor uw bijzondere sensor zal u vertellen wat elke pin voor is en waar om ze te verbinden... of het wellicht het geëtst op de sensor zelf) en dan gewoon nest uw code voor de LEDs in de code opgenomen met de sensor. Mijn bijzondere sensor heeft de optie van de startconditie tussen 15 en 30 voeten en, afhankelijk van als u de draad van de macht aan de optie van het 3,3 v of 5v op de Arduino UNO sluit, het moet een kortere of langere (respectievelijk) timer totdat de sensor uitgeschakeld.