OLED屏幕实时显示超声波测距数值(Arduino学习笔记1)

2023-11-10

废话不多说,直接介绍该项目!!

1.元器件和设备

Arduino UNO板 X1

HC-SR04超声波测距模块 X1

OLED显示屏模块 X1

杜邦线公对公 X8

面包板 X1

2.接线到对应引脚

本人没有什么艺术造诣,天外飞线才是我的准则 

 

3.查询OLED地址

!!!关键步骤 !!!如果OLED没显示任何东西的话,一定是OLED的地址没填对

查询地址步骤如下:

给开发板上电并连接好OLED模块 -> 打开Arduino -> 点击示例 -> 选择Wire -> 选择i2c-scanner

 进入示例 -> 烧写程序  -> 串口监视器查看地址

4.调用库

<Adafruit_GFX.h>

<Adafruit_SSD1306.h>

调用库前得先下载所需要的两个库,不然到时候红花花的一片代码,按顺序下载库

 

 

 

5.编写程序

#define fasong 3 //宏定义发送端端口
#define jieshou 2 //宏定义接收端端口
#include<Wire.h>
#include<Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>
Adafruit_SSD1306 oled(128, 64, &Wire, -1); //初始化调用SSD1306的长128和宽64两者像素,&Wire默认,共享开发板复位引脚填-1
float juli; //全局变量距离结果,哈哈很多变量名都是拼音,写代码还是得规范一下千万别学我0v0

void oled1() {
  oled.clearDisplay();    //当该被函数调用时清除oled缓存内容(通俗点来讲就是刷新数据)
  oled.setTextSize(1);   //字体
  oled.setTextColor(1);  //字体颜色默认白色
  oled.setCursor(64, 0); //设置显示的位置
  oled.print(juli);     //显示结果,单位厘米
  oled.display();       //显示字体
}

void setup() {
  Serial.begin(9600);
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C); //查询OLED的地址,一般默认0x3C
  pinMode(fasong, OUTPUT);
  pinMode(jieshou, INPUT);
}


void loop() {
  digitalWrite(fasong, 0); //将发送端置0
  delayMicroseconds(2);   //延迟2微秒,微秒函数用这个
  digitalWrite(fasong, 1); //发送端开始测距,置1
  delayMicroseconds(10);   //延迟10微秒
  digitalWrite(fasong, 0); //接收端开始,发送端结束测距,发送端置0,接收端置1
  juli = float(pulseIn(jieshou, 1) * 17) / 1000; //统计接收端从0到1的时间,也是统计发送端从1到0的时间,pulseIn(jieshou,1)是超声波来回总和时间
  Serial.println(juli);  //用串口通信来检测时间正确
  oled1();
  delay(1000);  //延迟可以自己拟定

}

6.效果

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OLED屏幕实时显示超声波测距数值(Arduino学习笔记1) 的相关文章

  • 【ML on Kubernetes】第 8 章:使用平台构建完整的机器学习项目

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 正则表达式各参数及方法简介

    文章目录 前言 一 匹配单个字符 二 匹配多个字符 三 匹配开头结尾和分组 四 正则匹配方法的使 五 贪婪匹配和非贪婪匹配 前言 正则表达式 regular expression 描述了一种字符串匹配的模式 pattern 可以用来检查一个
  • 周志华《机器学习》课程系列笔记——目录导航页

    周志华 机器学习 课程系列笔记 说明 Introduction 最近自学机器学习课程 注意到了南京大学周志华老师的课程 我是在学堂在线平台观看的 注意到b站上也有相应视频 但b站上并未获得授权 随时有消失的可能 周志华老师的网络教学视频中

