全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

如何将超声波传感器获取的距离数据显示在OLED上

时间:2023-06-14 11:23

人气:

作者:admin

标签: 传感器  如何    超声波   

导读:如何将超声波传感器获取的距离数据显示在OLED上-超声波传感器模块的VCC、GND分别连接到开发板的5V、GND。传感器的Trig引脚、Echo引脚分别连接到开发板的数字引脚2、3。...

1. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • OLED显示屏
  • HC-SR04超声波传感器模块

2. 实验步骤

1. 根据原理图搭建电路图。

超声波传感器模块的VCC、GND分别连接到开发板的5V、GND。传感器的Trig引脚、Echo引脚分别连接到开发板的数字引脚2、3。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。

实验原理图如下图所示:

图片

实验原理图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

1#include < Wire.h >
 2#include < Adafruit_GFX.h >
 3#include < Adafruit_SSD1306.h >
 4
 5#define OLED_RESET     4
 6Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
 7
 8#define TrigPin 2
 9#define EchoPin 3
10
11int Value_cm;
12
13void setup() {
14  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
15  display.setTextColor(WHITE);//开像素点发光
16  display.clearDisplay();//清屏
17
18  display.setTextSize(2); //设置字体大小
19  pinMode(TrigPin, OUTPUT);
20  pinMode(EchoPin, INPUT);
21}
22
23void loop() {
24  digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
25  delayMicroseconds(2);
26  digitalWrite(TrigPin, HIGH); 
27  delayMicroseconds(10);
28  digitalWrite(TrigPin, LOW);
29  Value_cm = int( pulseIn(EchoPin, HIGH) * 17 ) / 1000;
30
31  display.clearDisplay();//清屏
32  display.setCursor(50,10);
33  display.print(Value_cm);
34  display.println("cm");
35  display.drawRect(0, 33, 128, 12, WHITE);
36  display.fillRect(2, 35, map(Value_cm, 2, 20, 2, 124), 8, WHITE);
37  display.display();//开显示
38}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

图片

程序下载

3. 实验现象

改变遮挡物与超声波传感器的距离,OLED上将显示测量的距离。同时使用map()函数映射了一段距离数据做OLED屏幕上进度条的显示。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信