您可能已經看過手勢控制機器人,其中機器人的運動由手的手勢控制。基於類似原理的另一個有趣的項目是計算機或筆記本電腦的基於Arduino的手勢控制。
在這個項目中,我們實現了一個基於Arduino的簡單手勢控制,您可以在其中控制Web瀏覽器的一些功能,例如在選項卡之間切換,在網頁中上下滾動,在任務(應用程式)之間切換,播放或暫停視頻以及藉助手勢增大或減小音量(在VLC Player中)。
項目原理
基於Arduino的計算機手勢控制項目是使用Python實現的。所以需要安裝Python與pySerial。
基於Arduino的計算機手勢控制的原理實際上非常簡單。您要做的就是使用兩個帶有Arduino的超聲波傳感器,將手放在超聲波傳感器的前面,並計算手與傳感器之間的距離。使用此信息,可以在計算機中執行相關操作。
超聲波傳感器的位置非常重要。將兩個超聲波傳感器分別放在筆記本電腦屏幕的頂部。來自Arduino的距離信息是由Python程序收集的,一個名為PyAutoGUI的特殊庫會將數據轉換為鍵盤點擊動作。
電路原理圖
下圖顯示了該項目的Arduino部分的電路圖。它由一個Arduino UNO板和兩個超聲波傳感器組成,您可以從筆記本電腦的USB埠為所有這些組件供電。
所需組件
Arduino UNO x 1超聲波傳感器x 2 USB電纜(用於Arduino) 幾根連接線 可以上網的筆記本電腦 項目設計
電路的設計非常簡單,但是組件的設置非常重要。第一個超聲波傳感器的觸發和回波引腳(位於屏幕左側)連接至Arduino的引腳11和10。對於第二個超聲波傳感器,觸發和回波引腳連接到Arduino的引腳6和5。
現在,在放置傳感器時,將兩個超聲波傳感器都放在筆記本電腦屏幕的頂部,一個在左端,另一個在右端。您可以使用雙面膠帶將傳感器固定在屏幕上。
來到Arduino,將其放在筆記本電腦屏幕的背面。將電線從Arduino連接到各個傳感器的觸發和回波引腳。
編程Arduino以檢測手勢
該項目的重要部分是為Arduino編寫程序,以便將兩個傳感器測得的距離轉換為用於控制某些動作的適當命令。
在此項目中,此處使用類似的概念來測量您的手在兩個超聲波傳感器之前的距離。計算距離後,有趣的部分開始。
可以校準超聲波傳感器前面的手勢,以便它們可以在計算機上執行五個不同的任務。在看一下手勢之前,讓我們首先看一下我們可以完成的任務。
切換到Web瀏覽器中的「下一個」選項卡在網頁中向下滾動在網頁中向上滾動在兩個任務之間切換(Chrome和VLC Player)在VLC播放器中播放/暫停視頻增加音量減少音量以下是我為演示目的編程的5種不同手勢或動作。
手勢1:將您的手放在右側超聲波傳感器前面一定距離(介於15CM至35CM之間)一小段時間,然後將手從傳感器上移開。此手勢將向下滾動網頁或降低音量。
手勢2:將您的手放在右超聲波傳感器前面一定距離(介於15CM至35CM之間)一小段時間,然後將手移向傳感器。此手勢將向上滾動網頁或增大音量。
手勢3:在右超聲波傳感器前滑動手。此手勢將移至「下一個選項卡」。
手勢4:在左超聲波傳感器的前面滑動手。此手勢將移至「上一個選項卡」或「播放/暫停視頻」。
手勢5:將手滑過兩個傳感器(首先是左傳感器)。此操作將在任務之間切換。
基於上述手勢,編寫了以下Arduino程序。
基於Arduino的計算機手勢控制的應用。
在此項目中,我們實現了基於Arduino的計算機手勢控制,其中在計算機正面進行的很少手勢將在不使用滑鼠或鍵盤的情況下執行計算機中的某些任務。這種類型的計算機手勢控制可用於VR(虛擬實境),AR(增強現實),3D設計,閱讀手語等。