体育网站建设需求,wordpress主题中英文,wordpress改模板教程视频,增强网站互动实例1#xff1a;控制树莓派板载LED灯闪烁
实验目的
通过背景知识学习#xff0c;了解四足机器人mini pupper搭载的微型控制计算机#xff1a;树莓派。通过对树莓派板载LED灯的状态读写控制#xff0c;熟悉树莓派本身的操作及Linux中文件的读写。掌握常见函数time.sleep(…实例1控制树莓派板载LED灯闪烁
实验目的
通过背景知识学习了解四足机器人mini pupper搭载的微型控制计算机树莓派。通过对树莓派板载LED灯的状态读写控制熟悉树莓派本身的操作及Linux中文件的读写。掌握常见函数time.sleep()的用法。
实验要求
使用Python语言编程通过Linux文件的读写操作周期性地改变树莓派状态指示灯的亮灭状态使之发生周期为一秒的持续明暗闪烁。
实验知识
1. 什么是树莓派
树莓派Raspberry Pi是英国树莓派基金会开发的低成本微型单板计算机硬件上配置有SoC (片上系统)具有 GPU和RAM并支持有线、无线连接方案。值得称道的是树莓派有着完善的社区与软件支持这极大地方便了机器人开发初学者的入门学习。 树莓派在具备计算机基本功能的同时保持着一张卡片的大小这意味着你可以简单便捷地搭建自己的机器人编程平台并将这台微型计算机部署在小巧可爱的四足机器狗mini pupper上。 图片1树莓派4B 参考链接树莓派
2. 树莓派状态指示灯
在树莓派4B上状态指示灯对应的文件如下通过对Linux系统中对应文件的读写操作可以改变状态指示灯的亮灭状态。
# 树莓派4B状态灯
/sys/class/leds/led0/brightness # 灯1二进制亮灭开关
/sys/class/leds/led1/brightness # 灯2二进制亮灭开关本实例中的使用
status_led open(/sys/class/leds/led1/brightness, wb, 0)图片2树莓派板载的LED灯
3. Python open()函数的用法
python open() 函数用于打开一个文件在Linux中相当多的操作是通过对文件的读写完成的。
varible_name open(file_name,mode,buffering)
# name : 要访问的文件名需以字符串形式表现比如/sys/class/leds/led1/brightness
# mode : 打开文件的模式写入的模式为wb 意为以二进制方式写入
# buffering 缓冲为了不调用close方法实现无缓冲写入此处为0本实例中的使用
status_led open(/sys/class/leds/led1/brightness, wb, 0)参考链接Python open函数
4. Python sleep()函数的用法
python sleep()函数推迟调用线程的运行可以实现延时功能这使得LED灯在改变状态后可以保持一段时间再发生下一次状态的改变。 调用sleep()函数需首先引入time库的sleep函数。
from time import sleep
# 引入time库的sleep函数time.sleep(time)
# 暂缓延时长达time本实例中的使用
from time import sleep # 在文件头引入time库的sleep函数
sleep(0.5) # 用于延时保持灯的状态参考链接Python time.sleep函数
5. 对文件的写入
python的file.write()函数用于向文件中写入指定的字符串。 在文件关闭以及缓冲区刷新前字符串是暂未写入文件而是存在缓冲区里为了使树莓派快速改变灯的亮灭状态采用了无缓冲写入因此open()的buffering为0实现无缓冲写入。 当文件使用二进制写入时需要使用encode()方式转为bytes形式或者在其前加b。
status_led.write(b1) # LED熄灭 b为指定二进制
status_led.write(b0) # LED开启实验步骤
1. 编写Python程序 led_blink.py
#!/usr/bin/python
#coding:utf-8
# led_blink.py
# 使树莓派状态指示灯的亮灭状态周期性地改变发生周期为一秒的持续明暗闪烁。from time import sleep
status_led open(/sys/class/leds/led1/brightness, wb, 0)
# mini pupper 默认禁用了开启后的指示灯如led1无法闪烁此处可改为led0
# 如果你希望启用指示灯请修改/boot/firmware/config.txt
# 修改config.txt的具体方法可查看课程的进阶参考文档中实例1部分
while True:status_led.write(b0) # Turn onsleep(0.5)status_led.write(b1) # Turn offsleep(0.5)2. 运行程序观察效果
在led_blink.py的目录下执行以下命令
sudo python led_blink.py此时应观察到树莓派状态指示灯的亮灭状态周期性地改变发生周期为一秒的持续明暗闪烁。
图片3板载LED灯闪烁
实验总结
经过本知识点的学习和实验操作你应该能达到以下水平
知识点内容了解熟悉掌握树莓派树莓派的来历、用途及基本硬件性能✔树莓派树莓派的状态指示灯✔LinuxLinux的文件读写✔语言延时函数time.sleep()的用法✔