## Project 2.6 Ultrasonische sensor

In dit project gaan we een ultrasone sensor gebruiken als afstand detector, hiervoor heb je nodig

- 3 x LED
- 3 X weerstand 220 ohm
- Ultrasone sensor

### Het LED-circuit

1. Start met de basisverbindingen:

• Plaats een Arduino Uno en een breadboard op je werkgebied.

• Verbind de 5V- en GND-pinnen van de Arduino met de voedings- (+) en grond- (-) rails van het breadboard met draden. Je kunt de draadkleuren aanpassen in de instellingen of met de toetsenbordnummers.

2. Plaats de LEDs:

• Voeg drie rode LEDs toe in rij E van het breadboard, met twee lege sockets tussen elke LED.

• Pas de LED-kleur aan via de instellingen als gewenst.

3. Voeg weerstanden toe:

• Verbind de kathode (korte poot, -) van elke LED met de grondrail (-) via een 220 Ohm weerstand.

• De waarde van de weerstand kan aangepast worden in het dropdownmenu.

4. Verbind de anodes:

• Sluit de anodes (lange poot, +) van de LEDs aan op digitale pinnen van de Arduino.

### Sonarsensor

1. Selecteer de juiste sensor:

• In Tinkercad Circuits kun je kiezen tussen een driepinnige of vierpinnige ultrasone sensor., kies de vierpinnige sensor.

Verbind de sensor:

• Sluit de 5V-pin van de sensor aan op de 5V-rail van het breadboard.

• Verbind de GND-pin met de grondrail.

• TRIG-pin met Arduino.

• ECHO-pin met Arduino.

## je kan de schematische weergave als voorbeeld gebruiken.

# .

## Programeren

## Initialisatie

- We stellen de Activatiegrens in op 350 doormiddel van int Activatiegrens = 320;
- het variabele cm op 0 door int cm = 0;

     Tot nu toe ben je bekend met setup() en loop(), maar in dit programma wordt de functie readUltrasonicDistance() gebruikt om de sensormetingen te beschrijven en gescheiden te houden van de hoofdcode van het programma.

    Uitleg van de functie

    • Teruggave van data: De functie begint met het aangeven van het type data dat het retourneert. In dit geval retourneert de functie een long, wat een decimaal getal met veel cijfers kan zijn.

    • Naam van de functie: De naam van de functie (in dit geval readUltrasonicDistance()) kun je zelf kiezen.

    • Argumenten:

    • Binnen de haakjes staan de argumenten die de functie accepteert, in dit geval int triggerPin en int echoPin.

    • Dit zijn variabele declaraties die de aansluitpinnen van de sensor specificeren.

    • De pinwaarden worden doorgegeven aan de functie wanneer deze wordt aangeroepen in de hoofdcode (bijvoorbeeld in de loop()).

    Wat doet de functie?

    • Trigger-signaal sturen:

    • De functie stelt de triggerPin in als uitgang (OUTPUT) en stuurt een kort signaal.

    • Het signaal wordt gedurende 10 microseconden op HIGH gezet.

    • Reistijd meten:

    • De functie stelt de echoPin in als ingang (INPUT).

    • Het meet de tijd die nodig is voor het signaal om terug te keren.

    • Resultaat retourneren: De reistijd in microseconden wordt teruggestuurd naar de hoofdcode. Deze waarde kan vervolgens worden gebruikt om de afstand te berekenen.

    Door de sensormetingen in een aparte functie te plaatsen, blijft de hoofdcode overzichtelijk en kun je dezelfde functie eenvoudig hergebruiken in andere delen van je programma.

## Setup

In de setup, stel je doormiddel van `pinMode()` in, aan welke digitale pins je de LED's zijn verbonden. In de schematische weergave zijn dat pins 2, 3, & 4.

## Loop

Dan kunnen we eindelijk beginnen met het echte programma,

- Lees de Ultrasone sensor af en kopiër de waarde naar het variabele cm doormiddel van `cm = 0.01723 * readUltrasonicDistance(#, #);` Bij de eerste hashtag vul je het pinnumer in waarmee TRIG is verbonden en bij het tweede pinnummer vul je het nummer in waarmee ECHO is verbonden.

Dan heb je een overzicht nodig van alle combinaties die je wilt programmeren, neem als voorbeeld deze combinaties.

Stand | vanaf | tot | LED 1 | LED 2 | LED 3
0 | 320 | * | UIT | UIT | UIT
1 | 250 | 320 | AAN | UIT | UIT
2 | 100 | 250 | AAN | AAN | UIT
3 | * | 100 | AAN | AAN | AAN

het sterretje staat symbool voor geen detectie, de sensor heeft een minimum en maximum afstand, hiermee moet je rekening houden.

Gebruik nu je kennis over logische operatoren en voorwaardelijke code om de lampjes te laten branden.

Kom je er niet uit kijk bij de antwoorden.