臨近警報非常有用,無論你是倒車到停車位(沒有后視攝像頭),想警告別人你在一個死角,或者想避免太靠近東西。我想看看我是否可以用一些非常標準的硬件組件和樹莓派自己構建一個!
你將創(chuàng)造什么
視覺接近警報。當物體在“危險”距離閾值內時,燈光將根據(jù)超聲波傳感器變?yōu)榧t色(當物體在“安全”距離閾值內時)或綠色(當物體在“安全”距離閾值內)。
第一步:設置樹莓派
樹莓派從microSD卡啟動。您需要將Raspberry Pi OS安裝在與Pi一起使用的microSD卡上。有關安裝Raspberry Pi的其他方法的更多詳細信息,請參閱Viam文檔。
安裝樹莓派操作系統(tǒng)
1. 將microSD卡連接到計算機上。
2. 啟動Raspberry Pi Imager。
3. 單擊“選擇設備”。選擇您的Pi型號,即Raspberry Pi 4。
4. 單擊“選擇操作系統(tǒng)”。在菜單中選擇“Raspberry Pi OS(64位)”。
5. 單擊CHOOSE STORAGE。從設備列表中,選擇您打算在Raspberry Pi中使用的microSD卡。
6. 配置您的樹莓派遠程訪問。單擊Next。當提示應用操作系統(tǒng)自定義設置時,選擇EDIT settings。
7. 選中Set hostname,并在該字段中輸入您想要訪問Pi的名稱,例如echo
8. 選中“設置用戶名和密碼”復選框,并設置用于登錄Pi的用戶名(例如,您的名字)。如果跳過此步驟,默認用戶名將是pi(出于安全原因不建議使用)。并指定密碼。
9. 選中“配置無線局域網”并輸入無線網絡憑據(jù)。“SSID”為Wi-Fi網絡名稱,“password”為網絡密碼。另外,將“無線局域網國家”部分更改為您的路由器當前正在運行的地方。這將允許你的Pi連接到你的Wi-Fi,這樣你就可以無線運行viam-server。
10. 勾選“設置區(qū)域設置”,設置時區(qū)和鍵盤布局。
請確保記住所設置的主機名、用戶名和密碼,因為在SSH到Pi時將需要這些。
11. 選擇“SERVICES”頁簽,勾選“Enable SSH”,并勾選“Use password authentication”。
12. 保存您的更新,并確認YES以應用操作系統(tǒng)自定義設置。確認“是”,擦除microSD卡上的數(shù)據(jù)。操作系統(tǒng)也可能提示您輸入管理員密碼。
在授予Imager權限之后,它將開始向microSD卡寫入并驗證Linux安裝。安裝完成后,從計算機上取下microSD卡。
第二步:SSH連接
1. 將microSD卡插入樹莓派,并將其插入插座來啟動樹莓派。一個紅色LED會亮起,表示Pi已經接通電源。
確保使用5V 3A USB-C電源為樹莓派4供電。使用電流不足的電源可能導致不穩(wěn)定、節(jié)流或意外行為。此外,雖然在較新的樹莓派4型號上默認啟用USB引導,但舊版本可能需要固件更新才能啟用它。有關詳細的安裝說明和兼容性,請參閱Raspberry Pi文檔。
2. 啟動Pi后,使用SSH連接到它。從命令行終端窗口輸入以下命令。<>中的文本(包括<和>符號本身)應該替換為您在設置Pi時配置的用戶名和主機名。
3. 如果系統(tǒng)提示“您確定要繼續(xù)連接嗎?”,請輸入“yes”并按回車鍵。然后,輸入用戶名的密碼。您應該看到一條登錄消息和一個命令提示符。
4. 更新您的樹莓派以確保安裝了所有最新的軟件包
完整布線預覽
現(xiàn)在是時候將硬件組件連接在一起了!這是你將連接在一起的東西:
下面的部分將每次只關注一個組件,并顯示本地化的接線圖。但是,在需要的時候可以隨意引用這個完整的圖表。
好了,首先是超聲波傳感器!
第三步:連接超聲波傳感器
首先,我們要設置超聲波傳感器。你需要你的:
?覆盆子π
?超聲波傳感器
?電路試驗板
?8 -跳線
?1 - 1000歐姆電阻
?1 - 2000歐姆電阻
超聲波傳感器連接到樹莓派的接線圖如下,使用面包板和電阻控制電流:
超聲波傳感器將使用樹莓派上的4個GPIO引腳
?VCC到GPIO 5V(物理引腳2)
?GND到GPIO GND(物理引腳6)
?觸發(fā)到GPIO 23(物理引腳16)
?ECHO到GPIO 24(物理引腳18)
剛接觸布線?如果需要,下面的說明將帶您一步一步地正確連接超聲波傳感器。如果您對接線圖感到滿意,并且能夠在沒有額外指導的情況下連接硬件,請隨意跳過下一節(jié)(設置RGB LED) !
一步一步的超聲波接線說明
1. 將四根跳線插入HC-SR04的引腳。
2. 將VCC線插入面包板的正軌,將GND線插入負軌。從這一點開始,我們將使用面包板來簡化布線過程,并提供一個安全的平臺來連接組件而無需焊接。
3. 將跳線插入Pi上的GPIO 5V(物理引腳2),并將該線連接到面包板的正軌,將其連接到VCC。
4. 將跳線插入Pi上的GPIO GND(物理引腳6),并將該線連接到面包板的負軌,該負軌將其連接到GND。
5. 將超聲波傳感器的TRIG線插入面包板上的空白導軌,然后使用另一條跳線將該導軌連接到Pi的GPIO 23(物理引腳16)引腳。(從技術上講,你可以跳過面包板上的連接,直接將TRIG線連接到Pi;這是個人喜好的問題!)
6. 將超聲波傳感器的ECHO線插入另一個空白軌道,然后使用1000歐姆電阻(R1)將其連接到另一個空白軌道。
7. 使用2000歐姆(R2)電阻將R1軌道連接到GND軌道。兩個電阻器之間一定要留出空間。
8. 在電阻之間留出空間的地方插入一根跳線,并將該線連接到Pi的GPIO 24(物理引腳18)引腳。
甜蜜的!你已經設置好了超聲波傳感器。
這將使您能夠捕獲距離讀數(shù)。接下來讓我們添加RGB LED !
第四步:連接RGB LED
接下來,我們將設置RGB LED。你需要你的
?RGB LED
?4 -跳線
?2 - 10歐姆電阻
?1 - 100歐姆電阻
查看接線圖:參考以下接線圖(為清晰起見省略了超聲波接線),了解如何將RGB LED連接到樹莓派上,使用面包板和電阻來控制電流:
RGB LED將在樹莓派上使用4個GPIO引腳
?公共陰極(GND)到GND(物理引腳34)
?紅色到GPIO 13(物理引腳33)
?綠轉GPIO 12(物理引腳32)
?藍色到GPIO 18(物理引腳12)
剛接觸布線?如果需要,以下說明將帶您逐步了解如何正確連接RGB LED。網站輸出。xyz也是一個有用的資源,您可以在其中與樹莓派的每個引腳的確切布局和角色進行交互。當使用Viam時,請確保引用物理引腳編號,而不是pinout.xyz上列出的GPIO編號。
如果您對接線圖感到滿意,并且能夠在沒有額外指導的情況下連接硬件,請隨意跳到下一節(jié)(在Viam中配置您的機器)!
一步一步RGBLEDwiring說明
1. 檢查LED的方向:一個普通的陰極RGB LED有四個腳:
GND (Common陰極):最長的端腳,應接地。
紅色(R):通常是靠近公共陰極的腿(如下圖左側)。
綠色(G):陰極另一側的腿(如下圖右)。
藍色(B):離陰極最遠的一條腿。
2. 將RGB LED插入面包板上的空白導軌。從這里,你將使用跳線和電阻將它連接到你的Pi。
3. 在LED最長的腿旁邊插入一根跳線,然后將該線連接到Pi的GND引腳(物理引腳34)。這將是你們的土地。
4. 將100歐姆電阻連接到LED的紅色支腳上。
5。在LED的綠色支腿上連接一個10歐姆的電阻,在藍色支腿上連接另一個10歐姆的電阻。
6. 將電阻連接到Pi上。
從紅腳(100歐姆電阻)連接一根跳線到Pi的GPIO 13引腳(物理引腳33)
從綠色腳線(10歐姆電阻)連接一根跳線到Pi的GPIO 12引腳(物理引腳32)
從藍腳(10歐姆電阻)連接一根跳線到Pi的GPIO 18引腳(物理引腳12)
7. 仔細檢查連接,確保極性正確,避免接線錯誤。
您的LED可能帶有推薦電阻的電阻。如果歐姆電平太高,那么沒有電源將得到LED。你可以用這個方便的工具找出你正在使用的是哪一個。
硬件都連接好之后,就可以在Viam應用程序中配置它們了,我們將在下一節(jié)中進行配置。
第五步:在Viam中配置您的機器
1. 在Viam應用程序的LOCATIONS選項卡下,通過輸入名稱并單擊Add machine來創(chuàng)建一臺機器。
2. 單擊查看設置說明。
3. 要在樹莓派上安裝viam-server(這樣您就可以與傳感器和RGB LED通信并控制它們),請為樹莓派選擇Linux / Aarch64平臺,并將安裝方法保留為viam-agent。
4. 使用viam-agent下載并在Raspberry Pi上安裝viam-server。按照說明從您的Raspberry Pi的SSH提示符運行安裝說明中提供的命令。
5. 當機器成功連接時,設置頁面將顯示。
配置并連接好機器之后,就可以添加外圍設備了。首先,板(也就是你的樹莓派)。
第六步:在Viam中配置樹莓派板
要訪問樹莓派的GPIO引腳,請在Viam應用程序中將該板添加到您的機器中。
1. 在Viam應用中,找到CONFIGURE選項卡。
2. 單擊左側菜單中的+圖標并選擇Component。
3. 選擇board,找到raspberry-pi:rpi4模塊。單擊“添加模塊”。現(xiàn)在保留默認名稱board-1,然后單擊Create。這增加了與樹莓派4的GPIO引腳一起工作的模塊。
4. 注意,添加此模塊將添加稱為board-1的單板硬件組件。您將在右側看到一個可折疊的卡片,您可以在其中配置board組件,并在左側欄中列出相應的board-1部件。
5. 單擊右上方的Save保存并應用配置更改。
6. 展開面板的TEST部分,嘗試寫入物理引腳。例如,由于我們的RGB LED的紅色腿連接到物理引腳33,在引腳字段中輸入33并將其信號設置為高。這將打開RGB LED并發(fā)出紅光。
7. 將信號設置為低電平(每個引腳先前設置為高電平)以關閉LED。
故障排除:仔細檢查LED組件的接線。還要在LOGS選項卡下檢查可能出現(xiàn)的問題。
現(xiàn)在您的板配置,您可以配置您的超聲波傳感器下一步。
第七步:在Viam中配置超聲波傳感器
要訪問超聲波傳感器的測量值,請將傳感器添加到您的機器上。
1. 在Viam應用中,找到CONFIGURE選項卡。
2. 單擊左側菜單中的+圖標并選擇Component。
3. 選擇傳感器,找到超聲波傳感器模塊。單擊“添加模塊”?,F(xiàn)在保留默認名稱sensor-1,然后單擊Create。這增加了模塊,使您可以訪問超聲波傳感器的讀數(shù)。
4. 注意,添加此模塊會添加稱為sensor-1的傳感器硬件組件。您將在右側看到一個可折疊的卡片,您可以在其中配置傳感器組件,并在左側欄中列出相應的傳感器-1部件。
5. 在JSON配置字段中(在CONFIGURE面板中),添加以下屬性。這告訴您的傳感器使用哪個引腳用于其回聲脈沖輸出(Echo)和觸發(fā)脈沖輸入(TRIG)以及它連接到哪個板。在你的例子中,那是board-1,也就是你之前添加的樹莓派。您可以在JSON配置旁邊的Documentation面板中閱讀有關每個屬性的更多信息
6. 單擊右上方的Save保存并應用配置更改。
7. 展開面板的TEST部分,對傳感器進行實驗。您應該看到一個獲取讀數(shù)標簽和一個不斷更新的測量值。試著把你的手放在傳感器前面,并把它移到更遠的地方。讀數(shù)應該反映這些變化,當您將對象靠近傳感器時返回較小的值,當您將對象遠離傳感器時返回較大的值。
關于Get讀數(shù)值的說明:這里返回的讀數(shù)實際上是傳感器發(fā)射脈沖并接收脈沖所需的時間,通常以微秒為單位。為了得到一個有意義的距離,還需要進行一些進一步的計算。目前,我們仍然可以假設讀數(shù)大表示“更遠”,讀數(shù)小表示“更近”。
為什么這么緊張?讀數(shù)可能看起來“跳躍”,這意味著它們會返回異常高或低的數(shù)字,然后才會恢復正常并保持在較小的讀數(shù)范圍內。由于超聲波傳感器發(fā)出的聲音可以被附近的任何固體物體反射,因此接收器可能會反射并檢測到房間內其他物體發(fā)出的噪音,這可能會導致不尋常的讀數(shù)。請確保將傳感器對準要測量距離的物體。
仔細檢查電線是否連接正確,傳感器配置是否正確。board屬性必須與Viam應用程序中的board組件名稱匹配(如果您一直遵循,則為board-1),并設置echo_interrupt_pin和trigger_pin屬性。
太棒了!你現(xiàn)在有一個工作傳感器和訪問您的板。讓我們添加一些邏輯來根據(jù)測量的讀數(shù)將RGB LED變?yōu)榧t色或綠色。
第八步:在Viam中添加接近警報模塊
我們可以通過改變RGB LED的顏色來指示物體太近或在安全距離內(相對于傳感器)。為此,您可以編寫一些代碼來處理超聲波傳感器的讀數(shù)并將RGB LED設置為紅色或綠色(分別為不安全距離和安全距離)。或者您可以使用Viam注冊表中的預構建模塊,該模塊已經為您完成了此操作!本步驟將介紹如何使用接近警報模塊。
1. 在Viam應用中,找到CONFIGURE選項卡。
2. 單擊左側菜單中的+圖標并選擇Service。
3. 選擇generic,并找到proximity-alert:hc-sr04_rgb-led模塊。單擊“添加模塊”。請確保將默認名稱更改為更具描述性的名稱,如proximity-alert-service,然后單擊Create。這增加了一項服務,根據(jù)超聲波傳感器的讀數(shù)和您將很快指定的距離閾值自動將RGB LED變?yōu)榧t色或綠色。
4. 注意,添加此模塊將添加所選名稱的通用服務。您將在右側看到一個可折疊的卡片,您可以在其中配置接近警報模塊,并在左側欄中列出相應的部分。
5. 在CONFIGURE面板中,添加以下屬性(減去注釋)。這告訴服務使用哪個板和傳感器(應該是您剛剛配置的),使用哪個GPIO引腳來控制RGB LED,以及確定何時變紅或變綠的安全距離閾值。
6. 單擊Save以應用您的配置更改。這可能需要一些時間。
7. 過了一會兒,你的RGB LED應該會閃爍并發(fā)光。測試一下吧!立即將您的手放在超聲波傳感器前。它應該會迅速發(fā)出紅燈,只要你把手放在那里,它就會一直保持紅色。當你把手移開時(假設傳感器路徑前沒有其他物體在不安全距離內),LED應該會發(fā)出綠色的光。為了繼續(xù)測試該服務并確保更高的準確性,請將超聲波傳感器放置在一些開放空間,以便您能夠在可變范圍內移動其路徑內的物體。
服務啟動可能需要一段時間,您可能需要一段時間才能看到LED的變化。如果LED仍然不亮,請仔細檢查您的服務配置,并且在接近警報模塊的錯誤日志面板或頂級日志中沒有出現(xiàn)錯誤。如果沒有發(fā)現(xiàn)錯誤(太好了!),嘗試重新啟動鄰近警報服務:在左側欄中,找到鄰近警報組件(它與您命名的組件不同)并單擊它旁邊出現(xiàn)的“…”。然后,單擊Restart,等待您的服務重新啟動。
第九步:慶祝!你剛剛建立了一個視覺接近警報!
恭喜你!你剛剛建立了一個帶有視覺指示器的自動接近警報!使用一些非常常見的硬件組件和來自Viam的一個方便的模塊,您創(chuàng)建了一個有用的設備。
本文編譯自hackster.io