Laser utlöste hög hastighet fotografering (för $5 + arduino) (4 / 6 steg)
Steg 4: Arduino-tid (version 1)
Använda följande kod (Version: 1)
int trigger = 0; osignerade långa tid = 0;
osignerade långa VTime = 0;
int fokus = 0;
int overD = 0;
int tröskel = 0;
int count = 0;
int maxx = 0;
int minn = 1500, annullera setup () {
pinMode(5,INPUT);
pinMode (3, OUTPUT);
pinMode(4,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.BEGIN(9600);
digitalWrite(3,HIGH);
initiering: ta 1000 gånger ett prov att sätta din yttre gränser
mitt i gränserna anger arduino dess beloppsgräns. Om den lätta inensity faller
under detta värde, kommer kameran att triggert.
medan (antal < 1000) {
int test = analogRead(A1);
Delay(5);
IF(testmaxx) {
Maxx = test;}
antal = antal + 1.
Serial.println(Count);
}
Tröskelvärde för =(minn+maxx)/2.
Serial.Print ("max =");
Serial.Print(Maxx);
Serial.Print ("min =");
Serial.Print(minn);
Serial.Print ("tröskel =");
Serial.println(thresHold);
Delay(1000);
digitalWrite(4,HIGH);
Delay(500);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
} Ogiltig loop () {
VTime = analogRead(A0); Läs tiden
Delay(5);
Serial.Print ("VTime =");
Serial.println(VTime);
Time=map(VTime,0,1023,0,1200); karta den tiden så utbudet av potentiometern är nyttigt, Observera: Jag använde inte millisecondes, eftersom det gör koden mer komplicerat då behövs och långsammare.
fokus = digitalRead(5); se om du tryckt på knappen för fokus på ännu Serial.print ("laservalue =");
Serial.println (trigger);
While(Focus== High) {/ / om du har fokuserat, kan du nu vänta tills laserstråle avbryts
Serial.println("focussed");
digitalWrite(3,HIGH); LED kommer att anges att kameran fokuserar
overD = 1; Arduino kommer ihåg dig (ve fokuserade
trigger = analogRead(A1);
om (trigger < tröskel & & overD == 1) {//If du har fokuserat och intensiteten i balken är lägre än tröskelvärde
kameran tar en bild
Delay(Time); innan du tar en bild vänta en period av tid
Delay(1);
Serial.println ("pic fattas");
digitalWrite(4,HIGH); ta bilden på riktigt
fördröjning (500).
fokus = låg; Redo för nästa men först måste du fokusera igen (valfritt)
}
}
digitalWrite(3,LOW);
digitalWrite(4,LOW); }