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便可閃爍!python

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,交替運行。git

LED淡入淡出

  • 新建LED.pulse.py文件,代碼以下:
from gpiozero import PWMLED
from signal import pause

led = PWMLED(17)

led.pulse()

pause()

核心在於使用了pulse()函數,能夠觀察到led等淡入淡出的效果!github

不寫一行代碼點亮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燈顏色不斷變化,效果以下:

圖片描述

麪包板

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

圖片描述

麪包板有幾個特性:函數

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

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

圖片描述

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

相關文章
相關標籤/搜索