Stap 5: ARDUINO CODE
Het niet echt zin om mijn postcode omdat u verschillende pennen en verschillende hardware toch kunt, dus heres een walkthrough wat te doen:
Eerst, download en installeer de servo.h bibliotheek.
Ook in het script, vergeet niet te vermelden de bibliotheek telefonisch #include aan het begin van je script.
Om er een timelapse schuifregelaar kunt u bijvoorbeeld analogRead() om te lezen een pot aangesloten op een analoge pin.
De analoge INs gebruiken 10 bits A/D conversie, thats 1024 stappen.
De servo's lezen 0-180 graden.
De intervall gebruikt milliseconden vs 1024 stappen van de potten.
U converteert die met het aanroepen van de functie "kaart".
Laten we aannemen dat het gaat over de variabele "tijd", dus de code eruit zou zien:
tijd = kaart(tijd, 0, 1023, 1000, 10000); / / dus welke waarde tussen 0-1023 "tijd" had, voordat het wordt geconverteerd naar een waarde waarbij 0 staat voor 1 seconden en 180 vertegenwoordigen 10 seconden
Dus beginnen we met:
Servo zaxis; / / dat de variabele "zaxis" definieert als een Servo die met behulp van de bibliotheek
int pos = 90; / / de variabele "pos" definieert, maakt het een geheel getal, waardoor geen decimalen,
/ / Die variabele zal vertellen de servo de standaardpositie bij het opstarten, kan bestaan uit een cijfer tussen 0-180
een timelapse met 5 seconden vertraging voor 180 graden eruit als:
voor (pos = 0; pos < = 180; pos += 1) / / verhoogt de variabele pos totdat zij 180 tot
{
zaxis. schrijven (pos);
vertraging (tijd); / / dat is onze vertraging variabele aka pot
}
Gemakkelijk zoals dat.
Als dit zou een ESC, alles wat je hebt te doen is, houd er rekening mee dat de graden naar voren snelheid/achteruit snelheid in dit geval.
Laat veronderstellen het motor servo-object heet "motorspeed", en vervolgens het script eruit zou zien
{
motorspeed.write(70); //m70 van 90 beschikbaar graden in voorwaartse snelheid, 70/90 * 100 procent 77,8 macht =.
delay(200); / / hoe lang de motor houdt de snelheid van de bovenstaande, in milliseconden
motorspeed.write(0); / / stop de motor.
delay(time); / / wachten op de rest van de tijd
}
Natuurlijk moet je een einde knop om er stoppen :)
Ik heb nooit dit en zijn ook niet uitgevoerd in mijn code. Timelapse duurt zo lang en zo predictible dat ik nooit de noodzaak daarvoor voelde is.
Aan de andere kant, als u wilt om het te maken op externe locaties of getimede door een ander apparaat, om te beginnen op vier in de ochtend zou je een manier om het te stoppen zodra bereikt het einde van het nummer.