電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何制作手勢控制機器人-MadeWithArduino(接收器PCB)

如何制作手勢控制機器人-MadeWithArduino(接收器PCB)

2022-07-01 | zip | 0.06 MB | 次下載 | 免費

資料介紹

PCB圖如下:
poYBAGKv7aiAOgLEAADcgyFnAm0207.png
pYYBAGKv7ayAUz9YAAC8Z9ApcXE362.png
?

成分

nRF24Lo1+ × 1
L298D電機驅(qū)動IC × 1
7805穩(wěn)壓器 × 1
ARDUINO UNO REV3 × 1

描述

如何制作手勢控制機器人|| #MadeWithArduino(接收器 PCB)

嘿,歡迎回到一個新項目。所以今天我們將學習使用Arduino創(chuàng)建一個手勢控制車。

在這里我將分享項目的Receiver部分的詳細教程,我還分享了另一個關(guān)于項目的Transmitter部分的教程。這是查看它的鏈接:https ://bit.ly/3z9FzZQ

poYBAGKv7YmAOByhAABO2fdn9zo655.jpg

查看 YouTube 上的項目教程視頻:

首先說一下我們需要的材料:

?阿杜諾烏諾

~ L298D 馬達驅(qū)動IC

~ nRF24Lo1+

?男性和女性頭

~ 7805 5V 穩(wěn)壓器

~ 18650 電池

開始安裝組件:

安排好上述組件后,我們需要將母頭和公頭引腳焊接到 PCB,如圖所示。

poYBAGKv7byAP5SJAABC3fY4nwU596.jpg

現(xiàn)在,我們需要將組件一個一個地安裝到 PCB 上。在以下模式中:

pYYBAGKv7b-AFSLUAABImo0pCsk484.jpg

現(xiàn)在將 PCB 安裝到 Arduino Uno 中。如下所示:

poYBAGKv7cGAOdGIAABNY-7qg7k043.jpg

現(xiàn)在我們需要使用雙面膠帶將 Arduino Uno 安裝到機箱中。

pYYBAGKv7cSAIy9gAABGn-u7Vq0102.jpg

在此之后,我們需要將電機線連接到 PCB 電機輸出引腳。

pYYBAGKv7ciAJuWaAABa-fDUne8277.jpg

現(xiàn)在將電池座安裝到機箱上,并將正極線連接到 PCB 的 Vin 引腳,將負極線連接到 PCB 的 GND 引腳。

pYYBAGKv7cuAJvAbAABQU_JM1xQ068.jpg

安裝完組件后,我們需要上傳本文附件中給出的代碼。

注意:在上傳代碼之前,請確保將 Arduino Uno 與您的計算機連接并包含所需的庫。

poYBAGKv7c2AeUp9AABnm5PfnOo216.jpg

連接后,打開Arduino IDE并上傳代碼。

poYBAGKv7c-AZ-aTAABGkqjMDuM544.jpg

完成代碼上傳后,只需斷開 Arduino Uno 與計算機的連接。

