## 用按鍵控制相機
用開關觸發樹莓派攝像頭```PiCamera```拍攝一張照片,或者當開關按下的時候,樹莓派攝像頭就會拍一張照片。`button.when_pressed=camera.capture`這種寫法不能夠實現預期目標,因為攝像頭的`capture()`方法需要一個`output`參數,表示拍攝照片保存的路徑和文件名。不過,我們可以用一個自定義的無參函數實現按鍵拍照。
~~~
from gpiozero import Button
from picamera import PiCamera
from datetime import datetime
from signal import pause
button = Button(2)
camera = PiCamera()
def capture():
timestamp = datetime.now().isoformat()
camera.capture('/home/pi/%s.jpg' % timestamp)
button.when_pressed = capture
pause()
~~~
按下開關,調用自定義的無參函數`capture`,在函數內部拍照,并把照片保存為`拍照時間.jpg`。
另外一個例子是用一個按鈕來開啟或者停止攝像頭預覽,另外一個按鈕用來拍照:
~~~
from gpiozero import Button
from picamera import PiCamera
from datetime import datetime
from signal import pause
left_button = Button(2)
right_button = Button(3)
camera = PiCamera()
def capture():
timestamp = datetime.now().isoformat()
camera.capture('/home/pi/%s.jpg' % timestamp)
left_button.when_pressed = camera.start_preview
left_button.when_released = camera.stop_preview
right_button.when_pressed = capture
pause()
~~~
- 簡介
- 更新樹莓派源
- GPIO Zero基礎案例
- 導入GPIO Zero庫
- 引腳編碼
- 樹莓派代碼編輯器
- LED
- 電磁繼電器
- 呼吸燈
- LED條形圖
- led條
- 交通燈
- 按鈕
- 按鈕控制LED燈
- 用按鈕控制攝像頭
- 舵機
- 關機按鈕
- 按鈕拍照
- 反應速度游戲
- 音樂盒子
- 單個按鈕控制多個元件
- 全彩燈
- 人體紅外傳感器
- 亮度傳感器
- 距離傳感器
- 馬達控制
- 機器人
- 按鈕控制機器人
- 鍵盤控制機器人
- 紅外感應機器人
- 電位器
- 用數模轉換器測量溫度
- 通過3個電位器控制全彩燈
- 時控加熱燈
- 聯網狀態指示
- CPU溫度條形圖
- 更多
- OLED屏幕
- GPIO Zero基礎案例2
- 古德微樹莓派案例
- ws2812燈帶python案例
- ads1115
- 高級秘籍
- 4 配置遠程GPIO
- 5 遠程GPIO案例
- 5.1 LED和按鈕
- 6 樹莓派Zero OTG USB數據線
- 7.數據源和值
- 微信發送疫情
- 8. 命令行工具
- 9. 常見問題
- 10. 從RPi.GPIO庫遷移到GPIO Zero
- 公眾號文章
- Python繪制疫情圖表
- 百度人工智能案例
- vscode配置樹莓派遠程開發環境
- Jupyter Notebook相關
- 樹莓派拍攝定格動畫
- oled
- 創客與音樂
- 如何入門Python
- 交通標志