使用微控制器ATmega328的無線手勢控制機器人

2020-12-17 電子發燒友

步驟1:電路組件

半導體

IC1-7805,5V穩壓器

IC2-ATmega328微控制器

IC3- LM1117-33,3.3電壓調節器

IC4-HT12E,2 12串聯編碼器

IC5-HT12D,2 12串聯解碼器

IC6-L293D,雙H橋式電動機驅動器

LED1和4-5mm LED

電阻器(全部1/4瓦,碳含量為5%):

R1-1兆歐

R2-10千歐

R3-750千歐

R4-R7-220歐姆

R8-47千歐

電容器:

C1,C2-22pF陶瓷盤

C3-0.1μF陶瓷盤

C4-0.33μF陶瓷盤

C5-10μF,16V電解

其他:

CON1,CON3-2針連接器

CON2-6針連接器

X TAL 1-16MHz晶體

TX1-433MHz發射器模塊

RX1-433MHz接收器模塊

M1,M2 -直流減速電機,100rpm

S1,S2-開/關開關

電池1-9V PP3電池

電池2-4.5V, 1.5Ah鉛酸電池

ANT.1,ANT.2-17釐米長的單股線天線

-ADXL335 3軸加速度計

第2步:這是什麼?

ATmega328

ATmega328是Atmel的單晶片微控制器,屬於mega AVR系列。基於Atmel 8位AVR RISC的微控制器結合了具有讀寫功能的32kB ISP快閃記憶體,1kB EEPROM,2kB SRAM,23個通用I/O線,32個通用工作寄存器,三個靈活的定時器/計數器,以及比較模式,內部和外部中斷,串行可編程USART,面向字節的2線串行接口,SPI串行埠,10位A/D轉換器,帶有內部振蕩器的可編程看門狗定時器和5個軟體可選的電源-節能模式。設備工作在1.8至5.5伏之間它實現了接近每MHz 1 MIPS的吞吐量。 ATmega328p可以替代ATmega328p。

ADXL335

這是一個完整的三軸加速度測量系統。 ADXL335的最小測量範圍為±3g。它包含一個多晶矽表面微機械傳感器和信號調理電路,以實現開環加速度測量架構。輸出信號是與加速度成比例的模擬電壓。加速度計可以測量傾斜感應應用中的靜態重力加速度,以及由於運動,衝擊或振動而產生的動態加速度。

該傳感器是一個多晶矽表面微加工結構,位於頂部矽晶片。多晶矽彈簧將結構懸掛在晶片表面上方,並提供抵抗加速力的能力。使用由獨立的固定板和連接到運動物體上的板組成的差分電容器來測量結構的撓度。固定板由180°異相方波驅動。加速度會使移動的質量偏轉並使差動電容器不平衡,從而導致傳感器輸出的幅度與加速度成比例。然後使用相位敏感的解調技術確定加速度的大小和方向。

L293D

這是一個16引腳DIP封裝電機驅動器IC(IC6),具有四個輸入引腳和四個輸出引腳。全部四個輸入引腳連接到解碼器IC(IC5)的輸出引腳,四個輸出引腳連接到機器人的直流電動機。啟用引腳用於啟用IC6兩側的輸入/輸出引腳。

編碼器(HT12E)和解碼器(HT12D)IC

212編碼器是用於遠程控制系統應用的一系列CMOS LSI。它們能夠編碼由N個地址位和12 N個數據位組成的信息。每個地址/數據輸入可以設置為兩個邏輯狀態之一。接收到觸發信號後,已編程的地址/數據將與標頭位一起通過RF或紅外傳輸介質進行傳輸。選擇HT12E上的TE觸發或HT12D解碼器上的數據(DIN)觸發的能力進一步增強了212系列編碼器的應用靈活性。 HT12D還為紅外系統提供38kHz的載波。

發射器

發送器由ATmega328微控制器(IC2),ADXL335加速度計,HT12E編碼器(IC4)和433MHz RF發送器模塊(TX1)組成。在該電路中,來自ADXL335引腳(x,y)的兩個模擬輸出與微控制器的輸入引腳(23,24)連接。模擬信號通過微控制器轉換為數位訊號。來自微控制器的引腳16、17、18和19的數字輸出直接發送到編碼器IC4的引腳13、12、11和10。此數據通過RF模塊TX1進行編碼和傳輸。

