更多

    樹莓派 × MICRO:BIT SELFIE 自拍站(四)

    《 GT 》神還原 Assoluto Racing

    日前 Sony 發表新一代 PlayStation 5 ,瞬間成為機迷熱話, Sony 在發布會上,更預告多款新作,當中包括《 Gran Turismo 7 》,更細緻的畫面,令人眼界大開。雖然《 Gran Turismo 》未有推出手機版本,不過這個名為《 Assoluto Racing 》的賽車遊戲,卻與《 Gran Turismo 》十分相似,由賽車到改車,甚至各大車廠的戰車及賽道,都一一忠實呈現。

    【#1402 PCM】電競曲芒升級醒買術

    今期《PCM》就為大家搜羅市場上多款曲面電競屏幕,剖析一下這類屏幕的優缺點。

    【#1402 Biz.IT】海底光纜連接能力 支持數據樞杻地位

    為應付興日俱增的網絡流量,網絡商和大型科技企業興建跨地域海底光纖電纜,以 Tbps 速度計擴充容量。香港本是亞太區內海底光纜的樞杻,但近日美國否決啟用兩地互連的 PLCN,或會打擊香港多年來建立的地位。

    組裝及測試的部分完成,與過往習作相同,今期是撰寫程式的部分。今次的程式碼較多,同學也可嘗試理解程式碼結構,首段是載入程式,接著是定義,然後是程式運行。現在就用上述概念,來撰寫今次的習作。

    最後的步驟便是要編寫 Python 程式,使習作可以整合起來。在樹莓派中建立一個新的 Python 程式,檔案命名為 selfie.py 。

    編寫 Python 程式進行拍攝

    selfie.py 程式碼,並將下列編碼寫在檔案中:

    [row][double_paragraph]

    selfie.py 程式碼
    selfie.py 程式碼

    [/double_paragraph][double_paragraph]

    行數 1-4 : 載入所需要用的 Library ,當中包括 gpiozero、
    picamera 、 PIL( Python Imaging Library 圖像處
    理)、gmtime (提取時間資料)、及 strftime (將
    時間資料轉化為字符串)。
     行數 5-7 : 建立一個新的 camera 物件, 尺寸設定為
    800×400 像素,並開始進行預覽。
     行數 8-9 : 設定兩個按鈕,分別接駁到 GPIO20 及 GPIO21 ,
    pull up 狀態設為「否」,因為在 gpiozero Library
    中,GPIO 的狀態是預設為 pull up ,即處於高位。
    我們需要先將這個狀態設定為「否」,這樣才配
    合我們在較早前為 Micro:bit 編寫的控制方法。
     行數 10 : 建立道具相片 props 並且將 beard.png 載入。
     行數 11-14 : 建立一個新的圖層 pad ,其尺寸是按剛才載入的
    相片 beard.png 而設定。在 PIL 的 Library 中,尺寸
    的基本單位是 32×16 像素,然後進行 12 及 13 行的
    操作。
     行數 15 : 將圖層 pad 放在圖像 props 之下,並以座標
    ( 0,0 )為基點。
     行數 16-18 : 將拍攝到的圖像和道具相片結合一起作預覽,透
    明度設定為 58 圖層編號設定為 3 ,即是在拍攝圖
    像之上層。
     行數 19-26 : 定義一個t akePhoto 的函數(讀者請注意,行數 20
    至 22 是一整行編碼,不要將它換行輸入),當中
    使用 gmtime 功能,取得時間資料,並將資料轉化
    為字串,再加上路徑的資料,並儲存到 output 變量
    中。最後將拍攝到的圖像和道具相片結合一起,
    並儲存在 output 的路徑及其檔案名稱中。
     行數 26-27 : 定義一個 stop 的函數,可以令拍攝站停止運作。
     行數 28-29 : 當按鈕 btn_takePhoto 和 btn_stop 按下的時候,就
    會分別呼叫 takePhoto 和 stop 的函數進行運作。

    [/double_paragraph] [/row]

    製作拍攝站支架

    最後的階段是製作習作製作支架,為自拍站包裝一下。支架主要是用 2 吋 × 1 吋的木方建造出來,配合電鑽和螺絲,就能夠輕易地將整個支架裝嵌起來。

    [row][double_paragraph]

    跟著將顯示屏以倒轉的方式,固定在支架上,再將其他電線及藍莓派等的硬件放在顯示屏後面。
    跟著將顯示屏以倒轉的方式,固定在支架上,再將其他電線及藍莓派等的硬件放在顯示屏後面。

    [/double_paragraph][double_paragraph]

    完成習作的整個設計。
    完成習作的整個設計。

    [/double_paragraph] [/row]

    測試時,拍攝出來的合成照片。
    測試時,拍攝出來的合成照片。

    總結

    雖然在上述介紹的自拍站中,只有一張道具相片,但其實讀者可以建立一個道具相片庫,讓用家選擇不同的道具相片,為自己拍攝相片加上特色,讀者不妨自行到 raspberrypi.org ,就可以找到更加詳細的習作描述。另外,在操控方面,讀者亦可以自製不同款式的按鈕,再接駁至樹莓派的 GPIO ,製作簡單之餘亦可以發揮創客的精神。

    相關文章