een heel belangrijk systeeem voor de werking van het ballenkanon was het goed programmeren van de Arduino, de Arduino moet namelijk een ultrasone sensor laten werken die de boei moet detecteren. de boei zal gedetecteerd worden op een afstand van 45 cm. het ballenbakje zal dan met een hoek van 50 graden draaien ( door middel van een servo) en laat een bal in het water vallen. hieronder is een opstelling weergeven van de geprogrammeerde arduino + ballenkanon en de code voor de Arduino;
code Arduino
#define ECHOPIN 2 // Pin to receive
echo pulse
#define TRIGPIN 3 // Pin to send
trigger pulse
#include <Servo.h>
Servo myservo;
int distance;
void setup(){
Serial.begin(9600);
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
myservo.attach(9);
myservo.write(0);
}
void loop(){
digitalWrite(TRIGPIN, LOW); // Set the trigger pin to
low for 2uS
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
// Send a 10uS high to
trigger ranging
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW); // Send pin low again
int
distance = pulseIn(ECHOPIN, HIGH);
// Read in times pulse
distance= distance/58;
// Calculate distance
from time of pulse
Serial.println(distance);
delay(50); // Wait
50mS before next ranging
if
(distance >= 45 && distance <= 55)
{
myservo.write(50);
delay(1000);
myservo.write(0);
delay(5000);
}
else
{
(distance <= 4);
myservo.write(0);
delay(1000);
}
}
opstelling arduino plus ballenkanon