電子DIY項目:使用Arduino的手勢控制機器人

2021-01-08 jokerli35

您可能已經看過手勢控制機器人,其中機器人的運動由手的手勢控制。基於類似原理的另一個有趣的項目是計算機或筆記本電腦的基於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設計,閱讀手語等。

相關焦點

  • 使用Arduino Nano開發板製作手勢控制的機械臂
    在之前的文章中,我們3D列印了機械臂,並使用MG995伺服電機製作了機械臂。我們將再次使用相同的3D印表機器人手臂,通過Arduino Nano、MPU6050陀螺儀和彎曲(Flex)傳感器製作手勢控制的機器人手臂。通過3D列印的機械臂位置可以通過與MPU6050陀螺儀和彎曲傳感器相連的手套來控制。Flex傳感器用於控制機械手的夾具伺服電機,MPU6050用於在X和Y軸上移動機器人。
  • Arduino使用光敏電阻實驗
    打開APP Arduino使用光敏電阻實驗 發表於 2018-01-24 17:18:02 Arduino是一款便捷靈活、方便上手的開源電子原型平臺。
  • 數碼管與ARDUINO 開發板的連接使用
    對於一個最簡單的74HC595應用來講,可以用單片機的三個數字I/O埠分別控制DS、SH_CP和ST_CP,然後將MR和OE分別接VCC和地。單片機與74LS595(8位輸出鎖存移位寄存器)的使用方法74HC595的數據端:QA--QH: 八位並行輸出端,可以直接控制數碼管的8個段。QH': 級聯輸出端。我將它接下一個595的SI端。
  • 十個中文例程教會你輕鬆上手製作Arduino智能小車
    Arduino簡介本文引用地址:http://www.eepw.com.cn/article/201706/348117.htmArduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE)。
  • 腦電波加手勢就夠了 MIT讓你一秒學會控制機器人
    機器人已經在許多領域有了應用,但是使用機器人前的準備工作並不輕鬆,需要有專業人員對其行為進行預先編程。現在,麻省理工學院MIT的計算機研究所開發了一套依靠腦電波和手勢就能控制機器人的系統,零基礎也能讓機器人為自己幹活了。
  • 如何使用Qt為arduino製作圖形界面
    如何使用Qt為arduino製作圖形界面 網絡整理 發表於 2019-11-13 11:11:39 步驟1:安裝Qt
  • arduino從零開始(4)PWM與呼吸燈
    你將了解脈衝寬度調試(PWM)的原理你將使用PWM製作一個呼吸燈的效果脈衝寬度調試PWM,也就是脈衝寬度調製,用於將一段信號編碼為脈衝信號(方波信號)。是在數字電路中 達到 模擬輸出效果的一種手段。即:使用數字控制產生佔空比不同的方波(一個不停在開與關之間切換的信號)來控制模擬輸出。我們要在數字電路中輸出模擬信號,就可以使用PWM技術實現。
  • 智能家居控制-arduino紅外遙控控制燈
    上一篇文章介紹了 arduino接受智能家具系統中的紅外遙控的解碼在此基礎上,今天就做一個遙控器控制的燈,我們可以將燈換成繼電器,這樣的話就實現了,用紅外遙控機,控制家裡的電器開關,比如燈,電視,插座,洗衣機等接線圖幾原理圖如上,一個板子一個紅外接收器,一個燈(可以換成你想控制的任何設備
  • 麻省理工學院開發系統 使用肌肉信號控制無人機
    來源:【cnBeta.COM】麻省理工學院的研究人員創造了一個新的系統,能讓我們更接近於人與機器人的無縫協作。這套系統被稱為 "行為-A-Bot"。它利用可穿戴式傳感器發出的人體肌肉信號來駕駛無人機,控制無人機的運動。
  • 可穿戴手勢識別系統 助截肢患者控制假肢
    記者近日獲悉,哈爾濱工業大學儀器科學與工程學院儀器科學與技術專業電測技術及智能控制研究所孫金瑋教授團隊完成了「用於仿生機械手的可穿戴可攜式實時控制手勢識別系統」研究,成果在線發表於最新一期《物理學雜誌》上。
  • [新課推薦]人工智慧科普活動資源包配套課程Micro:bit+ Arduino...
    利用主板、拓展板(含光線傳感器)製作一個模擬運動軌跡系統3黑夜報警利用主板、拓展板製作黑夜報警系統4 排雷報警利用主板、拓展板製作黑色排雷報警系統5電子蠟燭利用microbit擴展板(含聲音傳感器)、主板、製作一個電子蠟燭6測距顯示利用microbit擴展板、主板、超聲波傳感器製作一個測距系統7音樂播放利用microbit擴展板(含蜂鳴器)、主板、製作一個音樂播放系統
  • 萬能超的arduino學習日記(一)
    本科時候有接觸過arduino,但是由於導師方向原因,轉做了3D列印和動力學分析,所以這裡是啥都會一點點的萬能超,希望能夠和大家一起學習討論。最近由於興趣原因,決定重新撿起arduino,所以決定寫這個萬能超的arduino學習日記跟大家一起重新學習。最開始的入門學習,我選擇跟B站太極創客的學習視頻,因為有基礎,選擇二倍速觀看學習。
  • 基於Arduino與LabVIEW的直流電機轉速控制系統
    直流電機是Arduino機器人製作中的主要動力來源,但是由於電機的參數一致性有所差別,即使是相同型號的電機在相同電壓下的轉速都不完全相同,而且在帶負載或負載不同的情況下,更加會導致電機轉速發生變化,這就會導致製作的Arduino輪式機器人不能實現直線行走,因為這是一個開環控制,沒有任何反饋信號返回。
  • 麻省理工學院在機器人技術領域取得了令人驚奇的進步
    贊助的 低成本自助存儲… Yahoo Search 贊助 過時的時裝…很多 生活 最新的項目將使您可以通過觀看機器人來控制機器人,並且只需簡單的手勢即可糾正錯誤。該小組通過一個簡短的視頻展示了這項研究,其中的小片段顯示了一個正在監督機器人在一塊木頭上鑽孔的人。基本上,該界面適用於人。 該視頻顯示,當有人注意到機器人將要犯錯誤時,可以快速檢測到大腦傳感器。
  • PLC與Arduino的工業控制
    兩者都是開放原始碼的設備,具有可從各種供應商處獲得的組件,並且它們都需要高水平的編程技能和一定的想像力,然後才能用於實時工業控制應用。一些工業用戶可能會想到這些平臺可以替代入門級PLC。畢竟,如果Arduino可以控制機器人來參加STEM競賽,那為什麼它不能控制工業機器人或簡單的機器呢?如果有可能以低至20美元的價格購買Arduino,為什麼要在PLC上花費數百美元?
  • 使用ToF 傳感器進行距離測量和手勢識別的基本原理
    本文將討論包括 ToF 傳感器在內的距離測量技術在各種距離感測和手勢識別應用中的演進和使用情況。接著,本文將描述 ToF 傳感器技術的工作原理,最後還將介紹一些最新的解決方案及其入門使用方法。這個控制器在機器人製造公司中應用非常廣泛,因為它能夠使用 ToF 距離感測,生成機器人即時環境的三維地圖。
  • 機器人的控制系統由什麼組成的
    (4)由於描述機器人狀態和運動的是一個非線性數學模型,隨著狀態的改變和外力的變化,其參數也隨之變化,並且各變量之間還存在耦合。所以,只使用位置閉環是不夠的,還必須要採用速度甚至加速度閉環。系統中經常使用重力補償、前饋、解耦或自適應控制等方法。 (5)由於機器人的動作往往可以通過不同的方式和路徑來完成,所以存在一個「最優」的問題。
  • 一文看懂arduino驅動uln2003操作步進電機的方法
    arduino驅動uln2003操作步進電機的方法   1、網上買的步進電機,很多接線順序都不對。「IN0~IN4」連接arduino的4個數字口(在代碼裡進行相應的設置)。   3、28BYJ-48步進電機的齒輪減速比為64:1,轉速約15轉/分鐘,一些軟體採用某些手段和高電壓電源(如12伏直流)也能達到約25轉/分鐘的轉速。   4步控制信號序列:11.25度/步,32步旋轉一周。   8步控制信號序列:5.625度/步, 64步旋轉一周。
  • 日本爭奪服務機器人產業標準 控制話語權
    本報駐日本、比利時特派記者田泓任彥歐盟和日本的專家2日—3日在比利時首都布魯塞爾舉行會議,就醫療護理機器人的規格與標準進行研究。未來,日本還將考慮與美國和亞洲其他國家進行相關討論,力爭促成國際標準。歐盟與日本在工業機器人製造領域掌握產業標準,控制產業話語權。