30个物联网传感器小实验:三行代码点亮LED灯

30个物联网传感器小实验:三行代码点亮LED灯

以下所有实验均要求树莓派刷入完整版Raspbian操作系统,也就是官网上Raspbian Stretch with desktop and recommended software的版本。

三行代码点亮LED灯
  • 接线图如下:

1683594-20190510002712987-2095783210.jpg

  • 代码如下:
from gpiozero import LED

red = LED(17)

while True:red.on()
  • 在终端运行python3 LED.on.py即可点亮LED灯!
LED灯闪烁
  • 新建LED.blink.py文件,代码如下:
from gpiozero import LED
from signal import pause

red = LED(17)

red.blink()

pause()

核心在于on()方法改成了blink()方法,再运行python3 LED.blink.py即可闪烁!

LED灯调亮度
  • 新建LED.pwn.py文件,代码如下:
from gpiozero import PWMLED
from time import sleep

led = PWMLED(17)

while True:
    led.value = 0  # 全灭
    sleep(1)
    led.value = 0.5  # 半亮
    sleep(1)
    led.value = 1  # 全亮
    sleep(1)

核心在于使用的类改为PWMLED,不再是LED类了。在命令行界面运行python3 LED.pwn.py之后,可以看到LED灯全灭、半亮、全亮,间隔1s,交替运行。

LED淡入淡出
  • 新建LED.pulse.py文件,代码如下:
from gpiozero import PWMLED
from signal import pause

led = PWMLED(17)

led.pulse()

pause()

核心在于使用了pulse()函数,可以观察到led等淡入淡出的效果!

不写一行代码点亮LED灯
  • 在命令行界面使用pinout命令,输出各针脚定义。

1683594-20190510002725507-1719458320.jpg

  • (2)号口5v电压接1kΩ的电阻,接LED长脚正极,LED负极接(6)号GND地线负极,这样LED灯直接就会点亮,不写一行代码!

1683594-20190510002732715-882948411.jpg

全彩RGB灯
  • 红绿蓝分别接GPIO(2)、GPIO(3)、GPIO(4)口,新建RGBLED.py文件,代码如下:
RGBLED.py 
from __future__ import division  # required for python 2
from gpiozero import RGBLED
from time import sleep

led = RGBLED(red=2, green=3, blue=4)

led.red = 1  # full red
sleep(1)
led.red = 0.5  # half red
sleep(1)

led.color = (0, 1, 0)  # full green
sleep(1)
led.color = (1, 0, 1)  # magenta
sleep(1)
led.color = (1, 1, 0)  # yellow
sleep(1)
led.color = (0, 1, 1)  # cyan
sleep(1)
led.color = (1, 1, 1)  # white
sleep(1)

led.color = (0, 0, 0)  # off
sleep(1)

# slowly increase intensity of blue
for n in range(100):
    led.blue = n/100
    sleep(0.1)
  • 在命令行界面,运行以上代码python RGBLED.py,则RGBLED灯颜色不断变化,效果如下:

1683594-20190510002742934-147904785.jpg

面包板

也称为无焊接面包板,是我们进行物理和电子实验的好帮手,由于其内部集成了走线,从而避免了复杂实验时杂乱无章的飞线。面包上的针脚孔可以轻松地搭配众多带针脚的传感器使用,许多传感器和面包板都包含了配电的部分,使得包含面包板的电路实验设计变得更加容易。一句话总结一下,我们做实验并非一定要用到面包板,但是有个面包板可以使我们事半功倍。

1683594-20190510002754420-1226674717.png

面包板有几个特性:

  • 左右两侧为正负极。正负极下方各有各的金属片,竖排相连。
  • 中间两侧为通用端口,左侧和右侧互不相同。
  • 中间两侧的针孔下方横向相连。

举个例子从从A1到E1是相连接的,从F1J1是相连接的,但是E1F1是不通的。树莓派的5v或者3v3只要接到+级的任何一个孔,整个+级的竖排都会存在相应电压的供电,树莓派的GND-级。下图是一个真实的面包板。

1683594-20190510002801708-1232015726.jpg

好了,本次介绍就到这里,这个系列的全文会收录在我的github目录,欢迎大家star和沟通:https://github.com/asukafighting/RaspberryPiHacker

getting-started-with-raspberry-pi.png

转载于:https://www.cnblogs.com/asukafighting/p/10842035.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值