30個物聯網傳感器小實驗1:三行代碼點亮LED燈

30個物聯網傳感器小實驗1:三行代碼點亮LED燈

以下所有實驗均要求樹莓派刷入完整版Raspbian操作系統,也就是官網上Raspbian Stretch with desktop and recommended software的版本。

三行代碼點亮LED燈

  • 接線圖如下:

![](pic/0106.svg)

  • 代碼如下:
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命令,輸出各針腳定義。

![](pic/0101.JPG)

  • (2)號口5v電壓接1kΩ的電阻,接LED長腳正極,LED負極接(6)號GND地線負極,這樣LED燈直接就會點亮,不寫一行代碼!

![](pic/0102.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燈顏色不斷變化,效果如下:

圖片描述

麪包板

也稱爲無焊接面包板,是我們進行物理和電子實驗的好幫手,由於其內部集成了走線,從而避免了複雜實驗時雜亂無章的飛線。麪包上的針腳孔可以輕鬆地搭配衆多帶針腳的傳感器使用,許多傳感器和麪包板都包含了配電的部分,使得包含麪包板的電路實驗設計變得更加容易。一句話總結一下,我們做實驗並非一定要用到麪包板,但是有個麪包板可以使我們事半功倍。

圖片描述

麪包板有幾個特性:

  • 左右兩側爲正負極。正負極下方各有各的金屬片,豎排相連。
  • 中間兩側爲通用端口,左側和右側互不相同。
  • 中間兩側的針孔下方橫向相連。

舉個例子從從A1到E1是相連接的,從F1J1是相連接的,但是E1F1是不通的。樹莓派的5v或者3v3只要接到+級的任何一個孔,整個+級的豎排都會存在相應電壓的供電,樹莓派的GND-級。下圖是一個真實的麪包板。

圖片描述

好了,本次介紹就到這裏,這個系列的全文會收錄在我的github目錄,歡迎大家star和溝通:https://github.com/asukafight...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章