ARDUINO GOPRO TIMELAPSE REGLAGET (5 / 5 steg)
Steg 5: ARDUINO kod
Det inte riktigt vettigt att lägga min kod eftersom du kan använda olika stift och olika hårdvara iaf, så heres en genomgång vad man ska göra:
Första, data överför och installera servo.h biblioteket.
Också i manus, glöm inte att inkludera biblioteket genom att ringa #include i början av ditt manus.
För att göra det en timelapse reglage du kan till exempel använda analogRead() för att läsa en pott är ansluten till en analog stift.
Den analoga moduler använder 10 bitars A/D omvandling, som är 1024 steg.
Servon Läs 0-180 grader.
Intervall använder millisekunder vs 1024 steg på krukorna.
Du konvertera som genom att funktionen "karta".
Låt oss anta att det handlar om variabeln "tiden" så koden skulle se ut:
tid = karta(tid, 0, 1023, 1000, 10000); / / så oavsett värde mellan 0-1023 "tid" hade innan det får omvandlas till ett värde där 0 representerar 1 sekunder och 180 representerar 10 sekunder
Så börjar vi med:
Servo zaxis; / / som definierar variabeln "zaxis" som ett Servo med biblioteket
int pos = 90. / / definierar variabeln "pos", gör det ett heltal, vilket innebär att inga decimaler,
/ / Den variabeln kommer att säga servo standardpositionen vid start, kan vara ett tal mellan 0-180
en timelapse med 5 sekunder fördröjning för 180 graders skulle se ut:
för (pos = 0; pos < = 180, pos + = 1) / / ökar variabeln pos tills den når 180
{
zaxis. skriva (pos);
dröjsmål (tid); / / som är vår försening variabel aka potten
}
Enkelt som så.
Om detta skulle vara en ESC, allt du måste göra är, Tänk på att graderna menar fram hastighet/bakåt hastighet i det här fallet.
Låt oss anta att det motor servo objektet kallas "motorspeed", då skriften skulle se ut
{
MotorSpeed.write(70); //m70 90 tillgängliga grader i fart framåt, 70/90 * 100 = 77,8 procent effekt.
Delay(200); / / hur länge motorn innehåller ovanstående hastighet, i millisekunder
MotorSpeed.write(0); / / stoppa motorn.
Delay(Time); / / vänta på resten av tiden
}
Naturligtvis behöver du ett slutet-knappen för att göra det stoppa :)
Jag gjorde aldrig detta och också inte genomförs i min kod. Timelapse tar så lång tid och är så predictible att jag aldrig känt behov av detta.
Å andra sidan, om du vill göra det på fjärranslutna platser eller begränsad av en annan enhet, att starta vid fyra på morgonen du vill ha ett sätt att stoppa den en gång når slutet av spåret.