在Maix duino开发板上实现LED闪烁

导读:本篇文章讲解 在Maix duino开发板上实现LED闪烁,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

简单介绍

如果你还不知道如何点亮LED,请看:点亮LED

今天开始上手在开发板上运行程序了,学习点亮LED灯就像是学习编程语言的

H

e

l

l

o

,

w

o

r

l

d

Hello, world

Hello,world。学会电亮一盏LED灯之后,我便尝试着自己实现了个LED闪烁。

我当然不会满足于一个灯的闪烁。我发现板子上有绿、红、蓝三个LED灯泡,它们的引脚分别是121314。我们知道三个灯泡的组合可以产生8种同的状态,那么,

如何实现八个状态轮流出现的闪灯?

看看下面这段代码,
注意是//的整除运算,而不是/,因为/运算得到的结果是小数。写C++习惯了,这个问题导致我懵了好久。

for i in range(8):
	print(i // 4 % 2, i // 2 % 2, i % 2)

让我们运行一下,

在这里插入图片描述

编程实现

这下就好办了,我们的灯泡是低电平有效(即0亮1灭),那么整体的实现代码如下,

from fpioa_manager import fm
from Maix import GPIO

io_led_gre = 12
io_led_red = 13
io_led_blu = 14

fm.register(io_led_gre, fm.fpioa.GPIO0)
fm.register(io_led_red, fm.fpioa.GPIO1)
fm.register(io_led_blu, fm.fpioa.GPIO2)

led_g = GPIO(GPIO.GPIO0, GPIO.OUT)
led_r = GPIO(GPIO.GPIO1, GPIO.OUT)
led_b = GPIO(GPIO.GPIO2, GPIO.OUT)

for i in range(80):  # 闪烁10轮
    led_g.value(i//4%2)
    led_r.value(i//2%2)
    led_b.value(i%2)
    for j in range(200000):  # 用来消耗时间
        k = 1

效果展示

接下来让我们看看效果吧!
在Maix duino开发板上实现LED闪烁

你也可以试试自己实现不同的效果。例如,改变灯泡亮起的顺序,让它们按照格雷码的顺序闪烁。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114769.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!