当前位置: 首页 > news >正文

东莞市建设规划局网站游戏类企业网站模板

东莞市建设规划局网站,游戏类企业网站模板,网站建设实训设备,重庆网站建设百度推广目录 一、实验目的 二、实验环境 三、实验内容 四、实验记录及处理 五、实验小结 六、成果文件提取链接 一、实验目的 熟悉和掌握各模块联合控制的工作方式 二、实验环境 Win10ESP32实验开发板 三、实验内容 1、用串口和OLED显示当前小车与障碍物的距离值&#xff1b…

目录

一、实验目的 

二、实验环境

三、实验内容

四、实验记录及处理

五、实验小结

六、成果文件提取链接

一、实验目的 

        熟悉和掌握各模块联合控制的工作方式

二、实验环境

        Win10+ESP32实验开发板

三、实验内容

        1、用串口和OLED显示当前小车与障碍物的距离值;

        2、当后侧障碍物到达警戒距离时开始提示报警,并随距离靠近变为急促;(警戒距离自己设定)

        3、加入电机运行控制,例如通过UART控制小车的前进、后退、加速、减速、停止。

四、实验记录及处理

        

  1. 器件连接

OLED

设备名称

设备管脚

ESP32管脚

SCL

22

22

SDA

21

21

       蜂鸣器:

设备名称

设备管脚

ESP32管脚

I/O

27

27

       超声波距离传感器

设备名称

设备管脚

ESP32管脚

Trig

4

4

Echo

16

16

       电机:

设备名称

设备管脚

ESP32管脚

A-1A

25

25

A-1B

26

26

  1. 实物连接图(拍照,控制图片大小,能看清即可)及程序运行结果描述

任务:

显示当前小车与障碍物的距离值

OLED显示:OLED屏幕会显示当前测量的距离值,单位为厘米。显示内容类似于:如果大于450cm或者小于15cm,屏幕会显示Invalid Data

      

电机运行控制

串口命令控制:通过串口输入以下命令,可以控制电机的运行状态:1是加速,2是后退,3是加快,4是减速,5是停止

 程序控制代码,部分代码如下,完整代码请查看网盘链接:

long duration;  //持续时间
float distance;   //测量距离
void setup() {// put your setup code here, to run once:Serial.begin(115200);pinMode(motor1_PWM, OUTPUT);    pinMode(motor2_PWM, OUTPUT);  ledcSetup(motorChannel1,freq,resolution);  ledcAttachPin(motor1_PWM,motorChannel1);ledcSetup(motorChannel2,freq,resolution);  ledcAttachPin(motor2_PWM,motorChannel2); pinMode(TrigPin,OUTPUT);pinMode(EchoPin,INPUT);pinMode(buzzer,OUTPUT);digitalWrite(buzzer,HIGH);u8g2.begin();u8g2.enableUTF8Print();
}
void motor_on(){ledcWrite(motorChannel2, 1000);   //正转 ledcWrite(motorChannel1, 0);Serial.printf("前进");  delay(3000);  
}
void motor_back(){ledcWrite(motorChannel2, 0);    //反转ledcWrite(motorChannel1, 1000);Serial.printf("后退");delay(3000);
}
void motor_slow(){if(motorSpeed1<1500){motorSpeed1+=increment;if(motorSpeed1>1000) motorSpeed1=1000;ledcWrite(motorChannel1,motorSpeed1);}Serial.printf("减速");
}
void motor_fast(){if (motorSpeed1 > 0) {  motorSpeed1 -= increment;  if (motorSpeed1 < 0) motorSpeed1 = 0; // 确保不低于最小值  ledcWrite(motorChannel1, motorSpeed1);  }Serial.printf("加速");
}void motor_stop(){ledcWrite(motorChannel2,0);   //停止ledcWrite(motorChannel1,0);Serial.printf("停止");delay(1000);motorSpeed1=0;
}
void motor_choose(int choose) {switch (choose) {case 1: motor_on(); break;case 2: motor_back(); break;case 3: motor_fast();break;case 4: motor_slow();break;case 5: motor_stop();break;default: Serial.println("无效选择"); break;}
}
void buzzer03()
{for(int i=0;i<3;i++){digitalWrite(buzzer,LOW); delay(400);    //用不同的延时时间来改变报警声音的效果digitalWrite(buzzer, HIGH); delay(200); } 
}

五、实验小结

超声波测距:使用超声波传感器(TrigPin 和 EchoPin)测量小车与障碍物之间的距离。通过触发超声波脉冲并测量回波时间来计算距离。

蜂鸣器报警:当距离小于设定的警戒距离时,蜂鸣器报警

电机控制:使用PWM信号通过GPIO控制电机的前进、后退、加速、减速和停止。通过串口接收用户指令来控制电机的运行状态。

六、成果文件提取链接

链接: https://pan.baidu.com/s/14AjaJ6nyJAsIDe5WP5vfFQ?pwd=jiis 提取码: jiis

http://www.dtcms.com/a/419282.html

相关文章:

  • C++---bind(绑定函数或函数对象的参数)
  • 网站和域名网站开发技术是什么
  • 个人如何开网站西安网络推广外包公司
  • 国产处理器飞腾CPU各系列综合性能对比
  • 南宁网站设计推广wordpress+授权登录
  • 网站建设深圳哪里学品牌建设提升
  • 《LangChain入门指南》学习笔记1:第1章 LangChain:开启大语言模型时代的钥匙
  • 国清汇携手社保基金会推出《国脉相承·传世养老基金》
  • 3、内存系统详解 - 从DDR演进到GPU内存架构的认知基石
  • 芯片和半导体:Intel开始布局14A工艺
  • JavaWeb 课堂笔记 —— 26 SpringBoot 原理
  • 网上国网app下载安装哈尔滨seo优化排名
  • HTTP首部字段(速查-全47种)
  • 嘉兴高端网站定制100网站建设
  • TypeScript的新类型:unknown
  • MacOS 使用ssh2-python报错ImportError: dlopen ... _libssh2_channel_direct_tcpip_ex
  • 天蓝色美容网站扶贫基金会网站建设是哪家公司
  • 大模型离线部署docker(推荐) + dify部署(docker)
  • 如何基于源码快速搭建数字药店系统?药店买药APP开发实战指南
  • 网站开发文档范例赣榆网站建设xxiaoseo
  • 用生活中的实例解释java的类class和方法public static void main
  • Java SE “概念与优势”面试清单(含超通俗生活案例与深度理解)
  • wordpress发布站点wordpress 链接微博
  • 2025 AI 产业:技术趋势、伦理治理与生态重构
  • 网站开发用到什么技术南昌房产网官方
  • 2025年HTTP代理实测报告:速度、稳定性、价格深度对比
  • Docker 使用技巧:从效率优化到生产级实践(含命令示例)
  • 怎么做网站导航地图网站竞价托管
  • jn建站系统官网网站建设招标网
  • Pycharm 、IDEA卡顿问题解决方案