Förbränningsmotor (LittleBits-projektet) (8 / 10 steg)
Steg 8: Kod Arduino för LED.
Vi kod LittleBits Arduino styrelsen så att LED: n blinkar vid en viss tidpunkt i åtgärden kolv simulera bränning av tändstiftet; dock är den svåra biten av kodifiera att veta hur lång tid det tar din kolv att resa till den punkt som pistongen är tänkt för att brand.
Med din motor fortfarande är ansluten till vevaxel, vända på motor länge nog så att kolven är i sin högsta punkt i cylindern, den omedelbart stänga av. Detta är utgångspunkten för din kolv. I mekaniska termer kallas detta Top Dead Center (TDC). Sedan behöver vi ett stoppur... faktiskt, jag använde en app på min telefon... men något som kan hålla tiden. När du är redo, slå på din motor och starta din stoppur på samma gång. Notate hur lång tid det tar att resa ett helt varv från TDC till botten av pistongen och tillbaka till ÖD kolv. I grundläggande termer: upp, ner, upp. Jag testade min kolv flera gånger och fick avläsningar från 1,6-1,8 sekunder. Din kan variera.
Stäng av motorn. Det är dags att koden. I Arduino-programvaran måste du Leonardo som din styrelse. Nedan är skissen att skapa det blinkande ljuset:
/*
Tändstiftet skiss
Vänder på en LED att simulera tändstiftet brand i en interal förbränningsmotor. Upprepas.
*/
int ledde = 5; Definiera pin LED är ansluten till
void setup() / / initiera installationen
{
pinMode ledde (, OUTPUT); Definiera LED som en utgång
}
void loop() / / loopar igenom skissen
{
digitalWrite (ledde, låg); Stänga av lampan
Delay(1800); Fördröjning för 1,8 sekunder
digitalWrite (ledde, högt); Slå på lampan, simulera tändstiftet brand
Delay(250); Fördröjning för 0,25 sekunder
digitalWrite (ledde, låg); Stänga av LED
Delay(1550); Fördröjning för 1,55 sekunder
}
Om du noterar i skissen, efter 1,8 sekunder, LED tänds för 0,25 sekunder, då är avstängd för 1,55. När det gäller förbränningsprocessen, tändstiftet bränder efter pistongen har gjort en fullständig cykel upp och ner. I nästa rotationen aktiveras inte tändstiftet eftersom det är cykling mellan power stroke och avgaser stroke. För att uttrycka det enkelt, har lampan bara blinka en gång i två fullständiga rotationer.
1.8 sekunder (första full rotation) = 0,25 sekunder + 1,55 sekunder (andra full roation)
Ändra denna skiss för att återspegla den tid du nedtecknade. I skissen, bör första gången du dröjsmål återspegla den tid det tog att resa från TDC, ner sedan tillbaka till ÖD kolv. Din nästa förseningen är hur länge du vill din LED bo upplysta. Det sista dröjsmålet bör den återstående tiden.
Kontrollera att strömförsörjningen LittleBits är påslagen och ansluten till Arduino. Ladda upp din kod.