一起玩儿物联网人工智能小车(ESP32)——15. 用ESP32的GPIO控制智能小车运动起来(三)

这篇具有很好参考价值的文章主要介绍了一起玩儿物联网人工智能小车(ESP32)——15. 用ESP32的GPIO控制智能小车运动起来(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要:本文介绍用ESP32的GPIO控制智能小车朝各个方向运动

在前面已经实现了用ESP32开发板控制单个车轮正反向旋转。接下来就是同时控制4个轮子转动,让整个智能小车动起来了。

说干就干,第一步还是初始化8个GPIO引脚,将这8个引脚的初始状态都设置为低电平。配置好了以后,如下图所示:

一起玩儿物联网人工智能小车(ESP32)——15. 用ESP32的GPIO控制智能小车运动起来(三),开发工具软件,基于ESP32的物联网人工智能小车,ESP32,物联网,单片机,嵌入式硬件,c语言

在实现4轮同时运动之前,现根据我前面的接线表格,看一下各个引脚的状态与车轮转动方向的关系,然后根据这个关系,就可以轻松的控制车轮的转动方向了。

车轮

GPIO状态组合

车轮转动方向

左前轮

P26

P27

向前

向后

左后轮

P32

P33

向前

向后

右前轮

P25

P23

向后

向前

右后轮

P22

P21

向后

向前

如果你使用的GPIO引脚与我的不一致,或者接线方法不同,那么最好也按照我这个表格列一下你的各个轮子前后运动的控制状态是怎样的。有了这张表,将为你后边的开发带来极大的方便。

接下来是实现小车向前走3秒,然后再停下来的动作。之前一个轮子转动的控制我们已经学会了,控制4个轮子向前走,就是将这四个轮子向前走的GPIO引脚都设置成高电平,让四个轮子同时转起来就可以了。3秒之后,再将这几个引脚恢复到低电平,小车就停下来了。通过上面的表格可以查询出来,如果需要4个轮子向前运动,那么需要将P26、P32、P23和P21这几个GPIO设置为高电平,设置好后如下图所示。

一起玩儿物联网人工智能小车(ESP32)——15. 用ESP32的GPIO控制智能小车运动起来(三),开发工具软件,基于ESP32的物联网人工智能小车,ESP32,物联网,单片机,嵌入式硬件,c语言

设置好之后,就可以编译、上传了,看看你的小车是不是可以向前走3秒、停3秒,再向前走3秒、停3秒……了吧。这一系列动作所对应的源代码如下,相信不需要我的解释,你也能看懂了。

void setup(){

  pinMode(26, OUTPUT);

  pinMode(27, OUTPUT);

  pinMode(32, OUTPUT);

  pinMode(33, OUTPUT);

  pinMode(25, OUTPUT);

  pinMode(23, OUTPUT);

  pinMode(22, OUTPUT);

  pinMode(21, OUTPUT);

  digitalWrite(26,LOW);

  digitalWrite(27,LOW);

  digitalWrite(32,LOW);

  digitalWrite(33,LOW);

  digitalWrite(25,LOW);

  digitalWrite(23,LOW);

  digitalWrite(22,LOW);

  digitalWrite(21,LOW);

}

void loop(){

  digitalWrite(26,HIGH);

  digitalWrite(32,HIGH);

  digitalWrite(23,HIGH);

  digitalWrite(21,HIGH);

  delay(3000);

  digitalWrite(26,LOW);

  digitalWrite(32,LOW);

  digitalWrite(23,LOW);

  digitalWrite(21,LOW);

  delay(3000);

}

在前面讲解麦克纳姆论的时候,已经列举了一些麦克纳姆轮实现小车不同运动的方式。接下来我再给大家详细的总结一下车轮转动方向与小车运动方向的关系,需要说明的是,要确保运动的车轮是等速的,才可能实现表中的运动模式。

左前轮

右前轮

左后轮

右后轮

小车运动方向

向前

向前

向前

向前

正前方

向后

向后

向后

向后

正后方

向后

向前

向前

向后

正左方

向前

向后

向后

向前

正右方

向前

向后

向前

向后

原地掉头(右)

向后

向前

向后

向前

原地掉头(左)

向前

停止

停止

向前

右前方

向后

停止

停止

向后

左后方

停止

向前

向前

停止

左前方

停止

向后

向后

停止

右后方

向前

停止

向前

停止

向前右转1

停止

向前

停止

向前

向前左转1

向后

停止

向后

停止

向右后转1

停止

向后

停止

向后

向左后转1

向前

向后

停止

停止

向前右转2

向后

向前

停止

停止

向前左转2

停止

停止

向后

向前

向右后转2

停止

停止

向前

向后

向左后转2

大家可以看到表中有两个向前右转,这两个的区别就是转动的圆心不同,一个圆心在右后车轮,一个圆心在后轴的中心位置。大家可以尝试一些,看看能不能感受到这细微的差别。

好了,有了这张表,相信大家可以很快的实现麦克纳姆轮小车的各种运动了。

估计大家在实验的过程中,已经发现,使用Mixly的图形拖拽的模式进行开发确实很简单,很容易上手掌握。但在开发的时候,却又是非常复杂的,一个简单的动作就需要拖拽好多次的控件来实现,而且有很多类似的功能要设置很多次。这是有Mixly的开发方式决定的,这种图形化的开发方式,就决定了,它不能实现特别复杂的业务逻辑,对函数、循环等基本功能的支持也非常的有限。因此,下一步我们会逐渐的转向使用代码进行复杂功能的开发,而Mixly可以用于实现简单功能的验证,Mixly对单一简单功能的使用,还是很方便的。所以,我们会穿插使用2种开发方法,逐步引导大家转向面向代码的开发。文章来源地址https://www.toymoban.com/news/detail-818016.html

到了这里,关于一起玩儿物联网人工智能小车(ESP32)——15. 用ESP32的GPIO控制智能小车运动起来(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一起玩儿物联网人工智能小车(ESP32)——69 使用INMP441模块采集声音

    摘要:本文介绍如何使用INMP441模块采集声音 前边介绍了第一个基于I2S通信协议的MAX98357A模块,利用该模块可以播放各种声音文件。今天来介绍如何使用INMP441模块实现声音的采集功能,也就是如何将声音转变成数字信号。 INMP441是一款高性能,低功耗,数字输出的全向MEMS(微

    2024年03月15日
    浏览(66)
  • 一起玩儿物联网人工智能小车(ESP32)——63 SD和TF卡模块的使用

    摘要:本文介绍SD和TF卡模块的使用方法 前面介绍了非易失性存储的使用方法,由于空间和本身只支持键值对的限制,非易失性存储只适用于少量数据的记录。而不适用于各种声音、图片、大量数据等情况的使用。这时候就需要有文件系统或者更大容量存储空间的支持。SD卡(

    2024年02月22日
    浏览(55)
  • 一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法

    摘要:本文介绍姿态传感器MPU6050的使用方法 姿态传感器是一种用于测量物体姿态的传感器,它可以检测物体的加速度和角速度,并计算出物体的方向和角度。前边介绍的RPI-1031只能定性的得到物体的倾斜情况,而姿态传感器则可以定量的得到物体倾斜的方向和角度。 MPU6050是

    2024年04月28日
    浏览(43)
  • 一起玩儿物联网人工智能小车(ESP32)——12. 组装L298N驱动马达和供电电路

    摘要:本文介绍L298N模块与TT马达以及电源模块的接线方法,并进行初始测试。 在前面完成了第一个ESP32程序。接下来要继续组装我们的智能物联网小车了。今天要完成的工作就是完成智能小车电机驱动和ESP32开发板的控制电路连接。在具体的动手之前,先要进行一些准备工作

    2024年02月02日
    浏览(53)
  • 一起玩儿物联网人工智能小车(ESP32)——59. 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)

    摘要:本文是TFT液晶屏的基本知识和TFT_eSPI库的简单介绍 在前边已经介绍过0.96寸OLED显示屏的使用方法,那是一个单色屏,显示效果很是一般,因此,本篇来介绍彩色TFT(Thin Film Transistor:薄膜晶体管)显示屏的使用方法。 TFT屏幕和OLED屏幕是两种不同的显示器件。TFT屏幕和

    2024年02月21日
    浏览(46)
  • 一起玩儿物联网人工智能小车(ESP32)——61 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)(三)

    摘要:本文介绍TFT_eSPI中文字库的制作方法 前面已经介绍了TFT_eSPI库的基本使用方法,如果你可以将英文显示到液晶屏幕上了,那么就可以尝试本文的制作中文字库,并显示中文到液晶屏幕了,否则还是要先完成上一篇文章的学习。 接下来就开始制作中文字库。TFT_eSPI自带了

    2024年02月21日
    浏览(50)
  • 一起玩儿物联网人工智能小车(ESP32)——41. 直流有刷电机驱动模块——L9110S、TB6612FNG和DRV8833简介

    摘要:本文介绍如何使用直流有刷电机驱动模块——L9110S、TB6612FNG和DRV8833 在前边很详细的介绍了直流有刷电机驱动模块L298N,该模块性能良好,输出功率大。但体积也是偏大,本篇文章介绍一下市场上另外几个常见的小型直流有刷电机驱动模块L9110S、TB6612FNG和DRV8833的使用方

    2024年02月21日
    浏览(47)
  • 一起玩儿物联网人工智能小车——04. TT马达的基本介绍

    马达和电机在英语中是两个词,但在我们汉语中感觉差别不大,大概是电机专指电能转与机械能的相互转换的装置,而马达可能包含其他形式的能量与机械能的转换装置。在本文中马达就是特指将电能转化为机械能的电动机。 日常使用的电动机在作用上通常可以分为两种,一

    2024年02月20日
    浏览(50)
  • 物联网毕设 -- 智能图像小车(ESP32+STM32+APP)

    目录 前言  小车拓展 一 连线图 1. 原理图 2. 流程图 3. 实物效果 4. 功能概括 (1)硬件端: (2)APP端: 演示视频 二 底层代码使用方式 1. 使用说明 2. 下载程序 三 APP使用方式 1.下载APP (1)操作方式: (2)使用说明 2. APP界面 🫡若需要,请咨询博主🫡 这个项目的硬件端是

    2024年02月15日
    浏览(44)
  • 走进人工智能| 智能物联网 AIoT的魅力交织

    前言: AI+IoT是指人工智能(AI)与物联网(IoT)的结合。智能物联网是一种技术体系,通过连接和集成物理设备、传感器和互联网,实现设备之间的智能交互和数据共享,为人们提供智能化、自动化和高效化的生活和工作体验。 智能物联网 (Internet of Things,IoT)是指 通过物

    2024年02月14日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包