当前位置:首页 > 科学研究 > 电子编程 > 正文内容

Arduino Project 039 - Ultrasonic Distance Display

RonWang7个月前 (12-04)电子编程348

Ultrasonic sensors measure distance by sending and receiving the ultrasonic wave. The ultrasonic sensor has a sender to emit the ultrasonic waves and a receiver to receive the ultrasonic waves. The transmitted ultrasonic wave travels through the air and is reflected by hitting the Object. Arduino calculates the time taken by the ultrasonic pulse wave to reach the receiver from the sender.

Ultrasonic sensor and technology informatio link : Arduino Project 038 - Simple Ultrasonic Range HC-SR04

In the code, the “duration” variable stores the time taken by the sound wave traveling from the emitter to the receiver. That is double the time to reach the object, whereas the sensor returns the total time including sender to object and object to receiver. Then, the time taken to reach the object is half of the time taken to reach the receiver. 

Liquide crystal display coding , circuit and Schematic detail you can link  : Arduino Project 023 - Liquid Crystal Displays - Hello World!!!

Project 39-- Ultrasonic Distance Display

Ultrasonic Distance Display Circuit

Ultrasonic Distance Display Schematic

Connect Arudino and Sensor Pinout

  • Connect pins 12,9,8,6 (D1- D4) from the display to pins 13,12,11,10 (respectively)of the Arduino.

  • Connect pins 11,7,4,2,1,10,5,3 (a,b,c,d,e,f,g) of the display to pins 2,3,4,5,6,7,8,9 (respectively) of the Arduino with one 330Ω resistor in line.

  • On the ultrasonic sensor connect to VCC to 5V power pin, GND to the ground pin, the Trigger pin to A1 and Echo pin to A0.


/* Coding Ron Wang
   Dec.4th 2024
   Autaba support for coding hardware
   Project 39 Ultrasonic Distance Displays
 */

#include "SevSeg.h"  // library for 7 segment display
SevSeg sevseg;      // initate 7 segment display
                    //ultrasonic sensor pins globar variables 
int trigPin = A1; 
int echoPin = A0;
int cm;             // variable to be read by display 
int interval;       //value from the trig and echo pins

void setup() {
Serial.begin (9600); // serial monotor comm rate
pinMode(trigPin, OUTPUT); // set to output 
pinMode(echoPin, INPUT); // set to input
// set up SevSeg library parmeters 
byte numDigits = 4; // number of digits on the display 
byte digitPins[] = {13,12,11,10}; // pin numbers for each digit 
byte segmentPins[] = {2,3,4,5,6,7,8,9}; // pins for each part of the 7 segment display
bool resistorsOnSegments = true;  // true if resistors are being used 
bool updateWithDelaysIn = true;  // delays used 
byte hardwareConfig = COMMON_ANODE;  // display type 
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments); 
sevseg.setBrightness(20);   // brightness level of the display
}

void loop() {
digitalWrite(trigPin, LOW); // send short signal on the trigpin
delayMicroseconds(5);
digitalWrite(trigPin, HIGH); // send signal for 10ms
delayMicroseconds(10);
digitalWrite(trigPin, LOW); // turn off signal after 10ms
interval = pulseIn(echoPin, HIGH); 
// read signal from trigpin
// determine distance by using the time from the trig and echo pins 
// divide interval by 2 then divide again by 29 
cm = (interval/2) / 29;
// print to serial monitor
Serial.print(cm);
Serial.print("cm");
Serial.println();
//print to 7 segment display 
sevseg.setNumber(cm); 
// print the value of cm to the display 
sevseg.refreshDisplay();
}


版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://www.parentscn.com/?id=296

标签: Arduino

相关文章

Arduino Project 027 - Joystick Servo Control

Arduino Project 027 - Joystick Servo Control

In this tutorial, we are going to learn how to use Arduino and a joystick to control two servo motor...

Arduino Project 010 - Serial Controlled Mood Lamp

Arduino Project 010 - Serial Controlled Mood Lamp

For Project 10, you will revisit the circuit from Project 8 — RGB Mood Lamp, but you’ll now delve in...

Arduino Programming Basic - Serial Monitor

Arduino Programming Basic - Serial Monitor

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写数个例程,讲解关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静...

Arduino Project 016 - L293D Motor Driver IC

Arduino Project 016 - L293D Motor Driver IC

In the previous project, you used a transistor to control the motor. In this project, you are going...

Arduino Programming Basic - If and Loop

Arduino Programming Basic - If and Loop

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写了10个例子,关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静...

Arduino Project 026 - Dual Servo Control

Arduino Project 026 - Dual Servo Control

This project you’ll create another simple project, but this time you’ll control two servos using com...