This is an old revision of the document!


Ultrasonic Distance Meter

By Sebastian-Ioan Panca

Introducere

Cu ajutorul Ultrasonic Distance Meter poti masura distanta la care se afla un obiect, in timp ce LED-urile se vor aprinde progresiv in functie de distanta, buzzer-ul va emite un sunet, iar pe ecranul LCD I2C va fi afisata distanta in centimetri.

Descriere generală

Hardware Design

Lista de piese:

  • 1 x Arduino Uno
  • 1 x Breadboard
  • 1 x HC-SR04 Ultrasonic sensor
  • 7 x LEDs
  • 7 x 220 ohm Resistors
  • Jumper Wires
  • 1 x Buzzer
  • 1 x LCD I2C

Schema electrica:

Software Design

Source code:

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

const int trig = 12; const int echo = 13;

const int LED1 = 8; const int LED2 = 7; const int LED3 = 6; const int LED4 = 5; const int LED5 = 4; const int LED6 = 3; const int LED7 = 2; int buzzer = 9; int duration = 0; int distance = 0;

void setup() {

pinMode(trig , OUTPUT);
pinMode(echo , INPUT);
pinMode(buzzer, OUTPUT);
pinMode(LED1 , OUTPUT);
pinMode(LED2 , OUTPUT);
pinMode(LED3 , OUTPUT);
pinMode(LED4 , OUTPUT);
pinMode(LED5 , OUTPUT);
pinMode(LED6 , OUTPUT);
pinMode(LED7 , OUTPUT);

lcd.init();
lcd.backlight();

Serial.begin(9600);

}

void loop() {

digitalWrite(trig , HIGH);
delayMicroseconds(500);
digitalWrite(trig , LOW);
duration = pulseIn(echo , HIGH);
distance = (duration/2) / 28.5 ;
Serial.println(distance);
lcd.clear();
lcd.setCursor(0,0);  //Set cursor to first column of second row
lcd.print("Distance:"); //Print blanks to clear the row
lcd.print(distance); //Print measured distance
lcd.print(" cm");  //Print your units.
delay(500); 
if ( distance <= 7 )
{
  digitalWrite(LED1, HIGH);
    tone(buzzer, 700);
}
else
{
  digitalWrite(LED1, LOW);
    noTone(buzzer);
}
if ( distance <= 14 )
{
  digitalWrite(LED2, HIGH);
    tone(buzzer, 600);
}
else
{
  digitalWrite(LED2, LOW);
    noTone(buzzer);
}
if ( distance <= 21 )
{
  digitalWrite(LED3, HIGH);
    tone(buzzer, 500);
}
else
{
  digitalWrite(LED3, LOW);
    noTone(buzzer);
}
if ( distance <= 28 )
{
  digitalWrite(LED4, HIGH);
    tone(buzzer, 400);
}
else
{
  digitalWrite(LED4, LOW);
    noTone(buzzer);
}
if ( distance <= 35 )
{
  digitalWrite(LED5, HIGH);
    tone(buzzer, 300);
}
else
{
  digitalWrite(LED5, LOW);
    noTone(buzzer);
}
if ( distance <= 42 )
{
  digitalWrite(LED6, HIGH);
    tone(buzzer, 200);
}
else
{
  digitalWrite(LED6, LOW);
    noTone(buzzer);
}
if ( distance <= 49 )
{
  digitalWrite(LED7, HIGH);
    tone(buzzer, 100);
}
else
{
  digitalWrite(LED7, LOW);
    noTone(buzzer);
}

}

Rezultate Obţinute

Concluzii

Download

Jurnal

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe *Resurse Software* şi *Resurse Hardware*.

Export to PDF

pm/prj2022/cstan/ultrasensor-arduino-project.1653598833.txt.gz · Last modified: 2022/05/27 00:00 by sebastian.panca
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0