int trigPin = 9; // De trigPin variabele wordt gedeclareerd en geïnitialiseerd met waarde 9. = is operator, waarde toekennen aan variabel. sensor int echoPin = 10; // De echoPin variabele wordt gedeclareerd en geïnitialiseerd met waarde 10. sensor int led = 7; // De led variabele wordt gedeclareerd en geïnitialiseerd met waarde 7. actuator int buzzer = 2; // De buzzer variabele wordt gedeclareerd en geïnitialiseerd met waarde 2. acturaor float new_delay; // De new_delay variabele wordt gedeclareerd als een float. void setup() { Serial.begin(9600); // De seriële communicatie wordt gestart met een baudrate van 9600. pinMode(led, OUTPUT); // De led pin wordt geconfigureerd als uitgang. pinMode(trigPin, OUTPUT); // De trigPin pin wordt geconfigureerd als uitgang. pinMode(echoPin, INPUT); // De echoPin pin wordt geconfigureerd als ingang. pinMode(buzzer, OUTPUT); // De buzzer pin wordt geconfigureerd als uitgang. } void loop() { for (int i = 0; i < 10; i++) { // for-loop Herhaal 10 keer i=indexvariabel < = vergelijkingsoperator. ++ is operator, waarde wordt met 1 verhoogd telkens long duration, distance; // Variabelen voor de duur en afstand van de echo worden gedeclareerd als long. digitalWrite(trigPin, LOW); // Stuur een LOW-signaal naar de trigPin. delayMicroseconds(2); // Wacht 2 microseconden. digitalWrite(trigPin, HIGH); // Stuur een HIGH-signaal naar de trigPin. delayMicroseconds(10); // Wacht 10 microseconden. digitalWrite(trigPin, LOW); // Stuur weer een LOW-signaal naar de trigPin. duration = pulseIn(echoPin, HIGH); // Meet de duur van de echo-puls die wordt ontvangen op de echoPin. distance = (duration/2) / 29.1; // Bereken de afstand in centimeters met behulp van de duur van de echo-puls. new_delay = (distance * 3) + 30; // Operators zijn * en / Bereken een nieuwe vertragingstijd op basis van de afstand. Serial.println("CM"); // Print "CM" in de seriële monitor. if (distance <= 50) { // conditional statement. Als de afstand kleiner of gelijk is aan 50... digitalWrite(led, HIGH); // Zet de LED aan. digitalWrite(buzzer, HIGH); // Zet de buzzer aan. delay(new_delay); // Wacht voor de berekende vertragingstijd. digitalWrite(buzzer, LOW); // Zet de buzzer uit. } else if (distance > 50) { // Als de afstand groter is dan 50... digitalWrite(led, LOW); // Zet de LED uit. digitalWrite(buzzer, LOW); // Zet de buzzer uit. } delay(200); // Wacht 200 milliseconden voordat de volgende meting wordt uitgevoerd. } }