红外遥控且自动避障的嵌入式智能小车系统

news/2024/11/30 8:54:01/

访问【WRITE-BUG数字空间】_[内附完整源码和文档]

本次实验使用树莓派作为开发平台,AlphaBot 作为开发载体,Python 作为开发语言,开发一种基于红外线遥控控制的、可自动避障的嵌入式智能小车系统。

智能系统中的嵌入式应用

  1. 实验目的
    嵌入式系统(Embedded System),是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。

嵌入式计算机是面向应用、面向产品的、具有特定用途的计算机。它们没有刻意被制造成计算机的形态,往往以产品本身的形式展现在用户面前。

本次实验使用树莓派作为开发平台,AlphaBot 作为开发载体,Python 作为开发语言,开发一种基于红外线遥控控制的、可自动避障的嵌入式智能小车系统。

  1. 实验介绍
    2.1 树莓派介绍
    树莓派结构简单、体积小、耗电低,却拥有与普通计算机几乎相同的功能和性能,可以很方便地植入到各种应用系统中。此类单板计算机是典型的嵌入式系统的基础。

2.2 AlphaBot2 介绍
AlphaBot2 智能车开发套件,包含一个基板 AlphaBot2-Base 和一个适配板(AlphaBot2-Ar、AlphaBot2-Pi、AlphaBot2-PiZero 三者之一)。其结构稳定,集成度高,不用复杂的组装以及繁琐的接线,有助于快速学习嵌入式系统开发。

2.3 Python 介绍
Python 有着大量支持嵌入式系统开发的第三方库,例如 RPi.GPIO 等。以 Python 作为开发语言,可以避免直接与底层交互,将主要精力放在高层抽象逻辑上。

  1. 实验内容
    源码见附录处。

3.1 实验方法
本次实验使用 Python 的第三方库 RPi.GPIO 和 rpi_ws281x,实现小车的红外控制、led 控制、蜂鸣器控制、超声波自动避障。

3.2 实验流程
3.2.1 智能小车组装
本次实验用到的智能小车组件:

AlphaBot2-Base(基板)
AlphaBot2-Pi(适配板)
树莓派
蜂鸣器
红外遥控器
超声波探测器
根据 AlphaBot2 智能小车官网教程,组装智能小车。

官网链接见附录,具体路径为:资料 -> AlphaBot2 原理图/组装图 -> AlphaBot2-Pi 组装图。

3.2.2 生产环境配置
本次实验的特殊性在于,生产环境无法直接测试代码,必须将代码移植到树莓派上才可以测试。

生产环境只需代码编辑器即可,以 vscode 和 PyCharm 为佳。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/61969.html

相关文章

Python使用phonenumbers库实现电话号码解析

phonenumbers是一个Python库,用于解析、验证和格式化国际电话号码。它支持多种格式的电话号码,包括E.164、国际、国内和RFC 3966等格式。本文将介绍如何使用phonenumbers库来解析电话号码。 安装phonenumbers库 在使用phonenumbers库之前,需…

武忠祥老师每日一题||定积分基础训练(九)

∫ 0 1 ln ⁡ ( 1 x ) ( 2 − x ) 2 d x \int_{0}^{1}\frac{\ln (1x)}{(2-x)^2}\,{\rm d}x ∫01​(2−x)2ln(1x)​dx 根据题目的特点,有对数函数、有理函数,两种不同类型的函数相乘,对此,应用分部积分法。 当出现对数后&#xff…

输入捕获模式测频率、PWMI模式测频率占空比

一、知识点 TIM输入捕获模式: 1、输入捕获模式测频率占空比 信号源:产生一个频率和占空比可调的波形 无信号发生器的情况:先用PWM模块,在PA0端口输出一个频率和占空比可调的波形,把PA0和PA6连在一起,PA6为输…

单片机作业3

1.下列指令能使R0低4位不变,高4位置F的是_____。 A、ANL R0,#0F0HB、ORL R0,#F0HC、ORL R0,#0FHD、ORL R0,#0F0H 我的答案:D ORL:逻辑或 ANL:逻辑与 16进制,所以F前…

认识监听器(Listener)

监听器是什么? 监听器(Listener)是一种运行在后台的程序,它主要用于监控某些事件在系统中的发生,并且根据这些事件做一些特定的处理。在Web应用程序中,监听器可以观察ServletContext、HttpSession以及Serv…

linux device tree 编译工具 dtc

/* * 设备树框架 */ 设备树用树状结构描述设备信息,它有以下几种特性 每个设备树文件都有一个根节点,每个设备都是一个节点。 节点间可以嵌套,形成父子关系,这样就可以方便的描述设备间的关系。 每个设备的…

Reid度量学习Triplet loss代码解析。

该文章是对之前 Reid损失函数理论学习的补充。从代码方面进行Triplet loss(三元组损失函数)的学习。以及包含Tirplet hard是如何找最困难的正负样本。 目录 TripletLoss 计算距离矩阵 寻找困难样本 score, feat model(img) 此时score的shape为[8,7…

leetcode 38. 外观数列

题目描述解题思路执行结果 leetcode 38. 外观数列. 题目描述 外观数列 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符…