随机推荐

  • [leetcode]19 删除链表的倒数第 N 个结点

    题目链接 https leetcode cn problems remove nth node from end of list 该链表中 head节点对应有值 要想知道倒数第几个节点对应正序哪个节点 需要先进行遍历知道整个链表的长度 倒数
  • tcpdump抓包文件分段保存-指定时间或者指定大小

    指定间隔保存 tcpdump i tun0 s0 G 600 w Y m d H M S pcap G 600 600s保存一次 i 指定网卡 s w 保存文件的格式 指定大小保存 tcpdump i eth0 s0 C 5 Z root
  • safari浏览器中使用flex布局出现图片拉伸显示图片原始宽高

    在safari浏览器中使用flex布局出现图片拉伸的情况 一般设置图片宽度 图片高度会根据图片宽高比 高度自动伸缩进行调整 解决方案 1 在使用了flex的情况下 设置图片定宽定高 2 去掉flex 布局 图片设为display inlin
  • STM32F103RBT6+FATFS32移植心得

    由于进入下午移植FATAS32到STM32F103RBT6上遇到一些问题 经过调试成功后 一些心得来分享一下 本人移植的是原子的代码 具体代码可去原子官网下载 将原子FATFS实验文件夹下的FATFS MALLOC文件夹复制到我们的工程文件
  • 乐鑫ESP32芯片/模组选型参考指南

    1 最近一个项目中用到了ESP32的模组 于是开始查询相关的资料 首先来到乐鑫的官网可以看到关于ESP32分为芯片 模组与开发板三部分 2 由于乐鑫的芯片主打无线通信 包括蓝牙和wifi等一些高频信号 所以对于PCB布局走线要求比较高 为了
  • 上海某马培训软件测试工程师第01期就业班课程

    上海某马培训软件测试工程师第01期就业班课程完整不加密版 课程目录 课 件 一期 zip 第一阶段 数据库 linux LAMP环境搭建 iwebshop5 1临时试用版本 zip nginx 1 14 0 tar gz 3 视频 1 网站
  • Linux之忘记密码解决方案

    我们使用虚拟机时 若是设置的密码过于复杂 偶尔会忘记虚拟机的登录密码 若是忘记了密码 该怎么解决呢 以Centos7虚拟机操作系统为例 给大家提供一个用来解决忘记密码的方法 首先 将虚拟机进行重启 重启后看到以下界面就立即按e键 若不及时按
  • TPS-MIS-DSS

    TPS MIS DSS 业务处理系统TPS 管理信息系统MIS 决策支持系统DSS 业务处理系统TPS 最初级的信息系统 管理具体的事务 TPS是其他类型信息系统的信息产生器 处于企业系统的边界 管理信息系统MIS 对企业整体的信息进行处理
  • Cesium ion是什么?

    Cesium ion是一个云服务平台 当然 主要是基于cesiumjs的服务 包括数据服务等 https cesium com ion assets 1
  • java数组 方法工具包

    自己写的数组中可以用的方法 的工具包 package day09 自定义数组的工具类 public class ArrayUtil 求数组的最大值 public int getMax int arr int max 0 for int j
  • RTSP 交互流程

    转载自 http www 52rd com Blog Archive Thread asp SID 27757 略加修改 RTSP Setup 流程 中的client端 的端口协商部分 RTSP消息格式 RTSP的消息有两大类 请求消息 r
  • 【面向对象】多态数组

    package TcmStudy day26 public class Test03 public static void main String args all new Cat new Cat new Dog new Dog 创建有四个
  • 浅析SuperMap iObject .NET开发完成后私有部署,打包安装

    作者 皇皇 SuperMap iObjict NET组件开发结束后 要部署在用户机器上使用 有两种部署方式 分别是共享部署和私有部署 共享部署简单 下载 NET组件 运行解压包下的Install bat进行安装 有许可就可以使用开发的程序了
  • Computed property was assigned to but it has no setter问题解决

    报这个是因为在computed中定义了某个属性 只有一个return额 而你在其他地方又对这个属性赋值了就会报这个 比如这样 mounted this submit computed setName return this form nam
  • 搭建和配置ROS环境,使用Rviz完成摄像头(camera)的视频采集,摄像头的标定

    目录 一 虚拟机Ubuntu18 04下搭建Ros环境 1 关于ROS机器人操作系统 2 ROS的安装配置 3 运行小海龟示例程序 二 Rviz完成摄像头 camera 的视频采集 1 配置摄像头 2 相关包的下载 三 USB摄像头运行和标
  • JqGrid完整例子,offer拿到手软

    width pager selector typeDefinePager where wherestring fileds id property name sensortype unit highvalue table kj typede
  • mybatis&plus系列------Mysql的JSON字段的读取和转换

    mybatis plus系列 Mysql的JSON字段的读取和转换 一 背景 在平常的开发中 我们可能会有这样的需求 业务数据在存储的时候 并不是以mysql中的varchar丶int等格式来存储的 而是使用json格式 这样做的好处是当数
  • Sprint回顾会议的一种简单玩法

    原文作者 Mike Cohn 回顾会议该怎么开 团队不同 大家的做法或许各有不同 我想介绍一种我最喜欢的方式 特别是因为这种方法经受住了时间的考验 很多年以来 我已经把它运用在了很多很多的团队里 开始 停止 继续 我喜欢在sprint回顾会
  • 第二章:25+ Python 数据操作教程(第四节使用 PANDAS 读取 CSV 文件的 15 种方法)

    本教程介绍了如何使用 pandas 包的 read csv 函数在 python 中读取 CSV 文件 如果不使用 read csv 函数 用 python 面向对象编程导入 CSV 文件并不简单 Pandas 是一个非常强大的数据操作 p
  • OLED屏幕实时显示超声波测距数值(Arduino学习笔记1)

    废话不多说 直接介绍该项目 1 元器件和设备 Arduino UNO板 X1 HC SR04超声波测距模块 X1 OLED显示屏模块 X1 杜邦线公对公 X8 面包板 X1 2 接线到对应引脚 本人没有什么艺术造诣 天外飞线才是我的准则 3