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