设为首页 加入收藏

TOP

机器人编程教程2探索机器人-代码和电子设备(二)
2023-08-26 21:10:25 】 浏览:128
Tags:程教程 索机器
作用不大,对传感器来说是透明的。

HC-SR04 需要在控制器中进行精确计时,以确定回声的时间,我们必须用代码来管理这一点。与 VL53L0X 激光传感器相比,HC-SR04 的探测距离更远,价格也更便宜,但在近距离时灵敏度较低

  • 线性传感器

这是一组三个线型传感器,利用光来检测从亮到暗的过渡。它们可以进行调整,以便在不同条件下进行感应。这些模块有几种变体。这些模块可根据其下方的明暗区域提供开或关信号。它们是最简单的传感器。

  • 麦克风

第五个传感器是一对麦克风。它们可以直接连接到Pi上的PCM引脚。其他一些麦克风需要连接到电子设备上,才能将信号处理成Raspberry Pi可以使用的信号。

  • 光学中断传感器

它能检测穿过两根柱子间缝隙的红外光,感知柱子间是否有东西干扰了光束。这些传感器与凹槽轮一起使用,通过计数凹槽来检测旋转和速度。与轮子一起使用时,它们也被称为编码器。

还有很多传感器,包括用于检测肢体位置、光线、烟雾、热源和磁场的传感器。这些传感器可以用来制作更先进的机器人,并添加更多令人兴奋的行为。

我们已经介绍了电机、显示器、指示器和传感器,以及它们的类型、示例和一些细节。这些都是让我们的机器人与世界互动的部件。现在,我们将开始学习控制器,即运行代码并将传感器和电机连接在一起的机器人部件。

2.3 探索控制器和I/O

机器人框图的中心是控制器。机器人通常有一个主控制器,即某种计算机。它们还可能有一些辅助控制器,一些更特殊的机器人有很多控制器。本书将保持简单,您的代码将在传统的中央控制器上运行。控制器将所有其他部分连接在一起,并构成它们互动的基础。

在了解控制器之前,我们需要更好地了解将控制器与其他部件连接起来的一个重要部件--I/O 引脚。

2.3.1 I/O 引脚

I/O引脚用于控制器的输入和输出。它们使控制器能够连接现实世界中的传感器和电机。

控制器上的I/O引脚数量是在不使用辅助控制器的情况下与机器人连接的限制因素。您可能还会看到通用输入输出(GPIO)这一术语。控制器的I/O引脚具有不同的功能。

最简单的I/O引脚只能输出或读取开/关信号。这些引脚被称为数字I/O引脚。它们可以通过信号定时编程来执行复杂的任务。这就是HC-SR04 距离传感器所采用的原理。高电平代表数字逻辑高电平(1,真,开)。低电平代表数字逻辑低电平(0,假,关)。控制器会尝试将任何值解释为高电平或低电平:

模拟输入引脚可以读取不同的电平,如图是另一个电压-时间曲线图。如果传感器产生不断变化的电阻或连续刻度值,那么模拟引脚就是合适的。这有分辨率限制,例如,8位模拟输入可读取256个可能的值:

脉宽调制(PWM Pulse Width Modulation)引脚输出循环数字波形,下图也显示了随时间变化的电压,但脉冲的定时代表了连续电平,因此虚线显示的是定时产生的连续电平。PWM输出允许代码选择频率和导通时间。在一个周期内,接通时间与断开时间的长短会发生变化,从而改变输出信号。这通常用于控制电机的速度:

有些I/O引脚可用于组成数据传输线,如串行总线、I2S 总线、I2C 总线和 SPI 总线。它们被称为数据总线。数据总线用于向或从其他控制器和智能传感器发送数据。

微控制器引脚可用于数字或模拟输入和输出,也可作为数据总线的一部分。许多控制器允许在运行的软件中配置引脚的使用模式,但有些功能仅限于特定引脚。

2.3.2 控制器

虽然只要掌握适当的技能,就可以使用裸微控制器芯片来创建周围的电子设备和自己的印刷电路板,但在本书中,我们将通过使用控制器模块来保持简单。这些模块往往是成套的、易于使用的系统:


部分控制器模块:Raspberry Pi、NodeMCU、Arduino 和 micro:bit

它们都可以通过USB连接供电。除Raspberry Pi外,所有控制器都可以通过USB进行编程。它们都有连接器,可以方便地连接I/O引脚。让我们看看每种控制器的特点和优缺点:

  • 树莓派

功能强大,足以进行视觉处理。它的功耗略高,价格较贵,但功能与手机类似。它拥有最灵活的编程环境。有几种型号可供选择。它们有很多I/O引脚,但都不是模拟输入引脚。

  • NodeMCU

基于ESP8266控制器。该控制器内置Wi-Fi,可使用Arduino C++、MicroPython或Lua进行编程。它有大量I/O引脚,但只有一个能读取模拟信号。它支持多种数据总线类型。与 Arduino相比,它的速度更快,可容纳的程序也更多。它是本阵容中最便宜的控制器。

  • Arduino Leonardo

基于Atmega 328芯片。Arduino 之所以重要,是因为它可以通过USB轻松连接到电脑,并通过编程立即与连接到其I/O引脚上的设备进行交互。Arduino主要使用C++语言编程。它具有最灵活的内置I/O引脚--7个模拟引脚、多个数字引脚、PWM 输出引脚,并可设置为处理大多数数据总线。Arduino的处理器非常简单,不能执行视觉或语音处理任务。在这里展示的所有选项中,Arduino的功耗最低。

  • micro:bit

该产品于 2015 年发布,用于教育领域,非常适合儿童使用。在机器人技术中使用时,如果您需要的I/O引脚多于其出厂时的3个,则需要一个额外的适配器,但它仍然是功能相当强大的机器人控制器,并配有方便的内置LED矩阵。它可以用 MicroPython、C、java script 和其他几种语言编程。

值得一提的还有PIC微控制器,这里没有配图。这种微控制器早在其他微控制器之前就被用于业余机器人技术,并且拥有一个蓬勃发展的社区。

以下是根据优缺点对控制器进行的比较:

其他控制器运行的可能是简单的解释器或编译代码,而Raspberry Pi运行的是完整的操作系统。当前的型号具有Wi-Fi和蓝牙功能,我们将利用这些功能制作无头机器人并与游戏控制器连接。

2.3.2 选择树莓派

下图显示了几款当前的Raspberry Pi型号。随着新款Raspberry Pi的发布,机器人制作者可能需要根据最新版本进行调整。所有这些型号都具有Wi-Fi和蓝牙功能。Raspberry Pi的I/O引脚支持多种数据总线类型和数字I/O。模拟读取和其他一些I/O功能需要外部控制器:


Raspberry Pi 型号 - 4B、3A+ 和 Zero W

  • Raspberry Pi 4B

作为最新型号,它是该系列中速度最快、功能最强大的。它占用空间更大,是这一组中最贵的,耗电量也最大。

  • Raspberry Pi 3A+:

它在尺寸和功耗方面都做了很好的折衷。它完全能够通过摄像头进行视觉处理。它的速度不如4B+快,但对于我们的目的来说绝对够快。

  • Raspberry Pi Zero W

这是其他型号 Raspberry Pi 的廉价、轻便替代品。仍然支持摄像头和扬声器。Zero WH 型号还包括I/O接头。它的语音和视觉识别速度比 Raspberry Pi 3 和 4 慢。它们体积小,因此也是遥控板的一个有趣选择。

另外有更便宜的Raspberry Pi Pico,只适合进行简单的控制。

Raspberry Pi 4B 可能是功能最强大的,但 3A+ 功能强大,足以应对这里的所有活动。

参考资料

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hi3798MV200 恩兔N2 NS-1 (四): .. 下一篇痞子衡嵌入式:借助i.MXRT10xx系..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目