這就是這個項目的全部內(nèi)容。請務必查看 Transmitter 項目教程 ( https://bit.ly/3z9FzZQ ) 并查看我們的 YouTube 教程視頻:https ://youtu.be/h1LBA7dPYe0

謝謝你。

代碼

手勢控制汽車接收器代碼

C/C++

? //Arduino Gesture control Receiver Code
? //Created By DIY Burner
? //Contact me here https://www.instagram.com/diy_burner/
? //You need to include RF24.h library before uploading the sketch, otherwise you'll get compilation error message.
? ?
? #include //SPI library for communicate with the nRF24L01+
? #include "RF24.h" //The main library of the nRF24L01+
? ?
? //Define enable pins of the Motors
? const int enbA = 2;
? const int enbB = 7;
? ?
? //Define control pins of the Motors
? //If the motors rotate in the opposite direction, you can change the positions of the following pin numbers
? const int IN1 = 3;//Right Motor (-)
? const int IN2 = 4;//Right Motor (+)
? const int IN3 = 5;//Left Motor (+)
? const int IN4 = 6;//Right Motor (-)
? ?
? //Define variable for the motors speeds
? //I have defined a variable for each of the two motors
? //This way you can synchronize the rotation speed difference between the two motors
? int RightSpd = 130;
? int LeftSpd = 150;
? ?
? //Define packet for the direction (X axis and Y axis)
? int data[2];
? ?
? //Define object from RF24 library - 9 and 10 are a digital pin numbers to which signals CE and CSN are connected
? RF24 radio(8,9);
? ?
? //Create a pipe addresses for the communicate
? const uint64_t pipe = 0xE8E8F0F0E1LL;
? ?
? void setup(){
? //Define the motor pins as OUTPUT
? pinMode(enbA, OUTPUT);
? pinMode(enbB, OUTPUT);
? pinMode(IN1, OUTPUT);
? pinMode(IN2, OUTPUT);
? pinMode(IN3, OUTPUT);
? pinMode(IN4, OUTPUT);
? ?
? Serial.begin(9600);
? radio.begin();//Start the nRF24 communicate
? radio.openReadingPipe(1, pipe); //Sets the address of the transmitter to which the program will receive data.
? radio.startListening();
? }
? ?
? void loop(){
? if (radio.available()){
? radio.read(data, sizeof(data));
? ?
? if(data[0] > 380){
? //forward
? analogWrite(enbA, RightSpd);
? analogWrite(enbB, LeftSpd);
? digitalWrite(IN1, HIGH);
? digitalWrite(IN2, LOW);
? digitalWrite(IN3, HIGH);
? digitalWrite(IN4, LOW);
? }
? ?
? if(data[0] < 310){
? //backward
? analogWrite(enbA, RightSpd);
? analogWrite(enbB, LeftSpd);
? digitalWrite(IN1, LOW);
? digitalWrite(IN2, HIGH);
? digitalWrite(IN3, LOW);
? digitalWrite(IN4, HIGH);
? }
? ?
? if(data[1] > 180){
? //left
? analogWrite(enbA, RightSpd);
? analogWrite(enbB, LeftSpd);
? digitalWrite(IN1, HIGH);
? digitalWrite(IN2, LOW);
? digitalWrite(IN3, LOW);
? digitalWrite(IN4, HIGH);
? }
? ?
? if(data[1] < 110){
? //right
? analogWrite(enbA, RightSpd);
? analogWrite(enbB, LeftSpd);
? digitalWrite(IN1, LOW);
? digitalWrite(IN2, HIGH);
? digitalWrite(IN3, HIGH);
? digitalWrite(IN4, LOW);
? }
? ?
? if(data[0] > 330 && data[0] < 360 && data[1] > 130 && data[1] < 160){
? //stop car
? analogWrite(enbA, 0);
? analogWrite(enbB, 0);
? }
? }
? }

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DC電源插座圖紙
  2. 0.67 MB   |  1次下載  |  免費
  3. 2AN84-線性技術(shù)雜志電路集,第一卷第四集
  4. 2.28MB   |  次下載  |  免費
  5. 3AN43-橋式電路
  6. 3.64MB   |  次下載  |  免費
  7. 4AN69-LT1575超快線性控制器提供快速瞬態(tài)響應電源
  8. 218.44KB   |  次下載  |  免費
  9. 5AN98-2004年秋季的信號源、調(diào)理器和電源電路
  10. 864.98KB   |  次下載  |  免費
  11. 6高頻7代電源說明書
  12. 1.04 MB   |  次下載  |  免費
  13. 7AN-616:AD9430評估板對XTAL振蕩器時鐘的修改
  14. 162.24KB   |  次下載  |  免費
  15. 8AN-237: 放大器直接數(shù)字頻率合成的DAC選型器應用漫談
  16. 461.58KB   |  次下載  |  免費

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  450次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  137次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
  6. 0.10 MB   |  128次下載  |  免費
  7. 4使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
  8. 2.96 MB   |  44次下載  |  免費
  9. 53314A函數(shù)發(fā)生器維修手冊
  10. 16.30 MB   |  31次下載  |  免費
  11. 6美的電磁爐維修手冊大全
  12. 1.56 MB   |  22次下載  |  5 積分
  13. 7如何正確測試電源的紋波
  14. 0.36 MB   |  15次下載  |  免費
  15. 8感應筆電路圖
  16. 0.06 MB   |  10次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分