修改

文檔

圖片

迪威模型和Solidworks 聯(lián)合會(huì)員
迪威網(wǎng)友a(bǔ)935ac
迪威網(wǎng)友a(bǔ)935ac
原創(chuàng)模型

“Neurobot 3”-Arduino教育機(jī)器人套件,自主RC控制

VIP
免費(fèi),登錄即可下載
本資源不能下載
發(fā)布時(shí)間:2021/1/26 3:00:00
你好,世界!:)
我叫尼克·格里戈里耶夫,我是一名專業(yè)工程師,我喜歡制造機(jī)器人!
我創(chuàng)造了這個(gè)組件,讓孩子們學(xué)習(xí)Arduino的代碼,為明天的工程做準(zhǔn)備。
他們可以學(xué)習(xí)紅外測(cè)距、LED閃爍(閃爍車燈比一個(gè)LED有趣得多)、伺服控制、GPS信號(hào)采集與處理、液晶屏、壓電蜂鳴器、慣性測(cè)量單元等。
這是我的“神經(jīng)機(jī)器人1”的第三個(gè)版本( rada和Arduino Mega,但不帶Raspberry Pi,便于組裝和編程。
這是一個(gè)機(jī)器人,它可以在自主模式下運(yùn)行或被RC控制。
它把ru Arduino Mega當(dāng)作“大腦”,把三個(gè)IR seo(距離10-90厘米)當(dāng)作他的“眼睛”。
你可以運(yùn)行非常有趣的程序與“Adafruit終極全球定位系統(tǒng)突破”seor,RTC(實(shí)時(shí)時(shí)鐘)等,它在面包板上。
要裝配它,您需要進(jìn)行三維打印:
11號(hào)線-3件
生產(chǎn)線7-1件
開關(guān)座\u線路7-1件
板\u 5x11-1件
板7x11-1件
伺服U支架-4件
伺服支架垂直-3件
靠近_seor_front-3件
靠近鐔seu或鐔back-3件
旋鈕-30件
生產(chǎn)線\u 3 \u 13 \u LED \u正面-2件
線路\u 1 \u 13 \u LED \u 90度-2個(gè)
液晶顯示器支架\正面-1件
LCD\支架\背面-1件
角度\u 1x1 \u 135 \u度-2件
墊片mm-34件
您需要購(gòu)買:
Arduino Mega或Uno-1件
Saimart伺服護(hù)罩,適用于Mega或Uno-1件
鋰電池-1塊
脂肪檢查器-1件(可選)
6伏UBEC-1件
夏普IR seor-3件
1/4英寸螺紋桿-40英寸,并將其切成碎片:
…A)106 mm-4件
…B)98.5 mm-2件
…C)91 mm-2件
1/4英寸螺母-30件
6/32螺栓1-1/4長(zhǎng)度-56個(gè)
6/32螺母-56個(gè)
LED-26個(gè)
220歐姆電阻-8件
伺服外伸電纜30 cm-5根
所有購(gòu)買鏈接,請(qǐng)參見此處:
(我想保留一份最新的購(gòu)物清單,以維持訂單)。
如果需要,可以添加RC控件(我通常稱之為Futaba Rx和Tx,但如果需要,可以從這里獲得: 190\uu 190\uu Radios\u ?idCategory=190&pc=)。
如果您想從我這里購(gòu)買這套打印套件(除電子元件外的所有零件或一次購(gòu)買所有元件),請(qǐng)寫信給我下面的電子郵件。
祝你玩得開心,我希望,你會(huì)喜歡的:)
尼克
nikgrigoryev@
(C) 加州設(shè)計(jì)
Arduino項(xiàng)目:
(取消這3行代碼的注釋)#include Servo.h包括“伺服庫(kù)”的代碼,使用伺服功能
#include LiquidCrystal?I2C.h包括管理LCD的標(biāo)準(zhǔn)庫(kù)
#include Wire.h包含用于管理I2C設(shè)備的庫(kù)
伺服輪ServorFrontPassengeide;創(chuàng)建伺服對(duì)象以控制四個(gè)車輪伺服
伺服輪伺服后乘客;
伺服輪伺服前驅(qū);
伺服輪伺服后驅(qū)動(dòng);
伺服對(duì)象;創(chuàng)建伺服對(duì)象來(lái)控制三個(gè)IR seo伺服,前,左和右
伺服驅(qū)動(dòng)器;
伺服耳機(jī);
LiquidCrystal I2C lcd(0x27,20,4);在地址0x27上為20 cha和4行顯示器創(chuàng)建對(duì)象“l(fā)cd”
int wheelservorfrontpassengiedepin=10;定義車輪的針腳編號(hào)
int WheelServorRearPassengeIdePin=9;
int WheelServorFrontDriveIdePin=11;
int WheelServorRearDriveIdePin=8;
int iervoFrontPin=12;定義轉(zhuǎn)向器的管腳編號(hào)
int IerrovorerDriverPin=6;
int=5;
int irFrontPin=A2;定義銳利紅外距離的pi
int irPassengeidePin=A3;它們的電源為Vc=5V,而不是Hitec伺服系統(tǒng)的6V
int irDriveidePin=A1;
int ledLightDriveidePin=34;定義前LED燈的pi
int ledLightPassengeidePin=35;
無(wú)效設(shè)置(){
pinMode(irFrontPin,輸入);在輸入模式下設(shè)置IR距離的pi
pinMode(irPassengeidePin,輸入);
pinMode(IrDriveIpin,輸入);
pinMode(LED燈驅(qū)動(dòng)器pin,輸出);將前LED燈的pi設(shè)置為輸出模式
pinMode(LED燈PassengeIdePin,輸出);
序列號(hào).開始(9600);以9600波特的速度啟動(dòng)串行端口
電線。開始();啟動(dòng)I2C總線
lcd.開始();啟動(dòng)lcd對(duì)象
車輪ervoFrontPassengeide.attach附件(車輪伺服前乘客銷);將車輪伺服連接到四個(gè)pi
輪伺服后乘客側(cè).attach(車輪伺服后乘客銷);
什么elservofrondriveide.attach文件(前驅(qū)動(dòng)銷);
什么eelServoRearDriveide.attach文件(車輪伺服后驅(qū)動(dòng)銷);
文件(iervoFrontPin);將IR伺服連接到三個(gè)pi
文件(iervoRearDriverPin);
公司(iervoRearPassengerPin);
車輪ervoFrontPassengeide.write文件(93);向車輪伺服系統(tǒng)發(fā)送停止信號(hào)
輪ServoRearPassengeide.write文件(93);
什么elservofrondriveide.write文件(93);
什么eelServoRearDriveide.write文件(93);
digitalWrite(ledLightDriveidePin,高);Tur LED亮起,向LED發(fā)送5V電壓
數(shù)字寫入(LED燈PassengeIdePin,高);
文件(90);
文件(171);
文件(7);
lcd背光();tur開啟背光
lcd.清除();clea LCD
r設(shè)置(7,1);將cuor帶到2號(hào)線的位置8
lcd打印(“你好!”);
r設(shè)置(3, 2);
lcd打印(“綠巨人還活著:)”);
}
void changeSpeedOfWheels(浮點(diǎn)a1、浮點(diǎn)a2、浮點(diǎn)b1、浮點(diǎn)b2、int stepTime、int cycleTime)
{
a1=-a1;
a2=-a2;
b1=-b1;
b2=-b2;
浮子an=a1;
浮點(diǎn)數(shù)bn=b1;
int n=(int)(周期時(shí)間/步長(zhǎng)時(shí)間 0.5);
對(duì)于(int i=1;i<=n;i )
{
int i \u want \u movement \u right=(int)(an 0.5);這是真正的移動(dòng),范圍從-70到 70
int i \u want \u movement \u left=(int)(bn 0.5);這是真正的移動(dòng),范圍從-70到 70
int pos \u Right=-我想向右移動(dòng)\u 90;60完全向后120完全向前90停止
int pos_Left=i_want_movement_Left 90;120完全向后60完全向前90停止
車輪ervoFrontPassengeide.write文件(右位置 3);
輪ServoRearPassengeide.write文件(右位置 3);
什么elservofrondriveide.write文件(左 3位置);
什么eelServoRearDriveide.write文件(左 3位置);
an=(a2-a1)/n an;
bn=(b2-b1)/n bn;
延遲(步進(jìn)時(shí)間);
}
int i\u want\u movement\u right=a2;這是真正的移動(dòng),范圍從-70到 70
int i\u want\u movement\u left=b2;這是真正的移動(dòng),范圍從-70到 70
int pos \u Right=-我想向右移動(dòng)\u 90;60完全向后120完全向前90停止
int pos_Left=i_want_movement_Left 90;120完全向后60完全向前90停止
車輪ervoFrontPassengeide.write文件(右位置 3);
輪ServoRearPassengeide.write文件(右位置 3);
什么elservofrondriveide.write文件(左 3位置);
什么eelServoRearDriveide.write文件(左 3位置);
}
無(wú)效循環(huán)(){
延遲(1000);
int irFrontMassive[156];聲明前面、駕駛員側(cè)有3個(gè)體量
int[159];和乘客側(cè)半圓
國(guó)際乘客通行證[160];
對(duì)于(int i=0;i<=160;i ){用零初始化三個(gè)體量
irFrontMassive[i]=0;
IrD[i]=0;
irPassengerMassive[i]=0;
}
int maxVectorFrontLength=2000;以最接近的最大值開始向量值
int maxVectorFrontAngle=0;以零開始向量角度
文件(11);
延遲(500);
對(duì)于(int i=11;i<=167;i ){用來(lái)自前方紅外傳感器的大量數(shù)據(jù)填充前方距離
文件(i) ;
延遲(10);
irFrontMassive[i]=模擬讀取(irFrontPin);
if(maxVectorFrontLength>irFrontMassive[i]){
maxVectorFrontLength=irFrontMassive[i];
maxVectorFrontAngle=i;
}
}
文件(90);
int maxVectorDriverLength=2000;以最接近的最大值開始向量值
int maxVectorDriverAngle=0;以零開始矢量角度
文件(12);
延遲(500);
對(duì)于(int i=12;i<=171;i ){用來(lái)自駕駛員紅外傳感器的大量數(shù)據(jù)填充駕駛員側(cè)距離
文件(i) ;
延遲(10);
IrDRIVEIDPIN[i]=analogRead(IrDRIVEIDPIN);
if(maxVectorDriverLength>irDriverMassive[i]){maxVectorDriverLength=irDriverMassive[i];maxvectorDriverRange=i;}
}
文件(91);
int maxVectorPassengerLength=2000;以最接近的最大值開始向量值
int maxVectorPassengerAngle=0;以零開始矢量角
文件(7);
延遲(500);
對(duì)于(int i=7;i<=167;i ){用來(lái)自乘客紅外傳感器的大量數(shù)據(jù)填充乘客距離
文件(i) ;
延遲(10);
irPassengerMassive[i]=模擬讀?。╥rPassengeidePin);
if(maxVectorPassengerLength>irPassengerMassive[i]){maxVectorPassengerLength=irPassengerMassive[i];maxVectorPassengerAngle=i;}
}
文件(88);
lcd.清除();Clea LCD
r設(shè)置(0,0);將cuor帶到第1行的位置1
lcd打?。ā扒癆=”);
lcd打?。ㄗ畲笫噶壳敖牵?br>r設(shè)置(12, 0);
lcd打?。ā癓=”);
lcd打?。╩axVectorFrontLength);
r設(shè)置(0,1);將cuor帶到第2行的位置1
lcd打印(“左A=”);
lcd打?。ㄗ畲笫噶框?qū)動(dòng)角度);
r設(shè)置(12, 1);
lcd打?。ā癓=”);
lcd打?。ㄗ畲笫噶框?qū)動(dòng)長(zhǎng)度);
r設(shè)置(0,2);取cuor到p
個(gè)文件
壓縮包大?。?4MB
小程序二維碼
微信小程序 微信掃碼打開此模型
登錄后發(fā)表評(píng)論
恒諾鑫科-專注碳素制品的開發(fā)與生產(chǎn)