课程规范性要求

news2024/9/28 13:23:59

课程制作规范

图片规范

允许范围:CC协议 / 作者授权 / 网站代理授权书
图片大小要求:1600 x 1200 dpi
图片长宽比:4:3

每章节格式要求

Week number

本周目标

1.通过背景学习,了解四足机器狗mini pupper上的微型控制计算机:树莓派。
2.通过使用GPIO对树莓派的LED灯进行控制的实例学习,了解digital与analog的区别。
3.通过对舵机的控制,掌握PWM的用法,了解四足机器狗mini pupper腿部单个舵机的基本控制。

课程内容

1.什么是树莓派?

树莓派(Raspberry Pi)是英国树莓派基金会开发的低成本微型单板计算机,硬件上配置有SoC (片上系统),具有 GPU和RAM并支持有线、无线连接方案,有着完善的社区与软件支持。
树莓派在具备计算机基本功能的同时,保持着一张卡片的大小,这意味着你可以简单便捷地搭建自己的机器人编程平台,并将微型计算机部署在小巧可爱的四组机器狗mini pupper上。

WARNING:图片均无商用版权,以下图片均需注意替换可商用图片

图片1:树莓派4B
请添加图片描述

2.如何使用树莓派?

在了解了树莓派的基本知识后,你将学习如何使用树莓派做一些简单的操作,比如控制树莓派板载LED灯闪烁。

实例1:控制树莓派板载LED灯闪烁

通过对树莓派本体板载LED灯的闪烁控制,熟悉对树莓派的控制。

实验要求

改变树莓派状态灯亮灭状态,使之发生周期为1s的持续闪烁。

实验知识

  1. 状态灯
    在树莓派4B上,状态灯对应的文件为如下,通过对文件的读写,可以改变状态灯的亮灭和亮度大小。
# 树莓派4B状态灯
/sys/class/leds/led1/brightness #亮度大小
/sys/class/leds/led1/trigger # 亮灭开关
  1. Python open()函数的用法
    python open() 函数用于打开一个文件。
    参考链接:Python官方 open()命令的详细资料
varible_name = open(file_name,mode,buffering)
# name : 要访问的文件名,需以字符串形式表现,比如'/sys/class/leds/led0/brightness'
# mode : 打开文件的模式,写入的模式为:'wb'
# buffering :缓冲,为了不调用close方法,实现无缓冲写入,此处为:0
status_led = open('/sys/class/leds/led1/brightness', 'wb', 0)
  1. Python sleep()函数的用法
    python sleep()函数推迟调用线程的运行,可以实现延时功能
    调用sleep()函数需首先引入time库的sleep函数
    参考链接:Python官方 time.sleep()命令的详细资料
from time import sleep
# 引入time库的sleep函数
time.sleep(time)
#	暂缓延时,长达time
sleep(0.5)
  1. 写入LED灯文件改变状态
status_led.write(b'1') # LED熄灭 b为encode到二进制
status_led.write(b'0') # LED开启

图片2:树莓派LED灯细节图

实验步骤

  1. 编写Python程序
#!/usr/bin/env python
# -*-coding:utf-8 -*-
from time import sleep
status_led = open('/sys/class/leds/led1/brightness', 'wb', 0)
while True:
    status_led.write('0')	#	Turn on
    sleep(0.5)
    status_led.write('1')	#	Turn off
    sleep(0.5)
  1. 运行程序,观察实验效果
    在led_blink.py的目录下执行以下命令:
sudo python led_blink.py

此时应观察到act-led绿灯闪烁,周期为1s。

图片3:gif图片 LED闪烁实验效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis实战—黑马点评(二)缓存篇

Redis实战—黑马点评(二)缓存篇 目录Redis实战—黑马点评(二)缓存篇1. 什么是缓存1.1 缓存的作用和成本2. 添加 Redis 缓存3. 缓存更新策略3.1 三种更新策略3.1.1 主动更新策略4. 缓存穿透4.1 常见两种解决办法4.1.1 缓存空值4.1.…

数仓理论【范式】【维度建模】

数仓理论 1 范式理论 1.1 范式概念 数据建模要遵循一定的规则,在关系建模中,这种规则就是范式 采用范式结构,可以有效的降低数据的冗余性 范式在获取数据时,需要通过join拼接出数据 范式有第一范式(1NF),第二范式…

双击-jar包无法运行解决方法

我自己是通过探索出来的方法解决的,网上的方法适合普通问题 网络流传方法 那种-jar和run.bat的就是曲解了问题意思,问题不是如何运行,而是如何双击jar包就可以直接运行。 普通小问题就是修改注册表,将java路径写进去后面加个 %1…

基于JDBC框架的事务管理

事务: Transaction, 是数据库中的一种能够保证多个写操作要么全部成功, 要么全部失败的机制在基于Spring JDBC的数据库编程中, 在业务方法上添加Transactional注解, 即可使得这个业务方法是事务性的举例, 一个银行转账操作, 转账时需要执行的sql语句大致是:UPDATE 存款表 SET 余…

前端必学的CSS制作Switch动画开关按钮演示

目录 前言 CSS 制作的 Switch 动画开关按钮 1.Html构建 2.CSS编写 3.完整代码 index.html文件 style.css文件 总结 前言 随着前端技术的不断发展与进步,界面交互的样式要求和美感也越来越高,很多网页的交互都加上了css动画,这里作者给大家分享一…

