Stap 5: De Code
u kunt de code onderaan deze pagina downloaden/ * Deze code is geschreven door geobruce
voor meer info check mijn website http://xprobe.net
*/
#include < Servo.h > / / Servo bibliotheek
Servo horizontale; horizontale servo
int servoh = 90; staan de horizontale servo
Servo verticale; verticale servo
int servov = 90; verticale servo staan
LDR pin aansluitingen
naam = analogpin;
int ldrlt = 0; LDR linksboven
int ldrrt = 1; LDR top rigt
int ldrld = 2; LDR beneden links
int ldrrd = 3; LDR neer rigt
VOID Setup
{
Serial.begin(9600);
Servo verbindingen
name.attacht(PIN);
Horizontal.attach(9);
Vertical.attach(10);
}
void loop
{
int lt = analogRead(ldrlt); links boven
int rt = analogRead(ldrrt); rechts boven
int ld = analogRead(ldrld); naar linksonder
int rd = analogRead(ldrrd); beneden rigt
int rekenwijze = analogRead (4) / 20; Lees potentiometers
int tol = analogRead (5) / 4;
int avt = (lt + rt) / 2; gemiddelde waarde boven
int avd = (ld + rd) / 2; gemiddelde waarde omlaag
int avl = (lt + ld) / 2; gemiddelde waarde links
int avr = (rt + rd) / 2; gemiddelde waarde rechts
int dvert = avt - avd; Controleer het verschil van op en neer
int dhoriz = avl - avr; / / check verschil og links en rigt
Als (-1 * tol > dvert || dvert > tol) / / controleren als het verschil in de tolerantie anders veranderen verticale hoek
{
Als (avt > avd)
{
servov = ++ servov;
Als (servov > 180)
{
servov = 180;
}
}
anders als (avt < avd)
{
servov =--servov;
Als (servov < 0)
{
servov = 0;
}
}
Vertical.write(servov);
}
Als (-1 * tol > dhoriz || dhoriz > tol) / / controleren als het verschil in de tolerantie anders veranderen horizontale hoek
{
Als (avl > avr)
{
servoh =--servoh;
Als (servoh < 0)
{
servoh = 0;
}
}
anders als (avl < avr)
{
servoh = ++ servoh;
Als (servoh > 180)
{
servoh = 180;
}
}
anders als (avl == avr)
{
niets
}
Horizontal.write(servoh);
}
delay(DTIME);
}