Om een werkend prottype te kunnen bouwen moet
er een Arduino systeem in de hovercraft verwerkt zitten. Dit systeem moet
alleen geprogrammeerd worden. Hiervoor heb ik mij opgegeven als slachtoffer. Ik
zag hier best tegen op, anders noem ik mezelf ook geen slachtoffer. Samen met
Stan en Roel uit een andere groep, ben ik hiervoor gaan zitten. Thuis had ik de
dag daarvoor al veel onderzoek gedaan en een code gevonden om onze ultrasone
sensor te kunnen laten werken en een afstand uit te kunnen lezen. Samen met
Stan en Roel hebben we hierin een servo geprogrammeerd die een kwartslag draait
wanneer de sensor een object leest die minder dan 15 cm van de sensor afstaat.
Ik heb door het schrijven van deze code erg veel geleerd over programmeren en
door deze oefening heb ik een zeer goede voorbereiding gehad op het tentamen
Arduino.
Hieronder kan je de code lezen.
#define trigPin 13
#define echoPin 12
#define led 11
#define led2 10
#define led3 8
#include <Servo.h>
Servo servo;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
servo.attach (9);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 4) {
digitalWrite(led,HIGH);
digitalWrite(led2,LOW);
}
else {
digitalWrite(led,HIGH);
digitalWrite(led2,LOW);
}
if (distance >= 30 || distance <= 0)
{
digitalWrite(led, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
Serial.println("Out of range");
servo.write (92);
delay(100);
}
else {
Serial.print(distance);
Serial.println(" cm");
servo.write (92);
delay(10);
servo.write (94);
delay (2200);
digitalWrite(led, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
servo.write (92);
delay (15000);
}
delay(10);
}
Geen opmerkingen:
Een reactie posten