在本教程中,我们将学习如何将超声波传感器与 Arduino Uno 连接。
超声波传感器:这种传感器通过发射超声波测量目标物体的距离,并将反射的声音转换为电信号。超声波的传播速度比可听见的声音快(超声波是人类听不到的声音)。超声波传感是感应障碍物接近度和高可靠性检测物质或液体水平的最佳方法之一。超声波传感器模块使用换能器发送和接收超声波脉冲。该模块的工作原理很简单。它以 40kHz 的频率从触发针发出超声波脉冲,在空气中传播,如果有障碍物或物体,它会反弹回回波针处的传感器。
超声波传感器模块有四个引脚,即 Gnd、Vcc、Echo 和 Trigger。Gnd 被认为是负极引脚,它连接到系统的地。Vcc 为传感器供电。它通常需要 3.3V。Trig(触发)引脚用于触发超声波脉冲。当接收到反射信号时,回声针会产生一个脉冲。
Arduino Uno 是这个系统的大脑。它是基于微控制器ATmega328P的微控制器板。Arduino 能够读取输入、处理它们并生成输出。它有 14 个数字输入/输出引脚(其中 6 个可用作 PWM 输出)、6 个模拟输入、一个 USB 连接、一个电源插孔、一个 ICSP 接头和一个复位按钮。
现在我们了解了超声波传感器,我们可以开始构建我们的电路了。连接如下: Gnd 到 Arduino 的 Gnd Echo 到 Arduino 的 D12 Trig 到 Arduino 的 D10 Vcc 到 Arduino 的 3.3v
使用名为“Tinkercad”的软件制作的电路图以 zip 文件的形式上传到硬件部分。这是项目的代码:
// Interfacing Ultrasonic sensor with Arduino uno
#define echoPin 12 //connect echo pin of ultrasonic sensor to D12 of Arduino
#define trigPin 10 //connect trigger pin of ultrasonic sensor to D10 of Arduino
long duration; // declare variables to hold duration and distance
int distance;
void setup() //setup() is used for initialization
{
Serial.begin(9600); //set the baud rate of serial communication to 9600
pinMode(trigPin,OUTPUT); //set trigPin as output pin of Arduino
pinMode(echoPin,INPUT); //set echoPin as output pin of Arduino
}
void loop(){
digitalWrite(trigPin,LOW); //generate square wave at trigger pin
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration=pulseIn(echoPin,HIGH);//calculation of distance of obstacle
distance=(duration*0.034/2);
Serial.print("Distance : ");
Serial.print(distance);
Serial.println(" cm ");
delay(1000);
}
上传代码后检查软件的右上角你会发现一个放大镜图标和。单击该选项,您将获得超声波传感器的值。例如:距离:3 厘米,表示物体距离传感器 3 厘米。这称为串行监视器,主要用于显示传感器的值。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !