设为首页 加入收藏

TOP

机器人编程教程3探索Raspberry Pi(一)
2023-08-26 21:10:23 】 浏览:84
Tags:程教程 探索 Raspberry

3探索Raspberry Pi

本章将涉及以下主题:

  • 探索 Raspberry Pi 的功能
  • 选择连接
  • 什么是 Raspberry Pi OS?
  • 为Raspberry Pi OS 准备 SD 卡

3.1 探索Raspberry Pi的功能

控制器将决定机器人的输入和输出类型、电子设备的功率要求、可使用的传感器类型以及运行的代码。更改控制器可能意味着重写代码、重新设计控制器的安装位置以及更改电源要求。

Raspberry Pi 是一系列专为教育领域设计的小型计算机。它既是一台完整的计算机,又有用于连接定制硬件的输入/输出引脚,因此深受创客(指喜欢制作机器人和小玩意儿等业余爱好的人)的喜爱。与标准计算设备相比,微控制器的成本相对低廉,体积也较小,这些都有助于实现这一目标。所有型号的 Raspberry Pi 都具有连接摄像头、显示器和键盘以及网络的功能。

3.1.1 速度和功能

Raspberry Pi 的功能强大,足以处理一些视觉处理任务,如面部识别和跟踪物体,后期型号的 Raspberry Pi 可以更快地完成这些任务。语音识别任务也是如此。因此,推荐使用速度更快的 4B、3B+ 和 3A+ 型号。Pico、Zero 和 Zero W 型号要慢得多,虽然系统仍能运行,但速度可能会令人沮丧。

Raspberry Pi 是一种单板计算机(SBC Single-Board Computer),其功能强大到足以运行完整的计算机操作系统,特别是 Linux 版本。

一些可用作控制器的替代 SBC 运行 Linux,如 BeagleBone、CHIP、OnionIoT 和 Gumstix Linux 计算机,但这些计算机要么比 Raspberry Pi 昂贵,要么功能较弱。只有部分产品集成了摄像头。虽然 BeagleBone 的模拟 IO 连接性更出色,但 Raspberry Pi 3A+ 更像是一个全能型产品,有许多扩展选项。

3.1.2 连接和网络

Raspberry Pi 3A+ 还配有 USB 端口和 HDMI 端口。我们不打算在本书中使用它们,不过如果出现问题,与机器人失去联系,它们在调试时还是很方便的。有鉴于此,我们建议配备额外的屏幕和键盘。

Raspberry Pi 4、3 和 Zero W 系列都板载了 Wi-Fi 和蓝牙。在本书中,我们将一直使用 Wi-Fi 与机器人连接,因此推荐使用具有 Wi-Fi 功能的机型。Wi-Fi 可用于对机器人进行编程、驱动和启动代码运行。

Raspberry Pi 有 I/O 引脚,可以连接到传感器。在 Raspberry Pi 3A+ 中,通用输入/输出 (GPIO General Purpose Input/Output) 连接已经焊接到位,可以随时使用。Raspberry Pi Zero 和 Zero W 型号没有连接针座。第一代 Raspberry Pi 电路板的 I/O 连接器也不尽相同。这些原因使得 3 和 4 系列 Raspberry Pi 成为最佳选择。

选择 Raspberry Pi 3A+ 或Raspberry Pi 4B

以下功能列表可以满足我们的所有需求:

  • 输入/输出
  • 摄像头接口
  • 可进行视觉和语音处理
  • 板载 Wi-Fi 和蓝牙
  • 运行 Python 代码
  • 预焊接接头,可连接机器人设备
  • 体积小,价格相对便宜

除此之外,3A+ 还配备了基于 ARM 的四核 CPU,主频为 1.4 GHz,足以满足我们的使用要求。以后的 Raspberry Pi 版本可能会以更快的处理速度和更多的功能取代该型号。

3.2 选择连接

在制作机器人时,我们将使用 Raspberry Pi 提供的部分连接。让我们来看看这些连接是什么,以及我们将如何使用它们。。


高亮区域表示使用中的连接:

首先,我们将使用电源接口,标记为电源输入,位于图的左下方。它通过微型USB(4B为tpye-c)接口插入,与许多手机上的接口类似。我们可以将 USB 电池组插入这个端口,只要它们能提供适当的电量。

中下部突出显示的端口是摄像头(摄像头串行接口 (CSI))端口;这是用于Pi摄像头的端口,我们将在准备进行视觉处理时连接摄像头。

我们将使用Raspberry Pi下方的Micro SD卡插槽来运行代码。我们将不使用以太网或 HDMI,因为我们将通过 Wi-Fi与Raspberry Pi通信。


The Raspberry Pi GPIO port (B+, 2, 3, 3B+, Zero, and Zero W)

外部设备可以连接到SPI、I2C、串行和I2S数据总线或数字I/O引脚。

3.2.1 电源引脚

5V和3.3V引脚以及标有GND的引脚用于供电。GND是接地的缩写,相当于电池或电源的负极。5V引脚可用于从电池为Pi供电。5V和3.3V可用于为小型电子设备或传感器供电。

3.2.1.1 数据总线

SPI、I2C 和串行总线用于在控制器和智能设备之间发送控制和传感器数据。I2S用于在Raspberry Pi之间传输编码数字音频信号(PCM)。可以通过配置启用这些数据总线的端口,或者在数据总线关闭时将这些引脚用作普通数字引脚。

标有SDA和SCL的引脚是I2C数据总线。我们将其用于传感器和电机控制板。指令通过该端口发送。

引脚9、10和11组成SPI端口,我们用它来驱动RGB LED。

虽然Raspberry Pi上有一个音频端口,但它并不适合驱动扬声器,因此我们将使用 GPIO 端口上的I2S引脚来驱动扬声器。I2S引脚为 18、19、20 和 21。由于它们也有用于音频输入的引脚,因此我们将其用于语音处理。

3.2.1.2 通用IO

其他没有特定字或阴影类型编号的引脚是通用I/O引脚。通用I/O引脚用于伺服电机、编码器和超声波传感器的数字输入和输出。

3.2.1 Raspberry Pi HAT

Raspberry Pi HAT(也称为 Bonnets)是设计用于插入 GPIO 针座的电路板,可方便地将Raspberry Pi连接到电机或传感器等设备。

有些电路板通过GPIO引脚连接更多电路板/连接装置来使用这些引脚,有些则需要扩展电路板来访问这些引脚。

HAT将GPIO引脚用于不同的用途;例如,音频HAT将I2S引脚用于音频接口,但有些电机控制器 HAT 使用相同的引脚来控制电机。同时使用这些HAT可能会出现问题,因此在使用多个HAT或特定总线时要注意这一点。

参考资料

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于 STM32 在使用 C++ 进行编程.. 下一篇uboot相关指令

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目