Långsam till snabb tindrande stjärnor i filt (med ledande patchar) (5 / 7 steg)
Steg 5: Kod och testa dina lampor
Innan du kan ange intervall i din kod, måste du ta reda på vad för slags spänner din aluminiumfolie patchar upptäcka. I min kod varierade spänner från 700s till nästan 1000. Storleken på din patchar och conductivityen av huden kan variera spänner din patchar identifieras.
När din patchar är ordentligt sydda, och din Lilypad är ansluten till datorn med en USB-sladd, kan du testa spänner av dina fläckar genom att klicka på knappen seriell monitor i det övre högra hörnet av din Arduino kod. Se till att rätt USB identifieras i Verktyg -> seriell port, och att rätt Lilypad styrelsen väljs i Verktyg -> styrelse.
Din kod bör inkludera följande för seriell monitor test att arbeta:
int aluminumFoil = A2; (om din positiva aluminiumfolie lapp inte är ansluten till A2, ersätta det med dess korrekt anslutna pin)
Ogiltiga inställningar i avsnittet inkludera:
Serial.BEGIN(9600); initiera serieporten
pinMode (aluminumFoil, ingång); anger aluminiumfolie pin till INPUT
digitalWrite (aluminumFoil, hög); initierar sensorn
Ogiltig loop i avsnittet behöver din kod:
sensorValue = analogRead(aluminumFoil); läsa värdet från sensorn
Serial.println(sensorValue); Skicka detta värde till datorn
Se fullständiga koden för mer information. När koden är upp till par, klicka på serial monitor. Du ser en serie tal. Rör din patchar och se hur siffrorna ändras. Hitta den hög och låg i ditt område och sedan bestämma vilka intervall du vill inkludera i din kod. Till exempel i min kod, det förklarar som "om (sensorValue < 985 & & sensorValue > = 900)", lamporna kommer att pågå 8/10 av en sekund. Om sensorn värdet läser mellan 800 och 900, lamporna håller 5/10 sekund... och så vidare. Besluta vilka intervall du vill påverka koden och hur.
______
Min hela koden:
int aluminumFoil = A2; Detta är den PIN-kod som positiva aluminiumfolie plåstret är ansluten till (andra aluminiumfolie plåstret är ansluten direkt till negativa)
int sensorValue; variabel för att lagra värdet kommer från sensorn
int top1 = 2; top1 är smeknamnet för stjärnan ansluten till stift 2
int top2 = 3;
int top3 = 9.
int top4 = 10;
int rtop1 = A4;
int rtop2 = 11;
void setup() / / kör en gång, när skissen startar
{
Serial.BEGIN(9600); initiera serieporten
pinMode (aluminumFoil, ingång); anger aluminiumfolie pin till INPUT
digitalWrite (aluminumFoil, hög); initierar sensorn
pinMode (top1, produktionen); om ljuset inte är vände sig till utgång, det inte fungerar
pinMode (top2, produktionen);
pinMode (top3, produktionen);
pinMode (top4, produktionen);
pinMode (rtop1, produktionen);
pinMode (rtop2, produktionen);
}
void loop() / / kör om och om igen
{
sensorValue = analogRead(aluminumFoil); läsa värdet från sensorn
Serial.println(sensorValue); Skicka detta värde till datorn
om (sensorValue < 985 & & sensorValue > = 900) //if värdet från sensorerna är mellan 900-985 när berört, följande ljus mönster kommer att inträffa:
{
digitalWrite (top1, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(800); Detta anger hur länge ljuset kommer att bo i millisekunder
digitalWrite (top1, låg); Inaktivera LED
digitalWrite (top4, hög);
Delay(800);
digitalWrite (top4, låg);
digitalWrite (rtop2, hög);
Delay(800);
digitalWrite (rtop2, låg);
digitalWrite (top2, hög);
Delay(800);
digitalWrite (top2, låg);
digitalWrite (top3, hög);
Delay(800);
digitalWrite (top3, låg);
digitalWrite (rtop1, hög);
Delay(800);
digitalWrite (rtop1, låg);
vänta en sekund
}
annars om (sensorValue < 900 & & sensorValue > 800)
{
digitalWrite (top1, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(500);
digitalWrite (top1, låg);
digitalWrite (top4, hög);
Delay(500);
digitalWrite (top4, låg);
digitalWrite (rtop2, hög);
Delay(500);
digitalWrite (rtop2, låg);
digitalWrite (top2, hög);
Delay(500);
digitalWrite (top2, låg);
digitalWrite (top3, hög);
Delay(500);
digitalWrite (top3, låg);
digitalWrite (rtop1, hög);
Delay(500);
digitalWrite (rtop1, låg);
}
annars om (sensorValue < 800 & & sensorValue > = 600)
{
digitalWrite (top1, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(200);
digitalWrite (top1, låg);
digitalWrite (top4, hög);
Delay(200);
digitalWrite (top4, låg);
digitalWrite (rtop2, hög);
Delay(200);
digitalWrite (rtop2, låg);
digitalWrite (top2, hög);
Delay(200);
digitalWrite (top2, låg);
digitalWrite (top3, hög);
Delay(200);
digitalWrite (top3, låg);
digitalWrite (rtop1, hög);
Delay(200);
digitalWrite (rtop1, låg);
}
annat //the efter koden är vad kommer att ske om sensorn känner ett värde skiljer sig från de som angetts ovan
{
digitalWrite (top1, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(1000);
digitalWrite (top1, låg);
digitalWrite (top4, hög);
Delay(1000);
digitalWrite (top4, låg);
digitalWrite (rtop2, hög);
Delay(1000);
digitalWrite (rtop2, låg);
digitalWrite (top2, hög);
Delay(1000);
digitalWrite (top2, låg);
digitalWrite (top3, hög);
Delay(1000);
digitalWrite (top3, låg);
digitalWrite (rtop1, hög);
Delay(1000);
digitalWrite (rtop1, låg);
}
}