- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十九课,多Button控制(复杂电路)
电路
这个是我做的2个button和5个LED,一个数码管的一个电路,老师们可以根据自己班级情况增加按钮和LED。在电路中数码管的每个二极管都要串联一个330电阻,每个按钮要串联一个10k电阻,(参照17课18课来连接按钮和数码管。)然后我们串联5个以上的发光二极管(LED)(颜色不同,为了好看),我为了省杜邦线,并且看简洁一点,所以我的发光二极管负极连接在了同一个GND上,如图,
数码管的连接,一定要注意,在我们通电前,检查好,确保每一个二极管串联一个330电阻,10k的电阻太大了二极管不会发光,所以用330就行。
代码:19-20_1summary.py
第二十课,程序讲解
代码:
本节课主讲代码,及注意事项。其实本节课是一节复习课,我们将16,17,18课整理到了一起变成了一个项目,那么我们先看一下我们的代码,在代码中我们可以很清晰的看到我们有3个函数,setup(),loop(s),Flash(x)在try中我们线运行了setup,在后运行循环,在循环中判断按钮,分别来实现流水灯和闪烁灯并计数的功能那我们在设计代码的时候,在我们的脑海里就应还呈现这些函数的写法了。比如我们的setup,是设置针脚的,loop是流水,flash是闪烁的,接下来就是我们的逻辑排序和代码实现功能了。
首先, 在我们写3个函数时,肯定是没有逻辑顺序的,当我们调用和判断按钮时,才会出现逻辑的关系。所以大家以后写代码设计代码的时候也要注意这些。
接下来我们整体的看一下代码,pins是我们所有LED的针脚列表,用了几个LED就写几个,我用了5个,所以谢了5个针脚进去,这里顺序也是重要的,你可以根据led从左到又,也可以从右到左。把这些led的针脚存入pins中。LED_PINSZ这个数码管的8个LED的列表,当然了,这个也是有顺序的,按照ABCDEFG(Dp)的顺序存入列表中。当然了,不论pins也好或者是LED_PINS也好,这都是我们自己起的列表名字,大家也可以自己起名字。只要自己清晰自己写的时候什么就行。接下来声明button的变量,有个声明几个,我用了2个所以就声明两个就行。然后声明了一个数码管状态的变量ON,值为True或者False,如果你用的是共阳极数码管,就选择False,如果你用的是共阴极,(我用的共阴极)就选择True。至于怎么分辨数码管的共极请看第17课。
setup():
各种设置,初始化。
loop(s)
s参数是我们调用时填写的延时秒数,用法循环来遍历每一个pins中的针脚号,设成到电平点亮,设成低电平灭掉,点亮之后一个延时时间,紧接着熄灭,记住熄灭是不需要延迟的,因为我们要流水,第一个灯亮,灭掉之后,第二个灯在第一个灯灭掉的同时亮起来,以此类推实现流水灯。
Flash(x):
x参数为调用时设置的延时时间。利用两个循环分别控制亮暗,通过时间延迟来实现闪烁。
try:
调用setup()
判断按钮,分别调用loop和flash,期间,用循环来实现多次运行loop和flash并且,再循环中实现倒计时,具体可以看代码注释。
到此我们树莓派就告一段落,我们再次来强调一下一些注意事项,
首先,在连接电路的时候,一定要分清LED正负极,(一般长正短负),然后是我们的数码管的每一个二极管一定要连接一个电阻,不然通电之后必烧。按钮连接的电阻一定是最大的,330不够大,不能是电压无限接近0.其实用10k的也是将电压无限接近0,并没有电压直接改变成0.其实改变电压为0只有一个方法,就是断路。在使用led和数码管,按钮时,一定要注意针脚顺序,针脚号,不要重复使用。每一个都是单独用的。最后,电阻够用的情况,连接LED也串联一个330电阻吧,起到保护电路作用。最后。finally,每次运行之后,不要restart因为有finally,直接ctrl+c来结束程序,让程序运行清理针脚的代码。建议以后try和finally经常使用。起到检测和监测作用,方便我们调试。
第二十一课,圆,多边形
1,minecraftstuff模块
咱们之前没有接触过这个模块,这个模块是Minecraft API里的一个扩展模块,(API就是接口的意思)。MinecraftDrawing是minestuff模块中的一个类,类是面向对象编程方法里的一部分。类里面有好多函数,我们把相似的函数和数据聚集起来,这里我们用MinecraftDrawing类绘图。咱们可以看下mcpi库里的minecraftstuff.py,里面的class MinecraftDrawing就是定义一个类,class是定义类的关键字。咱们用的drawLine()等
原创力文档


文档评论(0)