micropython按键控制流水灯_【micro:bit Micropython】The LED Display(1)控制像素点

使用DFrobot研发的micropython编程软件uPyCraft,下载固件(Firmware)和下载程序都非常方便。可以在DFrobot论坛中进行下载。

7a3df8a0523629ddbe4b29f8e898b754.pnguPyCraft软件运行界面

官网中的micro:bit Micropython API介绍得非常详细,为开发人员提供了详细的文字说明和参照。

197552a007d808b356b22f2964e45303.pngmicro:bit Micropython API 在线文档

接下来我们就开始编写一个个简单的Python程序,学习如何通过代码,点亮一个个LED点阵中的像素点。

项目活动:点亮micro:bit LED点阵中的像素点(pixels)

基础知识:

display.set_pixel(x, y, val)

# sets the brightness of the pixel (x,y) to val (between 0 [off] and 9 [max # brightness], inclusive).

display.set_pixel(x, y, val)方法有3个参数,用以设置像素点(x,y)的亮度(brightness),值(val)在0~9之间,0为最暗(关闭LED灯),9为最亮。

开始在uPyCraft中编程:

01 导入microbit的各种属性、方法。

from microbit import *

02 创建image对象并初始化。

image = Image()

03 点亮坐标值为(0,0)的LED,并将亮度设为9。

from microbit import * image = Image() image.set_pixel(0,0,9) display.show(image)

每个LED像素点的亮度值从暗(熄灭)到亮(最亮),范围为0~9。

程序运行效果:

27229786d57fa8ce612afd78f1f0f922.png

04 使用for循环,让第0排LED灯从左到右“遍历”(流水灯)。

from microbit import * image = Image() for i in range(0,5): image.set_pixel(i,0,9) display.show(image) sleep(500)

程序运行效果:

a161f35ff9757f68610fc5d0d6699567.gif

05 换成第0列LED灯从上到下遍历。

from microbit import * image = Image() for i in range(0,5): image.set_pixel(0,i,9) display.show(image) sleep(500)

程序运行效果:

7d24659e07a436fcfadd53a690aedff7.gif

06 LED灯走对角线。

from microbit import * image = Image() for i in range(0,5): image.set_pixel(i,i,9) display.show(image) sleep(500)

程序运行效果:

b199d5f039b792e1e96b38d913080bf2.gif

07 所有25个LED灯从左到右、从上到下,全部遍历。

方法一:使用两个for循环嵌套。

from microbit import * image = Image() for i in range(0,5): for j in range(0,5): image.set_pixel(j,i,9) display.show(image) sleep(300)

方法二:使用一个for循环+商与余数算法。