接收器

接收器部分由433MHz射頻接收器模塊(RX1),HT12D解碼器(IC5)和L293D電機驅動器(IC6)組成,用於運行電機。此處,接收器模塊RX1接收發送的信號,該信號由解碼器IC解碼以獲得相同的數字輸出。 IC6的四個輸出驅動兩個電動機。機器人按照發射器中加速度計的傾斜方向移動。

步驟3:方框圖

步驟4:發射器和接收器電路

步驟5:收發器電路的PCB布局

前兩個圖像是接收器電路的布局,其他兩個圖像是發射器電路的布局。/p》

步驟6:軟體程序

該軟體程序是用Arduino程式語言編寫的。我藉助Arduino IDE 1.0.5和Arduino Uno板編寫了一個新的ATmega328微控制器。

首先,您必須將引導加載程序代碼加載到微控制器中。為此,通過選擇文件→示例→Arduino ISP,我將Arduino Uno用於IDE中給出的系統內編程(ISP)。將引導程序上傳到微控制器後,即可上載該項目的pose.ino代碼。

步驟7:原始碼

const int ap1 = A0;

const int ap2 = A1;

int sv1 = 0;

int ov1 = 0;

int sv2 = 0;

int ov2 = 0;

void setup()

{//以9600 bps初始化串行通信:

Serial.begin(9600);

pinMode(13,OUTPUT);

pinMode(12,OUTPUT);

pinMode(11,OUTPUT);

pinMode(10,OUTPUT);

}

void loop()

{AnalogReference(EXTERNAL);//將3.3v連接到AREF

//讀取模擬值:

sv1 = AnalogRead(ap1);

ov1 = map(sv1,0,1023,0,255);

delay(2);

sv2 = AnalogRead(ap2);

ov2 = map(sv2,0,1023,0,255);

延遲(2);

Serial.print(「 Xsensor1 =」);

Serial.print(SV1);

Serial.print(「 \ t output1 =」);

Serial.println(OV1);

Serial.print(「 Ysensor2 =」);

Serial.print(sv2);

Serial.print(「 \ t output2 =」);

Serial.println(OV2);

if(analogRead(ap1)《514 && analogRead(ap2)《463)//用於向後移動

{

digitalWrite(13,HIGH);

digitalWrite(12,LOW);

digitalWrite(11,HIGH);

digitalWrite(10,LOW);

}

else

{

if(analogRead(ap1)《486 && analogRead(ap2)》 508)//左打開

{

digitalWrite(13,LOW);

digitalWrite(12,HIGH);

digitalWrite(11,HIGH);

digitalWrite(10,LOW);

}

其他

{

if(analogRead(ap1)》 512 && analogRead(ap2)》 560)//用於轉發

{

digitalWrite(13,LOW);

digitalWrite(12,HIGH);

digitalWrite(11,LOW);

digitalWrite(10,HIGH);

}

else

{

if(analogRead(ap1)》 550 && analogRead(ap2)》 512)//右打開

{

digitalWrite(13,HIGH);

digitalWrite(12,LOW);

digitalWrite(11,LOW);

digitalWrite(10,HIGH);

}

否則

{

digitalWrite(13,HIGH);

digitalWrite(12,HIGH);

digitalWrite(11,HIGH);

digitalWrite(10,HIGH);

}

}

}

}

}

步驟8:測試

安裝此處所示PCB上的所有組件,以最大程度地減少組裝錯誤。將接收器PCB和4.5V電池固定在機器人的機箱上。在機器人的後側固定兩個電機以及車輪,在前側固定一個腳輪。將主代碼上傳到微控制器後,將其從Arduino Uno板上移除,然後將其插入到組裝好的發送器PCB中。

現在,打開發送器和接收器電路中的電源。將變送器電路連接到您的手(或手套)上,然後向前,向後和側向移動您的手。機器人的運動方向在表I中給出。如果您保持手掌水平並平行於地球表面,則機器人將停止運轉。

