Stap 7: Gebruik van de Software
Wanneer u de programmacode uitvoert, moeten twee windows pop-up. Een is de Weergave van de Webcam en de andere is het Configuratiescherm.
In de handmatige modus, kunt u gericht en vuur door te wijzen en te klikken op de weergave van de webcam. Klik in autonome modus, de software overneemt en uw kanon krijgt een leven van zijn eigen! Geef het een beetje tijd om te passen op de achtergrond, en dan zal het schieten op alles dat haar standpunt komt.
Spelen rond met de andere functies evenals - Auto/Semi-automatische, verbergen cameraweergave, enz.
Calibrating - uw servo en camera arrangement is waarschijnlijk uniek, zodat u moeten zult te kalibreren, hoeft de eerste keer.
U kunt dit doen door de waarden xMin, xMax, yMin en yMax, aan het begin van de code aan te passen. Speel rond met hen tot u dient het pistool gericht waar u plaats de muisaanwijzer op de weergave van de webcam. Een nuttig instrument om dit te doen is om naar te kijken de nummers scrollen door aan de onderkant van de IDE verwerken terwijl u de code uitvoert.
U moet mogelijk ook kalibreren van de servo-posities in de Arduino programmacode worden ingesteld:
Om de herladen positie, verander deze lijnen:
if(digitalRead(7) == HIGH) {}
xPosition = 110;
yPosition = 135;
brand = 0;
}
Om de home positie (geen USB-communicatie), verander deze lijnen:
if(idle) {}
idleCounter ++;
Als (idleCounter > 10000) {}
analogWrite (5, 50);
delay(250);
digitalWrite (5, laag);
idleCounter = 0;
}
else {}
digitalWrite (5, laag);
}
xPosition = 110;
yPosition = 100;
brand = 0;
}
Als u wilt instellen op de posities van het 'geperst' en 'niet geperst' voor de trigger servo, wijzigt u deze lijnen:
VOID brand (int selector) {}
if(selector == 1) {}
fireTimer ++;
Als (fireTimer > = 0 & & fireTimer < = triggerTravelMillis) {}
trigger.write (90);
digitalWrite (2, HIGH);
}
Als (fireTimer > triggerTravelMillis & & fireTimer < 1.5 * triggerTravelMillis) {}
trigger.write (140);
digitalWrite (2, laag);
}
Als (fireTimer > = 1.5 * triggerTravelMillis) {}
fireTimer = 0;
}
}
if(selector == 3) {}
trigger.write (90);
digitalWrite (2, HIGH);
}
}
VOID wapenstilstand (int selector) {}
if(selector == 1) {}
fireTimer = 0;
trigger.write (140);
digitalWrite (2, laag);
}
if(selector == 3) {}
trigger.write (140);
digitalWrite (2, laag);
}
}