用樹莓派Raspberry Pi和Micro:bit作一個自拍器

在這個項目中,咱們將使用Python來構建一個由Micro:bit觸發樹莓派Raspberry Pi和相機模塊的自拍器。這是開始使用硬件和簡單文本編程的好方法。git

咱們將學習:web

如何設置Raspberry Pi相機                                                                              編程

如何在Micro:bit和Raspberry Pi上使用輸入和輸出引腳app

用Python代碼控制GPIO引腳學習

用Python代碼控制相機模塊測試

材料:網站

帶有SD卡和常規外圍設備的Raspberry Pispa

Raspberry Pi camera moduleorm

Micro:bitblog

USB A to micro USB-B cable

雙頭鱷魚夾線3條

軟件安裝:

更新的Raspbian並安裝Mu。

安裝配件Pi camera, 驅動及庫文件請從Raspberry Pi官方網站下載。

將Micro:bit和Pi camera module鏈接到Raspberry Pi主板上

1.將公母對跳線鏈接到Raspberry Pi上的GPIO引腳4。

2.拿一條鱷魚夾電纜,將一端鏈接到您的micro:位標記爲0的焊盤,另外一端鏈接到標有GND或地線的引腳。

3.將另外一根電纜鏈接到針腳1,將另外一端鏈接到您的RaspberryPi上使用的跳線的陽端,以下圖所示:

這樣就建立好觸發電路。接下來啓動Raspberry Pi並加載Mu。

1.打開mu,而後單擊New打開一個空白的未命名的文件。

2.單擊保存,將文件命名爲microbit-trigger.py,而後按鍵盤上的Enter鍵。

3.您的文件中的第一行應該已經輸入,而且顯示爲:

from microbit import *

該行導入了MicroPython的Python庫模塊供您使用。

4.接下來,鍵入如下命令建立一個循環:

while True:

注意:大寫字母和小寫字母在輸入Python代碼時很是重要。請注意,True最後有大寫T和冒號。在這一行以後寫的全部內容都應該縮進四個空格。

5.如今咱們須要設置一個條件,以便當鏈接到micro:bit上的引腳0的電纜被觸摸時,它會在LED矩陣上顯示一條消息並觸發相機。咱們在Python中使用這個詞來作到這一點:

1.  while True:

2.      if pin0.is_touched():

3.         display.scroll("saycheese!")

4.          sleep(500)

5.         pin1.write_digital(1)

6.          sleep(5000)

        pin1.write_digital(0)

6. 每次繞這個循環,計算器詢問鏈接到引腳0的電纜是否被觸摸。若是是,那麼消息「說奶酪!」應該出現並告訴銷1變高或打開。這是鏈接到Raspberry Pi的針。咱們將在下一步中使用該引腳來觸發相機拍攝照片並進行存儲。

7. 保存文件,而後點擊Flash將代碼發送到你的micro:bit。您必須執行此步驟來測試您的觸發器是否正常工做。一旦micro:bit背面的黃色燈中止閃爍,按下它旁邊的復位按鈕,而後觸摸地面並插入0個鱷魚夾電纜。這應該致使文本滾動播放在micro:bit上的LED矩陣。

如今開始編輯Pi camera.

1.點擊編程,從主菜單中找到並打開Python3(IDLE)。這是您將爲您的相機編寫您的Python代碼的地方。

2.建立一個新文件並將其保存爲microbit-camera.py。

3.首先經過輸入如下內容導入此程序中所需的全部庫和模塊:

from picamera import PiCamera

from gpiozero import Button

from time import sleep

接下來,您須要告訴計算器哪一個引腳將用於觸發相機拍攝照片。您將microbit鏈接到GPIO引腳4.在導入下方,鍵入:

button = Button(4, pull_up = False)

而後寫入指令序列,以在觸摸微位置電纜的人觸發時拍攝照片。首先,從相機顯示預覽,鍵入如下內容:

with PiCamera() as camera:

    camera.start_preview()

    sleep(5)

雖然顯示的是預覽,您能夠抓到到自拍器的位置中。

在下面,鍵入等待the micro:bit觸發的指令:

   button.wait_for_press()

   camera.capture('selfie.jpg`)

   camera.stop_preview()

該程序將等待micro:bit的觸發器,而後拍攝照片並將其存儲在名爲selfie.jpg的文件中,而後中止相機預覽。

保存文件。檢查您的micro:bit觸發器是否正常工做,而後單擊運行和運行模塊以啓動攝像頭代碼,一個自拍器就成功了。

原文參考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247483907&idx=1&sn=de57f662ad04ea75f64ababe9f5e3c5e&chksm=fb22e5c6cc556cd0bdf07ea24bb1c1f9fd6a9b5e2e24218198b7f66e3eb4eec59fbe8d1bc873#rd

相關文章
相關標籤/搜索