from microbit import * image = Image() for i in range(0,25): image.set_pixel(i%5,i//5,9) display.show(image) sleep(300)

注://是向下取整的除法。

08 加入无限循环(while True:)。

from microbit import * image = Image() while True: for i in range(0,25): image.set_pixel(i%5,i//5,9) display.show(image) sleep(300) #清空屏幕所有像素点,并等待1秒钟 image = Image() display.show(image) sleep(1000)

程序运行效果:

b652b28e9a50201696c783665760da45.gif

09 改为像素点逐个消失。

from microbit import * image = Image() while True: #逐个显示 for i in range(0,25): image.set_pixel(i%5,i//5,9) display.show(image) sleep(300) #等待1秒 sleep(1000) #逐个消失 for i in range(0,25): image.set_pixel(i%5,i//5,0) display.show(image) sleep(300) #等待1秒 sleep(1000)

程序运行效果:

7276f7b9208a2944d539d2a6ea3435b3.gif

附录:

08 对应的MakeCode程序:

cfe04e9317af66277dffab2aa7ce74c5.png

09 对应的MakeCode程序:

9e2b57bf2b23102f8d866524643f5879.png

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

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

相关文章

python中exp_python中的exp是什么

Python exp() 函数描述exp() 函数返回 x 的指数,。语法import mathmath.exp(x)注意:exp() 是不能直接访问的,需导入 math 模块,通过静态对象调用该方法。参数x -- 数值表达式。返回值返回 x 的指数,。实例# -*- coding…

python干货_python 基础干货 02

list 与 tuplelist 类似 数组tuple 跟 list 一样, 只是一旦定义, 里边的内容不可以改变.这样, 上边的内容就不可以改变了."可变的" tuple, 不是说 tuple 是不可以改变的么?想内存dict 与 setdict 是 python内置字典, 其他语言中称为 map, 使用键-值(key-value)存储&…

mysql安装目录问题_Windows下MySQL的安装目录问题

今天发现一个MySQL的问题,当把MySQL的文件目录安放在t字母打头的目录下时,比如d:/test目录,mysql服务就起不来了,报告找不到文件:D:/test/mysql>bin/mysqld-nt.exe --console090811 10:09:55 [ERROR] Cant find messagefile D:…

大学考试分数越高学分越多吗_大学的绩点和学分有什么用?影响学生毕业吗

原标题:大学的绩点和学分有什么用?影响学生毕业吗网友一:读大学也要关心成绩,绩点和学分是两个重要指标,到底是什么,怎么计算?有什么用处?为什么很重要?面试官最看重哪些…

pandas输出到excel_python读写excel等数据文件方法汇总

python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv、txt等)、excel文件、数据库文件、api等。下面整理下python有哪些方式可以读取数据文件。1. python内置方法(read、readline、readlines)read()&a…

dijkstra算法_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法

讲在前面的话,图的算法太多,理论知识肯定一篇文章讲不完,关于理论知识大家可以参考教材Sedgewick的《算法》或reference的链接,本文主要还是想在一篇文章中记录六种算法的Python代码。同样想吐槽一下,虽然网上博客很多&#xff0c…

深度学习试题_高中生物:今年高考试题3点显著变化及5个备考建议!不看准吃亏...

新课标下的新高考即将开启,最后一届旧高考模式在不同寻常的2020年七月份已圆满结束。今年全国Ⅰ卷理综生物试题有几个明显变化。1.内容、范围不变,考查理解能力和实践能力加强作为过渡期的高考,全国高考Ⅰ卷理综生物试题题型结构保持不变&…

电脑工具栏怎么调整到下面_雷电模拟器4.0怎么玩召唤与合成 一键下载轻松游玩 - 工具软件...

召唤与合成是一款既不是卡牌,也不是消除,也不算策略的高烧脑解谜手游,很多玩家想要利用雷电模拟器来在电脑上运行手游,却不知道怎么操作,下面就来教教大家如何在雷电模拟器上玩召唤与合成。1、首先要下载游戏&#xff…

ESP8266网络相框采用TFT_eSPI库TJpg_Decoder库mixly库UDP库实现图片传送

用ESP8266和TFT_ESPI模块来显示图片数据。具体来说,我们将使用ILI9431显示器作为显示设备,并通过UDP协议将图片数据从发送端传输到ESP8266。最后,我们将解析这些数据并在TFT屏幕上显示出来。在这个过程中,我们将面临一些编程挑战&…

c++ vector 一部分_为什么现在的手机都采用Type-C接口?它到底好在哪里?看完你就明白了...

不知道你们有没有发现,现如今的安卓手机几乎都使用Type-C接口。前两年还只是大部分手机采用的Micro USB接口,只有很小一部分使用的是Type-C接口。那到底是什么原因导致它,能在那么快的速度几乎在业内通用呢?一、使用方便&#xff…

java listen_Java进阶-IO基础

计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能,以便让未处理的数据流入程序,让已处理的数据流出。与其他语言相比,Java的IO功能显得复杂。在其他语言中,许多IO功能(比如读取文件),是被封装…

gorm preload 搜索_文件太多忘记了文件放在什么地方?那你可以试试这款文件搜索工具...

忘记了文件放在什么地方?文件太多不能一下子找到?那么你也许可以试试这款软件——ProFind for mac版,这是一款适用于macOS系统的文件搜索工具,它具有强大的功能和出色的性能,可为macOS提供高级文件搜索,并支…

c++ ftp服务端_FTP客户端软件介绍及使用

FTP客户端软件介绍及使用 客户端软件: ftp,lftp,lftpget,wget,curl ftp -A ftpserver port -A 主动模式 –p 被动模式 lftp –u username ftpserver lftp usernameftpserver lftpget ftp://ftpserver/pub/file gftp&am…

java中怎么使用json数据_JAVA中使用JSON进行数据传递

1.是不是只有xml传递数据的技术才是webservice?可以这么理解。webservice是基于SOAP协议,SOAP协议是基于XML的文本协议。所以webservice可以简单理解为是基于XML的传输技术,好比HTML是基于文本的传输协议。2.servlet是服务端的java程序的统称…

java 限制参数类型_java定义受限制的类型参数操作

有时您可能想限制可以在参数化类型中用作类型参数的类型。 例如,对数字进行操作的方法可能只希望接受Number或其子类的实例。 这就是有界类型参数的用途。受限制参数类型的方法示例要声明有界类型参数,请列出类型参数的名称,后跟extends关键字…

安卓手机运行ios教程_英雄联盟手游傻瓜安装教程,IOS/安卓双端可用!

软件/资料获取方式在文末正文:前几天发哥预告了一下LOL手游上线的事,本来以为国服也会同步上线,结果也是意料之中的跳票了,让我不禁想起当年玩魔兽世界时国服万年的TBC,不过据说LOL推迟上线是怕影响王者荣耀5周年庆典&…

easy excel date 类型解析报错_ptarchiver原理解析

pt-archiver原理解析作为MySQL DBA,可以说应该没有不知道pt-archiver了,作为pt-toolkit套件中的重要成员,往往能够轻松帮助DBA解决数据归档的问题。例如线上一个流水表,业务仅仅只需要存放最近3个月的流水数据,三个月前…

设计师电脑推荐笔记本_笔记本电脑选购推荐全攻略

笔记本电脑现如今在我们的生活中出镜率如此之高,不论是学生党查阅资料还是上班族的忙碌办公,抑或是电竞爱好者的游戏体验,都要依靠笔记本电脑来完成,但对于它的选购方法你了解多少?一千个人就有一千种不同的标准&#…

python内循环只执行一次_如何1分钟内从3600只股种选出黑马股,仅分享这一次(太透彻了)...

“1234”操盘定理中,1是指如何持牛股,2是指观念要正确,3是指看破十个现象,4是指抓热点。具体讲解下选股步骤盘后我们怎么去快速选出超短线需要密切关注的票呢?其实选股方法少说也有几千种,我想没有人统计过&#xff0…

java 运行时类型_Java基础之RTTI 运行时类型识别

运行时类型识别(RTTI, Run-Time Type Identification)是Java中非常有用的机制,在Java运行时,RTTI维护类的相关信息。多态(polymorphism)是基于RTTI实现的。RTTI的功能主要是由Class类实现的。Class类Class类是"类的类"(class of classes)。如果…