資料介紹
描述
嘿伙計們,歡迎來到我的第一篇教程文章。所以今天我們要制作一個“使用 Arduino nano 的人類跟隨機器人”似乎很有趣對吧?
先給大家介紹一下這款機器人的主要工作原理:
該人類追隨者將擁有一個超聲波傳感器,該傳感器將作為跟蹤前方物體的媒介。我們將以這種方式對 arduino nano 進行編碼,當一個物體靠近超聲波傳感器并且它的距離小于 5 厘米時,它會向后移動,如果它超過 10 厘米且小于 20 厘米,它就會向前移動超過 20 厘米和不到 25 厘米,比它會向左等等......
如果你還沒有理解它的工作原理,那么看看整個教程你可能會理解它......
主要特征:
~ 項目中使用的物品/裝備很容易獲得。
~ 低成本項目。
~ 沒有多少復雜的電路。
~ 學習 AI 的最佳范例。
所以讓我們開始這個項目:-)
第 1 步:制作項目所需的物品:
第 2 步:制作 Chassy :
~ 所以為了制作 chassy,我使用了一塊 10*14 厘米的紙板。
~ 然后我們需要一個齒輪馬達 4 件。
~ 我們將使用熱膠槍將電機粘在紙板上。
?我們進入電機的接線,接線將這樣我們將橫向焊接同一側的電線。如上圖所示。
~ 我們需要一個橡膠輪(4 個)用于電機。
?然后我們的chassy就準備好了。
讓我們進入下一步...
第 3 步:將電機驅動器與底盤連接:
~ 在這里,我們將使用 L298N 電機驅動器。
~ 在膠水的幫助下將電機驅動器固定在機箱的背面。如圖所示。
~ 然后你需要將電機線連接到電機驅動器的電機端子上。
這就是使 chassy 功能化所需要做的一切。
第4步:制作電路,然后將其轉換為PCB。
在這個項目中,我使用定制設計的電路板來提供更專業的觸感。所以我選擇了 JLCPCB 來設計和訂購這個項目的定制設計的 PCB。
格柏文件:網址
關于JLCPCB
JLCPCB (深圳市佳立創電子科技發展有限公司),是國內最大的PCB樣機企業,是專業從事PCB快速樣機和小批量PCB生產的高科技制造商。JLCPCB擁有超過14年的PCB制造經驗,在國內外擁有超過200,000家客戶,每天有超過8,000個PCB原型和小批量PCB生產的在線訂單。年生產能力為200, 000平方米。對于各種1層,2層或多層PCB,現在還以非常低的成本提供SMT和STENCILS服務。JLC是一家規模大、設備精良、管理嚴格、質量上乘的專業PCB制造商。
我們這邊的特別優惠:-)
1-4 層 PCB 2 美元,注冊可獲得 18 美元新用戶優惠券:JLCPCB優惠券代碼:- JLCPCBcom
我是如何制作 Gerber 文件的:
EASYEDA是一款免費且易于使用的電路設計、電路模擬器和 pcb 設計,可在您的網絡瀏覽器中運行。
第 5 步:安裝 Arduino 和電機驅動器
7 天后,我從JLCPCB獲得了 10 塊高質量 PCB 。然后我將所有的頭針安裝到里面并焊接起來。
~ 現在是時候將 Arduino nano 與 PCB 一起安裝,并在組件和 PCB 之間建立所有必要的連接。
?首先我們將在電機驅動器和Arduino之間建立連接。
帶有 Arduino 引腳的電機驅動器引腳:
IN1 至 D5
IN2 至 D4
IN3 至 D3
IN4 到 D2
enA 到 D6
enB 到 D7
?所以我們需要做的就是電機驅動器引腳......
第 6 步:安裝傳感器、伺服等...
在這部分中,我們將需要超聲波傳感器、其支架、伺服電機...
?首先我們將伺服與底盤粘在一起。
~ 然后我們將使用超聲波傳感器及其支架。
~ 然后我們將超聲波傳感器放入支架中。
~ 之后,我們將安裝在伺服系統中。如圖所示...
第 7 步:連接伺服、超聲波傳感器……
所以我們將伺服,超聲波傳感器與arduino連接起來。
?將伺服連接到PCB中可用的伺服引腳。
~ 只需連接超聲波傳感器引腳,如下所示:
觸發到 D10
回聲到 D11
接地到接地
VCC 至 +5V
這就是所有的連接。非常容易和簡單。
第 8 步:是時候上傳草圖了。
~ 在上傳草圖之前,不要忘記從 PCB 上拆下伺服線和超聲波傳感器的線。
~ 然后將 Arduino nano 的線連接到您的電腦中。
~ 然后打開 Arduino IDE 并將代碼上傳到它。
/*Human folling robot using Arduino nano.
* code created by: DIY Burner
*NOTE : Please don't forget to include the library "Servo.h".
*For any query contact me on Instagram. (id: diy.burner)
*code version: 1.0.0
*/
#include
const int trigPin = 10 ; //Servo trig pin to D10
const int echoPin = 11; // Servo echo pin to D11
const int in1 = 5; // Motor driver pin
const int in2 = 4;
const int in3 = 3;
const int in4 = 2;
const int enA = 6;
const int enB = 7;
#define motorArpm 170 // Default speed for "enA". you can change this speed from 0 to 300
#define motorBrpm 170 // Default speed for "enB". you can change this speed from 0 to 300
Servo servo_motor; //Servo
int pos =0;
void setup(){
Serial.begin(9600);
servo_motor.attach(8); //Servo signal pin to D8
{
for(pos = 90; pos <= 180; pos += 1){
servo_motor.write(pos);
delay(15);
} for(pos = 180; pos >= 0; pos-= 1) {
servo_motor.write(pos);
delay(15);
}for(pos = 0; pos<=90; pos += 1) {
servo_motor.write(pos);
delay(15);
}
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode (in1, OUTPUT);
pinMode (in2, OUTPUT);
pinMode (in3, OUTPUT);
pinMode (in4, OUTPUT);
pinMode (enA, OUTPUT);
pinMode (enB, OUTPUT);
}
}
long duration;
int distance;
void loop(){
digitalWrite(trigPin , HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin , LOW);
duration = pulseIn(echoPin , HIGH);
distance = (duration/2) / 28.5;
if(distance < 5) // It will go Backward if distance is less than 5.
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, motorArpm);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, motorBrpm);
}
if(distance >40) // It will Stop if distance is More than 40.
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
analogWrite(enA, 0);
analogWrite(enB, 0);
}
if(distance > 10 && distance < 20){ // to turn Forward
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, motorArpm);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, motorBrpm);
}
if(distance > 20 && distance < 30)//// to turn left
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 150);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, 160);
}
if(distance > 30 && distance <40 ) //// to turn Right
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, motorArpm);
}
第 9 步:一切就緒,現在是測試它的時候了。
不要忘記連接電池座并將支架的電線連接到電機驅動器和 arduino nano。
觀看我們的 YouTube 視頻以查看其測試視頻。立即觀看!
第 10 步:我們現在完成了
我們現在完成了。我希望您喜歡我的項目,如果您有任何疑問,請在此處留下您的評論,我一定會為您提供幫助,或者如果您對任何新類型的項目有任何想法,請在此處發表評論,我一定會成功的。
我會不斷更新這個教程。
感謝觀看項目,我希望你喜歡這個項目,如果你喜歡,請關注我,我會繼續發布很棒的新項目。另外,別忘了訂閱我的 YouTube 頻道。(YouTube:DIY 燃燒器)
?
- 使用OpenCV的車道跟隨機器人
- DIY簡單的線跟隨機器人
- 基于Arduino Nano的PID線路跟隨機器人 2次下載
- 基于PID的線跟隨機器人
- 線跟隨機器人開源硬件
- 使用TI RSLK MAX構建聲音跟隨機器人
- 使用Pico的線跟隨機器人
- PID控制線跟隨機器人
- 人類跟隨機器人v2.0開源分享
- 帶有PID控制的線跟隨機器人
- 最簡單的線跟隨機器人
- 物體跟隨機器人開源分享
- 如何使用Arduino制作跟隨機器人
- 人類跟隨機器人開源分享
- 線跟隨機器人開源項目
- 一個簡單的線路跟隨器機器人電路 1812次閱讀
- 基于ATmega16構建的線跟隨機器人的完整電路圖 1789次閱讀
- 如何利用Arduino UNO制作一個爬樓梯機器人 3992次閱讀
- 如何使用Arduino制造一個自動平衡機器人 4429次閱讀
- 基于SMARS 機器人的3D打印部件設計 3228次閱讀
- 基于使用Arduino板及電機驅動器對機器人進行編程介紹 3660次閱讀
- 機器人的發展比較依賴于什么 945次閱讀
- 邊緣上的AI:“協作機器人”如何快速處理傳感器數據 1068次閱讀
- 簡易機器人制作圖解 1w次閱讀
- 軟體機器人 前所未見的機器人 3692次閱讀
- 何為柔性機器人?如何讓機器人的身體柔若無骨? 1.1w次閱讀
- 基于3D打印技術的跳舞機器人的硬件電路制作 4427次閱讀
- 《Nature》發布毫米級軟體機器人,為人類研究體內微型機器人提供新思路 9066次閱讀
- 智能機器人的三大關鍵技術詳解 3.2w次閱讀
- 如何構建不傷害人類的工業機器人 1129次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多