Hur man skjuter timelapse-video med Intel Galileo Gen 2 (3 / 5 steg)
Steg 3: Hur man programmerar Galileo styrelsen:
Att få igång ladda ett av följande program med Arduino IDE på din Intel Galileos styrelse Gen 2.
Seriella bildskärmen i Arduino IDE kommer att ge feedback om framstegen för timelapse.
1. ett enkelt program för en timelapse:
/ * < Br > enkel Timelapse:
Detta program skjuter en timelapse med givna parametrar: skott, slutaren och vänta.
Med denna setup kommer att styrelsen ta 300 bilder
med 0,5 sekunder exponering varje 2,5 sekunder.
Förloppet visas i följetong monitor.
*/
int skott = 300; Antal bilder bli skjuten
int slutaren = 500. Slutartiden (i ms)
int vänta = 2500; Väntetid mellan bilder (i ms)
void setup() {
pinMode (13, OUTPUT); Ange PIN-kod 13 som utgång
Serial.BEGIN(9600);
Delay(5000); Vänta 5 sekunder att få klar
Serial.println ("Start Timelapse.");
för (int jag = 1; jag < = skott; i ++) {/ / Repeat skytte bilder tills alla skotten görs
Shoot();
showProgress(i);
Delay(Wait);
}
Serial.println ("Timelapse fullständig.");
}
Kraft att kameran ska ta en bild med viss slutartid
void shoot() {
digitalWrite 13, hög.
Delay(Shutter);
digitalWrite 13, låg.
}
Visa framsteg på den Serial Monitor
void showProgress(int i) {
Serial.Print ("bilder skott:");
Serial.Print(i);
Serial.Print("/");
Serial.Print(shots);
Serial.Print (", tid kvar: ca.");
Utvärdera den återstående tiden i minuter och sekunder
Serial.Print((shots-i)*(Shutter+wait)/60000);
Serial.Print ("m").
Serial.Print(((shots-i)*(Shutter+wait)%60000)/1000);
Serial.Print("s\n");
}
void loop() {
Delay(1000);
}
2. en mer avancerad version med att ändra exponering:
/ * < Br > Timelapse med att ändra exponering.
Detta program skjuter en timelapse börjar med slutartiden i shutterStart
och sedan anpassar tiden varje skjuta tills den når den tid som anges i ShutterEnd.
Förloppet visas i följetong monitor.
*/
int skott = 120; Antal bilder
int shutterStart = 500. Slutartiden i början av timelapse(in ms)
int shutterEnd = 2000. Slutartiden i slutet av timelapse (i ms)
int vänta = 4000; Väntetid mellan bilder (i ms)
void setup() {
pinMode (13, OUTPUT); Ange stift 13
Serial.BEGIN(9600);
Delay(5000); Vänta 5 sekunder att få klar
Serial.println ("med initiera start bilden.");
Den första bilden har ibland ett fel exponering, ta därför initiera bild
Shoot(1000);
Serial.println ("gjort. Väntar på kameran.");
Delay(3000); Kameran behöver tid att bearbeta bilden
Serial.println ("Start Timelapse.");
för (int jag = 1; jag < = skott; i ++) {
skjuta (shutterStart + (shutterEnd-shutterStart) * jag / skott); Anpassa exponering över tid
showProgress(i);
Delay(Wait);
}
Serial.println ("Timelapse fullständig.");
}
Tvinga kameran till tar en bild med slutartid x
void shoot(int x) {
digitalWrite 13, hög.
Delay(x);
digitalWrite 13, låg.
}
Visa framsteg på den Serial monitorn
void showProgress(int i) {
int slutaren = (shutterStart + shutterEnd) / 2; Genomsnittliga slutartid för time beräkning
Serial.Print ("bilder skott:");
Serial.Print(i);
Serial.Print("/");
Serial.Print(shots);
Serial.Print (", slutare:");
Skriva ut aktuella slutartid:
Serial.Print (shutterStart + (shutterEnd-shutterStart) * jag / skott);
Serial.Print ("s, återstående tid: ca.");
Utvärdera den återstående tiden i minuter och sekunder
Serial.Print((shots-i)*(Shutter+wait)/60000);
Serial.Print ("m").
Serial.Print(((shots-i)*(Shutter+wait)%60000)/1000);
Serial.Print("s\n");
}
void loop() {
Delay(1000);
} < br >
Det är naturligtvis möjligt att redigera dessa program för att uppnå särskilda mål som t.ex. en väntetid som förändras över tid eller vad någonsin önskas.