Stap 4: Arduino tijd!
Gebruik de volgende code:
int trigger = 0;
niet-ondertekende lang = 0;
unsigned long VTime = 0;
int focus = 0;
int overD = 0;
int drempel = 0;
int count = 0;
int maxx = 0;
int minn = 1500;
void setup () {}
pinMode(7,INPUT);
pinMode (6, OUTPUT);
pinMode(5,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
digitalWrite(5,HIGH);
initialisatie: 1000 keer een monster uw buitenste grenzen vast te stellen
in het midden van de grenzen stelt arduino de drempel. Als de lichte inensity valt
onder die waarde, zal de camera zijn triggert.
terwijl (telling < 1000) {}
int test = analogRead(A0);
delay(5);
if(testmaxx) {}
Maxx = test;}
count = count + 1;
Serial.println(Count);
}
Drempel =(minn+maxx)/2;
Serial.Print ("max =");
Serial.Print(Maxx);
Serial.Print ("min =");
Serial.Print(Minn);
Serial.Print ("drempel =");
Serial.println(thresHold);
delay(1000);
digitalWrite(6,HIGH);
delay(500);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
}
void loop () {}
VTime = analogRead(A1); de tijd lezen
delay(5);
Serial.Print ("VTime =");
Serial.println(VTime);
Time=map(VTime,0,1023,0,1200); kaart het de tijd, dus het bereik van de potmeter nuttig is, Opmerking: gebruik ik niet millisecondes, want het maakt de code ingewikkelder dan nodig en langzamer.
focus = digitalRead(5); Zie als u de focus knop nog geduwd
Serial.Print ("laservalue =");
Serial.println (trigger);
while(focus== High) {/ / als je hebt gericht, u kunt nu wachten tot de laserstraal wordt onderbroken
Serial.println("focussed");
digitalWrite(5,HIGH); LED zal aangegeven dat de camera is gericht
overD = 1; Arduino zal herinneren u (ve gericht
trigger = analogRead(A0);
Als (trigger < drempel & & overD == 1) {//If u hebt gericht en de intensiteit van een bundel is onder de drempel
de camera zal neem een foto
delay(time); wacht een periode van tijd voordat het nemen van een foto
delay(1);
Serial.println ("pic genomen");
digitalWrite(6,HIGH); Neem de foto voor echt
vertraging (500);
focus = laag; Klaar voor de volgende, maar zult u eerst moeten zich opnieuw richten (optioneel)
}
}
digitalWrite(5,LOW);
digitalWrite(6,LOW);
}