如何用Raspberry Pi打造動作控制感應燈

raspberry pi motion control lamp

本課程將帶你一步步製作一款動作控制感應燈。

該專案使用的裝置包括:Raspberry Pi Model B,Dexter Industries的GrovePi擴展板,以及超聲波感測器和繼電器模組。在此專案中,我們將使用一個客製化Raspbian磁片鏡像,在最新版的”Jessie”研發環境下運行。

本課程旨在演示一個原型機設計,並向您展示測試和修改此設計所需的步驟,以便最佳化和部署以完全實現你的想法。

Get IoT Essential Guide & Enter to Win a Free Sensor Kit!

專案清單

硬體

  • 電腦:Lenovo T420 Windows 10
  • SD卡: Sandisk DHCD 8GB
  • 微處理器:Raspberry Pi Model B Revision 2.0 (512MB)
  • 擴展板:GrovePi+ v3.0
  • 繼電器切換:Grove Relay v1.2
  • 感測器:Grove Ultrasonic Sensor v2.0
  • WiFi合適器:Edimax EW-7811Un 150Mbps Wireless 802.11 b/g/n nano USB 合適器
  • 顯示器:帶VGA線的通用VGA顯示器
  • VGA轉換器:用於PC的通用HDMI到VGA轉換器
  • 電源:通用供電USB 2四口HUB
  • 資料線:USB Type-A / Micro-B; 和 USB Type-A / Type-B
  • 鍵盤:通用USB鍵盤
  • 滑鼠:通用USB滑鼠
  • WiFi路由器:通用WiFi路由器
  • 插座:直片插刀式插排
  • 燈:<= 100 瓦的通用燈具
  • 底盒:CAT5表面安裝插口

軟體

  • SD Formatter v4
  • Dexter Industries Modified “jessie”
  • Win32 Disk Imager 0.9
  • Python 2.7.9

工具

  • 剪線鉗
  • 紮帶
  • 螺絲刀套件
  • 萬用表

從構思到部署

一個專案從概念到部署需要許多步驟。

raspberry pi motion control lamp

第一步 – 概念

當我回到家時,經常暗到伸手不見五指。我手裡經常會提著一些東西,因此希望進入房間時燈光能夠自動打開。動作控制感應燈是個完美解決方案。

第二步 – 設計

raspberry pi motion control lamp

您可以使用一個簡單的python程式確定超聲波感測器的具體距離變數,並在觸發這個感測器變數時控制高壓繼電器。將燈接到繼電器上,當有人進入房間時,燈就會點亮。

第三步 – 原型機

該原型機用Dexter Industries的GrovePi擴展板來管理Raspberry Pi GPIO引腳。我喜歡用這塊擴展板,這是因為其隨插即用設計。我也喜歡Dexter Industries的修改版Raspian磁片鏡像,該鏡像擁有一整套故障排除工具,在測試階段非常有用。

A. 設定磁片鏡像(PC)

1) 下載“04.25_Dexter_Industries_jessie.zip”磁片鏡像並將其解壓到硬碟上。

2) 格式化8GB SD卡。我用的是SD Formatter v4

raspberry pi motion control lamp

3) 將下載的磁片鏡像寫入SD卡。我用的是Win32 Disk Imager

raspberry pi motion control lamp

B. 組裝Rapberry Pi和GrovePi GPIO擴展板

1) 將GrovePi與Raspberry Pi Model B上的28個GPIO引腳對齊。這是一種滑合座,但是稍微用力就能連好(請參見視訊)。

C. 啟動Raspberry Pi並更新

1) Raspberry Pi啟動後直接進入Dexter Industries GUI。

raspberry pi motion control lamp

2) 按一下WiFi Setup圖示,以連接本地路由器和互聯網。

3) 按一下DI Software Update圖示啟動。

raspberry pi motion control lamp

4) 從下拉式功能表中選擇GrovePi,然後按以下順序更新:

i) 硬體固件

ii) Raspbian

iii) Dexter 軟體

5) 完成後系統會要求重新開機

D. 設定Python程式以運行繼電器

1) 打開文件 /home/pi/Desktop/GrovePi/Software/Python/test_script

2) 點擊 [Edit] >[Select All] AND [Delete]

3) 點擊 [File] >[Save As] /home/pi/Desktop/Documents/Range_Relay.py

4) 將此代碼複製到空檔視窗中。完成後系統會要求重新開機:

raspberry pi motion control lamp

5) 點擊 [File] >[Save]

E. 連接Grove繼電器和超聲波感測器

1) 將Ultrasonic Ranger連接到GrovePI擴展板上的D4連接器

2) 將Grove繼電器連接到GrovePI擴展板上的D2連接器

3) 在 Range_Relay.py 中點擊 [Run] >[Run Module]

4) 測試感測器,並確保Ultrasonic Ranger前方有動作時繼電器LED點亮。

F. 連接繼電器的高壓側並測試

1) 請用雙刀式插排,將火線在中間切開,然後小心將其輕輕剝開,注意不要切到零線的絕緣層(請參見視訊)。

G. 將Raspberry Pi設定為無頭並自動運行繼電器程式

1) 點擊 [Menu] >[Other] >[LXTerminal]

2) 輸入 at [pi@dex:~ $] prompt:

3) 如果檔不存在,請創建該檔並添加以下命令(這裡應該是保存Python程式的位置):


raspberry pi motion control lamp

4) Raspberry Pi啟動時,程式會自動載入

5) 在你喜歡的燈上測試你的動作控制系統吧

第二步 – 測試

1) 我將Raspberry Pi連接到我的走廊燈上,進行現場測試。raspberry pi motion control lamp

結論

這是一個沒有太多活動零件的有趣專案。接下來,我很期待能夠擴展此動作控制感應燈的程式設計,加入socket條件,讓聯網的智慧手機或平板電腦也能控制該燈。希望你喜歡本課程,歡迎你對本專案進行任何修改並將內容發送給我們。

Get IoT Essential Guide & Enter to Win a Free Sensor Kit!