【参加CUDA线上训练营】共享内存实例1:矩阵转置实现及其优化①

【参加CUDA线上训练营】共享内存实例1:矩阵转置实现及其优化①1.完整代码2.原理介绍2.1 将各block 线程对应元素放入共享内存tile2.2 实现转置2.3 在此基础上修改参考文献本文参考Nvidia官方blog[An Efficient Matrix Transpose in CUDA C/C及其对应的github代码tra…

表情包可视化编辑、生成配置信息数据工具

合成GIF图片 - 表情包 后续,用于快速、便捷生成 img_config.js 中 要生成的GIF每一帧数据(写入头像图片信息参数); 1、先上传 写入GIF中头像 标准图,同时获取图片信息,更新 写入GIF中头像 初始值&#xff0…

5-HT2A靶向药物|适应症|市场销售-上市药品前景分析

据世界卫生组织称,抑郁症是一种多因素疾病,影响全球约3.5 亿人。中枢神经系统最广泛的单胺 - 血清素 (5-HT) 被认为在这种情况的病理机制中起着至关重要的作用,并且神经递质的重要性被“血清素假说”提升,将抑郁症的存在联系起来 …

配置Qt Creator

前言 为了使Qt Creator更像您最喜欢的代码编辑器或IDE,您可以更改键盘快捷键、配色方案、通用高亮显示、代码片段和版本控制系统的设置。 检查生成和运行设置 Qt Creator是一个集成开发环境(IDE),可以用来开发Qt应用程序。虽然您可以使用Qt Installer…

聊天不发表情包会不习惯吗,Python带你轻松采集上万个表情包

前言 (。・∀・)ノ゙嗨 大家好,这里是小圆 聊天没表情包你会有点不习惯的感jio吗 就比如新注册了个qq或者微信再或者企业微信 emmm我就是这样拿到新账号后,跟别人聊聊天想发送表情包 ,…

C++-类和对象(下)

C-类和对象(下)一,const成员函数二,再谈构造函数1,初始化列表2,explicit关键字三,static成员四,友元(friend)1,全局函数做友元2,类做友…

冷冻电镜 - ChimeraX Density Map 密度图 操作

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/129055160 由冷冻电镜所生成的Volume,需要观察其内部结构,使用ChimeraX进行操作。 加载Volumes,例如my_volume.mrc 效果如下: 高斯滤波 在命令行(Co…

python 数据分析可视化实战 超全 附完整代码数据

代码数据:https://download.csdn.net/download/qq_38735017/873799141.1 数据预处理1.1.1 异常值检测①将支付时间转为标准时间的过程中发生错误,经排查错误数据为‘2017/2/29’,后将其修改为‘2017/2/27’。②经检测发现部分订单应付金额与实付金额都为…

解决jupyter以及windows系统中pycharm编译器画图的中文乱码问题大全

一、jupyter环境下中文乱码问题解决 我们在jupyter的notebook中使用matplotlib画图的时候,经常性的会遇见一些中文乱码显示□的情况,如下所示: 在此,网上给出的方法大多是以下的解决方法: import matplotlib.pyplot as pltplt.rcParams[fo…

界面组件Telerik UI for WinForms R1 2023——全新的Windows 11主题

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。Telerik UI for WinForms组件发布了2023年第一个重大版本…

QCon演讲实录(下):多云管理关键能力实现与解析-AppManager

在上篇中,我们已经基本了解了多云管理。现在,我们将深入探讨多云管理关键能力实现:AppManager。 什么是AppManager? 上面我们讲了理论、我们自己使用的交付流程和整体架构,下面我们进入关键能力实现与解析的环节&…

Allegro如何通过视图显示区分动态和静态铜皮操作指导

Allegro如何通过视图显示区分动态和静态铜皮操作指导 用Allegro做PCB设计的时候,通常动态和静态铜皮是无法通过视图显示区分的,只能通过show element查看得知,如下图 左边铜皮是动态铜皮,右边是静态铜皮 但Allegro可以通过一些设置让动静态铜皮以不同效果显示出来 具体操…

Elasticsearch:使用 intervals query - 根据匹配项的顺序和接近度返回文档

Intervals query 根据匹配项的顺序和接近度返回文档。Intervals 查询使用匹配规则,由一小组定义构成。 然后将这些规则应用于指定字段中的术语。 这些定义产生跨越文本正文中的术语的最小间隔序列。 这些间隔可以通过父源进一步组合和过滤。 上述描述有点费解。我…

【计算机网络】HTTPS协议原理

文章目录一、认识HTTPS协议二、为什么要发明HTTPS三、HTTP与HTTPS的区别四、常见的加密方式1. 对称加密2. 非对称加密3. 数据摘要4. 数字签名五、HTTPS的原理探究方案1:只使用对称加密方案2:只使用非对称加密方案3:双方都使用非对称加密方案4…

2.15学习总结

上次被学长的问题给问住了,突然发现自己动规有点糊涂,然后就去屁颠屁颠的复习,找几个之前做过的题,突然发现,竟然还是写了好久才写出来,怎么说呢,信心被强烈打击到,然后自己找了一个…