2345-做什么都隊代碼部分_第1頁
2345-做什么都隊代碼部分_第2頁
2345-做什么都隊代碼部分_第3頁
2345-做什么都隊代碼部分_第4頁
2345-做什么都隊代碼部分_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一、底層控制底層控制采用的是 Arduino Mega 單片機,下面附上代碼/以 15 毫秒一步的速度轉(zhuǎn)動#include Servo servo1; / 建立 Servo 實例Servo servo2;const servo1Pin = 6; / servo1 接 Pin 8 const servo2Pin = 7; / servo2 接 Pin 9 const every1 = 15;const every2 = 15; servo1= 180;servo2= 0;servo1Dir = 1;servo2Dir = 1;OfServo1 = 90;OfServo2 = 90; count=

2、0;read1,read2,read3,read4,read5;/ struct location x;y;d;locate;/ #define READ1 22/2 #define READ2 24/4 #define READ3 26/7/ #define READ4 28/8 #define READ5 30/11/ #define L1 32/A0#define L2 34/A1 #define L3 36/A2 #define L4 38/A3/ #define R1 40/A4#define R2 42/A5 #define R3 44/12 #define R4 46/13/ #

3、define ENAL 2/5 #define ENBL 3/6 #define ENAR 4#define ENBR 5/ void setup() / servo1.attach(servo1Pin, 500, 2500); / pin8,servo2.attach(servo2Pin, 500, 2500); / pin9 Serial.begin(9600);servo1.write( OfServo1); servo2.write(OfServo2); Serial.prln(2 Servo test); delay(500);/ p1,OUTPUT);p2,OUTPUT);p3,O

4、UTPUT);p4,OUTPUT); p ode(R1,OUTPUT); p ode(R2,OUTPUT); p ode(R3,OUTPUT); p ode(R4,OUTPUT);pode(ENAL,OUTPUT); pode(ENBL,OUTPUT); pode(ENAR,OUTPUT); pode(ENBR,OUTPUT);pode(READ1, INPUT); pode(READ2, INPUT);pode(READ3, INPUT); pode(READ4, INPUT);pode(READ5, INPUT);locate.x=0; locate.y=0; locate.d=0;voi

5、d loop( ) / delay(10000);movef(); delay(25000); Stop(); delay(100); Back(); delay(18000); Stop(); delay(100); movef(); delay(10000); Stop(); delay(100);while(OfServo190)checkServo1();delay(3000); Backf(); delay(30000);void Read()read1=digitalRead(READ1); read2=digitalRead(READ2); read3=digitalRead(R

6、EAD3); read4=digitalRead(READ4); read5=digitalRead(READ5);void Stop()digitalWri1,LOW); digitalWri2,LOW); digitalWri3,LOW); digitalWri4,LOW);ogWrite(ENAL,150); ogWrite(ENBL,150);digitalWrite(R1,LOW); digitalWrite(R2,LOW); digitalWrite(R3,LOW); digitalWrite(R4,LOW);ogWrite(ENAR,255); ogWrite(ENBR,0);二

7、、識別部分識別部分采用的是將頭的數(shù)據(jù)通過 STM32F429 單片機上的 wifi 傳送到上位機上,在上位機上進行處理以后,在傳送控制信號到單片機,完成對小車的控制。圖像識別算法采用的是模式識別,該識別方法有簡單的特性,但是識別成功率較低,所以最后放棄了圖像識別。三、總結(jié)底層控制的代碼相對簡單,主要是對硬件的調(diào)試。圖像識別代碼是最為關(guān)鍵的部分,同時也是最難的部分,參賽者們可以多花精力在上面。void checkServo1( ) sic u32_t Timer; if (Timer millis()return;Timer = millis() + every1;if (servo1OfServo1) OfServo1 += servo1Dir; else if (servo1=OfServo1) return; else OfServo1 += -servo1Dir;servo1.write(OfServo1);void checkServo2( ) sic u32_t Timer; if (Timer millis()return;Timer = millis() + every2;if (ser

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論