En målning med en Twist (7 / 8 steg)
Steg 7: Programmering och efterbehandling inslag
Under tiden bör du få några programmering går för Arduino. Här är koden som jag använder just nu med min. Det medför att randomisera lysdioder och en cool blinkande effekt. Anledningen till det är tillfällig, är dock eftersom jag slumpmässigt lödda anoder till PCB. Här är min kod:
int dataPin = 9; Definiera vilket stift ska användas för kontrollen SKIFT Register
int latchPin = 10;
int clockPin = 11;
int seq1 [14] = {1,2,4,8,16,32,64,128,64,32,16,8,4,2}. Matrisen för att lagra den
bytevärdet #1
int seq2 [14] = {128,64,32,16,8,4,2,1,2,4,8,16,32,64}. Matrisen för att lagra den
bytevärdet #2
void setup()
{
Serial.BEGIN(100);
pinMode (dataPin, produktionen); Konfigurera varje IO Pin
pinMode (latchPin, produktionen);
pinMode (clockPin, produktionen);
}
void loop()
{
om (digitalRead(2))
{
för (int x = 0, x < 14, x ++) //Array Index
{
digitalWrite (latchPin, låg); Dra spärren låg att börja skicka data
shiftOut (dataPin, clockPin, MSBFIRST, seq1[x]); Skicka databyte 1
shiftOut (dataPin, clockPin, MSBFIRST, seq2[x]); Skicka databyte 2
digitalWrite (latchPin, hög); Dra spärren högt att sluta skicka data
Delay(500);
}
}
}
Nu, jag måste erkänna, jag kommer inte upp med denna särskilda del av koden, även om jag förändra den. Den ursprungliga koden kommer från:
http://www.CodeProject.com/articles/144606/Arduino-Platform-Working-with-Shift-registers
Nu är också en bra tid att lägga till sensorn i och det är relativt enkelt att införliva. Allt du behöver göra är koppla upp ett par kablar (Specifikationsblad för särskilda sensorn kommer att berätta vad varje stift är för och var man ansluta dem... eller kan det ha det etsade på sensorn själv) och sedan bara boet din kod för lysdioder i koden medföljer sensorn. Min särskilda sensor har möjlighet att utlösa mellan 15 och 30 fot och, beroende på om du ansluter ström kabeln till alternativet 3,3 v eller 5v på Arduino UNO, det har en kortare eller längre (respektive) timer tills sensorn stängs av.