Project 10: gebruik van een ultrasone afstandssensor met LEDs

Welkom bij de tiende Arduino-project! In deze projecten gaan we leren hoe we een ultrasone afstandssensor kunnen gebruiken om de afstand te meten en deze informatie om te zetten naar de verlichting van LEDs. We zullen vier LEDs gebruiken die aangeven hoe ver een object van de sensor verwijderd is. Hoe dichter het object bij de sensor is, hoe minder LEDs er oplichten. Dit project is een geweldige manier om te leren hoe je met sensoren en meerdere outputs werkt.

Stap 1: het circuit bouwen

Benodigdheden:
  • 1x Arduino Uno
  • 1x Ultrasone afstandssensor (HC-SR04)
  • 4x LED (bij voorkeur verschillende kleuren)
  • 4x Weerstand van 220 ohm (voor de LEDs)
  • 12 man-man jumper wires

We gaan de ultrasone sensor en de vier LEDs aansluiten op de Arduino.

  • Zwarte rail (GND-rail) gebruiken:
    • GND van de Arduino naar de zwarte rail: Sluit een draad van de GND-pin van de Arduino aan op de zwarte (negatieve) rail op het breadboard. Hierdoor wordt de hele rail verbonden met de GND van de Arduino.
  • Ultrasone Sensor Aansluiten:
    • VCC pin van de sensor naar de 5V pin van de Arduino.
    • GND pin van de sensor naar de zwarte rail op het breadboard.
    • Trig pin van de sensor naar pin 9 van de Arduino.
    • Echo pin van de sensor naar pin 10 van de Arduino.
  • LEDs Aansluiten:
    • Verbind de anode (lange poot) van de eerste LED met pin 2 van de Arduino via een 220 ohm weerstand.
    • Verbind de kathode (korte poot) van de LED met de zwarte rail op het breadboard.
    • Herhaal dit voor de overige drie LEDs, waarbij je de anodes aansluit op pin 3, 4, en 5 van de Arduino.
Les 9 circuit

Stap 2: De code schrijven

Nu we het circuit hebben opgebouwd, gaan we de code schrijven die de afstand meet en de LED’s aanstuurt.

// Definieer de pins voor de sensor en LEDs

const int trigPin = 9;

const int echoPin = 10;

const int ledPins[] = {2, 3, 4, 5}; // LED pinnen

 

void setup() {

  // Initialiseer de seriële monitor en pins

  Serial.begin(9600);

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

 

  for (int i = 0; i < 4; i++) {

    pinMode(ledPins[i], OUTPUT);

  }

}

void loop() {

  // Zet de trigger laag om te beginnen

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

 

  // Trigger de sensor voor 10 microseconden

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

 

  // Meet de duur van de echo

  long duration = pulseIn(echoPin, HIGH);

 

  // Bereken de afstand in centimeters

  int distance = duration * 0.034 / 2;

  Serial.println(distance);

 

  // LEDs aansturen op basis van de afstand

  if (distance < 10) {

    setLEDs(1);

  } else if (distance < 25) {

    setLEDs(2);

  } else if (distance < 40) {

    setLEDs(3);

  } else {

    setLEDs(4);

  }

  delay(100);

}

void setLEDs(int ledsOn) {

  for (int i = 0; i < 4; i++) {

    if (i < ledsOn) {

      digitalWrite(ledPins[i], HIGH);

    } else {

      digitalWrite(ledPins[i], LOW);

    }

  }

}

Wat doet deze code?

  • Trig en Echo pins: De ultrasone sensor zendt een signaal uit met de Trig pin, en de Echo pin ontvangt het gereflecteerde signaal. De tijd die het signaal nodig heeft om terug te keren, wordt gebruikt om de afstand te berekenen.
  • Distance: De afstand wordt berekend met behulp van de tijd en een constante factor voor geluidssnelheid in lucht.
  • setLEDs(): Dit is een functie die bepaalt hoeveel LEDs er aan moeten op basis van de gemeten afstand.

Stap 3: De code uploaden

  1. Sluit je Arduino aan op je computer met de USB-kabel.
  2. (Klik op select board en dan op Arduino Uno.)
  3. Klik op de uploadknop (pijltje) in de Arduino IDE om de code naar je Arduino te sturen.
  4. (Open eventueel de seriële monitor om de gemeten afstand te zien (via “Tools” > “Serial Monitor”).)

Gefeliciteerd! Je hebt nu een afstandssensor die de gemeten afstand omzet naar een visuele weergave met LEDs. Dit is een geweldige stap richting het gebruik van sensoren om real-time gegevens te visualiseren en ermee te interacteren. Wat zou je hierna willen proberen? Misschien een project waarbij je de afstand gebruikt om andere acties te triggeren? De mogelijkheden zijn eindeloos!

qoute symbool

"Met Arduino bouw je niet alleen circuits, je bouwt de toekomst."

Schrijf een comment

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

logo

Copyright © 2024 Arduinolessen.org | Gebouwd door Arduinolessen.org