為進行故障排除,請首先驗證各個測試點的電壓是否符合表1所述。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 世界首款VR無線手套控制器:做個手勢就能打手槍、開飛機
    為了增強VR遊戲的代入感,除了優秀的VR頭顯之外,相應的控制器也是必不可少的。近日DISCOVER公司就推出了一款VR手套控制器。這款手套控制器名為「Captolove」,根據眾籌頁面上的介紹,開發者稱之為世界首個無線手勢控制器,玩家們只需要簡單直觀的「動動手」、「做手勢」就可以控制遊戲和設備。CaptoGlove手套控制器同時也兼容PC/iOS/安卓設備,可與藍牙連接,其高適應性與便利性讓這款設備顯得很具吸引力。官方也是放出了多段演示,展示了用手套控制器玩《CS:GO》和飛行模擬遊戲的實況。
  • 基於STM32微控制器處理先進電機控制方法
    最後,微控制器必須以1KHz到20KHz的速率連續重新計算矢量控制算法,具體速率取決於最終應用帶寬,處理Parke和Clarke轉換和實現多個PID控制器和軟體鎖相環確實需要高強度的數字計算,這就是過去為什麼數位訊號處理器、微處理器或FGPA器件被用作控制器的原因。
  • 如何利用SRC核心控制器來打造自己的專屬移動機器人
    你想知道輕鬆如何打造移動機器人?你想打造屬於自己的專屬移動機器人嗎?現在,給大家透露一下輕鬆打造移動機器人的秘訣吧,它就是——SRC核心控制器。SRC核心控制器,它是移動機器人最強大腦,也是移動機器人最核心的控制元件,它為移動機器人提供最核心的地圖構建、定位及導航等功能,配合功能強大的可視化操作軟體Roboshop,可快速完成移動機器人的搭建。
  • 微控制器 - CSDN
    例如電機控制、條碼閱讀器/掃描器、消費類電子、遊戲設備、電話、HVAC、樓宇安全與門禁控制、工業控制與自動化和白色家電(洗衣機、微波爐)等。   Intel公司作為最早推出微處理器的公司,同樣也是最早推出微控制器的公司。繼1976年推出MCS-48後,又於1980年推出了MCS-51,為發展具有良好兼容性的新一代微控制器奠定了良好的基礎。
  • NETGEAR企業級無線控制器WC7520評測
    NETGEAR WC7520無線控制器 強大直觀的11N速率  對於使用11N 無線網絡的用戶, 速度和自由移動是兩個不可或缺的因素802.11n AP的無線業務流量經過WC7520集中轉發,無線控制器的轉發能力有可能成為瓶頸,針對這個顧慮,我們測試了WC7520的本地轉發功能。
  • Flow袖珍型手勢控制器讓滑鼠成為過去時
    設計製造這款產品的公司表示,很多人的日常工作就是做平面設計、視頻編輯或者是CAD,鍵盤和滑鼠雖然使用起來還不錯,但是它們帶來的操作並沒有通過一些手勢帶來的操作更加靈敏和直觀。不光是上述所說的這些設計用途,在音樂播放器、瀏覽器等軟體上,使用手勢操作也會帶來更好的體驗。因此我們希望可以製作一個可以更快、更加直觀、更加精準的一個設備來取代滑鼠。這就是他們製造Flow這個可自行編程無線控制器的原因。
  • Myo手勢控制器即將發布 為智能眼鏡而生
    [中關村在線可穿戴頻道原創]前不久我們曾為大家報導過來自加拿大的Thalmic labs公司將推出擁有手勢控制功能的臂帶式智能設備——Myo。這款強大到能夠應用於各種領域的控制器一經問世就獲得了業內的一致讚許。
  • 溫故知新 | 什麼是PoE供電、無線AP、AC控制器?
    此無線設備的傳輸機制相當於有線網絡中的集線器,在無線區域網中不停地接收和傳送數據;任何一臺裝有無線網卡的PC或者移動終端均可通過AP來使用有線區域網路甚至廣域網絡的資源。理論上,當網絡中增加一個無線AP之後,即可成倍地擴展網絡覆蓋直徑;還可使網絡中容納更多的網絡設備。每個無線AP基本上都擁有一個乙太網接口,用於實現無線與有線的連接。
  • 如何製作一個Android控制的機器人
    但微控制器需要5v才能正常工作。..。..所以我們增加了一個5v穩壓器。這是lm7805使用的。 6.acrylic sheet 第2步:電路圖 REMOTEXY RemoteXY是製作和使用移動圖形用戶界面的簡便方法,可通過智慧型手機或平板電腦控制控制器板。
  • 智能電機驅動器讓你的機器人控制更簡單
    這是一款智能電機驅動器(又稱SAMI),設計用於運行微型減速電機,該電路板的目標是通過相應的RPM反饋對該電機實施PID控制。可以獨立工作,通過I2C供電和通信!主機控制器通過I2C進行通信,向SAMI發出命令,包括電機的速度和方向。 模塊將自動實現PID控制。
  • 以MSP432主機微控制器的軟體與硬體集成解決方案
    以MSP432主機微控制器的軟體與硬體集成解決方案 佚名 發表於 2018-03-12 09:08:55 隨著全球互聯程度的日益加深,嵌入式系統解決方案也在不斷增加新的連接選項
  • 意法半導體和Arduino聯手擴寬創客社區使用STM32微控制器和傳感器...
    現在,物聯網開發人員和創客可以在他們的智能硬體內創建高性能圖形功能,使用容易上手的軟硬體開發好用的觸屏和聲控以及媒體流功能,改進他們的應用設計。本文引用地址:http://www.eepw.com.cn/article/201606/293416.htm  STAR Otto的32位 STM32F469微控制器給Arduino生態環境帶來出色的性能,包括意法半導體的Chrom-ART™圖形加速器和MIPI DSI 顯示器接口,並配有開源圖形軟體庫。
  • 基於Leap M otion遠程控制仿生人手運動研究
    張起浩,王建亮,蔣少國(南開大學 濱海學院,天津 300270)本文引用地址:http://www.eepw.com.cn/article/201908/404223.htm  摘 要:針對仿生人手的遠程控制的研究,設計了體感設備Leap Motion和基於STM32微控制器而設計的仿生人手相結合的人機互動系統
  • 瑞薩推出單晶片SuperH微控制器
    高級半導體解決方案廠商瑞薩電子株式會社(TSE:6723,以下簡稱「瑞薩電子」)宣布推出適用於汽車音響、家用音響以及工業設備等、有助於削減系統成本和縮小電路板面積的32位SuperH微控制器
  • 2015年中國最具競爭力機器人控制器企業10強
    在機器人控制器廣闊「錢」景的誘惑下,部分原本專注在運動控制領域的企業,以及一些主業與控制器毫不相干的企業爭先入局,一時間導致機器人控制器市場魚龍混雜。   在此情況下,結合國內機器人控制器公司的產業布局以及綜合實力等盤點出了2015年中國最具競爭力的機器人控制器公司十強。
  • Bragi推Dash Pro智能無線耳機 支持手勢控制
    【PConline資訊】據外媒報導,無線耳機製造商Brag聯合助聽器製造商Starkey推出免提智能無線耳機DashPro,該耳機得益於Starkey技術讓戴起來更加舒服,值得一提是該耳機智能功能,讓用戶可體驗「耳計算」功能,由於DashPro集成iTranslate功能可實時翻譯40種語言,
  • 基於RISC技術的8位微控制器設計
    摘要:介紹基於RISC技術的8位微控制器的設計與實現。主要包括RISC指令集的選取;取指單元、解碼單元、執行單元的設計;取指、解碼、回寫三級流水線技術的實現。該微控制器包含8級硬體堆棧、1個8位計數器、1個計數器溢出中斷、2個外部中斷源、8位數據輸入和輸出埠、16個通用寄存器、2K16位的程序存儲器、512位元組的數據存儲器。
  • 科聰推出全新AGV/AMR控制器MRC3000及自主導航控制系統
    近期,科聰最新MRC3000控制器震撼上市,基於MRC3000為核心的移動機器人自主導航控制系統現可試用。、運動中心坐標、安全保護範圍等基本信息,以及機器人底盤模式、驅動器型號、輪子信息的配置;導航方式的設置;控制器上硬體通道的配置。
  • 為什麼控制器很重要?乾電池控制器的特點是什麼?
    其中,就包括了我們今天要說的內容——控制器。那麼,你對控制器了解多少?在整個灌溉系統中,控制器扮演什麼角色?接下來,我們來談談控制器的重要性。控制器是整個灌溉系統的控制所在,它控制灌溉的特定時間、澆水時間長度和澆水間隔天數。根據控制器的不同功能,有三種控制器:乾電池控制器、降雨感應電磁電源控制器和無線控制器。