版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#include double Setpoint, Input, Output;void PID_MY();double Kp=5, Ki=0.8, Kd=5;void fun1();void fun2();int num1,num2,num3,num4,num5,num6,num7,num8;/8路循跡PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd,P_ON_M, DIRECT);int pinI1=26;/定義I1接口int pinI2=27;/定義I2接口int pinI3=28;int pinI4=29;int pinI5=30;/定義
2、I1接口int pinI6=31;/定義I2接口int pinI7=32; /一high一LOW 正轉(zhuǎn)int pinI8=33;int P1=2;/定義EA(PWM調(diào)速)接口int P2=3;/定義EA(PWM調(diào)速)接口int P3=4;/定義EA(PWM調(diào)速)接口int P4=5;/定義EA(PWM調(diào)速)接口/1,3左同側(cè)電機(jī),對(duì)應(yīng)PWM1void FORWARD(int PWM1,int PWM2);void BACK(int PWM1,int PWM2);void LEFT(int PWM1,int PWM2);void RIGHT(int PWM1,int PWM2);void STO
3、P(); void PID_my();void input_hong();void hong();void setup() pinMode(pinI1,OUTPUT); pinMode(pinI2,OUTPUT); pinMode(pinI3,OUTPUT); pinMode(pinI4,OUTPUT); pinMode(pinI5,OUTPUT); pinMode(pinI6,OUTPUT); pinMode(pinI7,OUTPUT); pinMode(pinI8,OUTPUT); pinMode(P1,OUTPUT); pinMode(P2,OUTPUT); pinMode(P3,OUT
4、PUT); pinMode(P4,OUTPUT); /initialize the variables were linked to Input=0; Setpoint = 0; /turn the PID on myPID.SetMode(AUTOMATIC);myPID.SetSampleTime(10); myPID.SetOutputLimits(-255, 255);attachInterrupt(4, fun1,RISING);/當(dāng)電平上升時(shí),觸發(fā)中斷函數(shù),21attachInterrupt(3, fun2,RISING);/22 pinMode(P1,OUTPUT); pinMo
5、de(P2,OUTPUT); pinMode(pinI1,OUTPUT); pinMode(pinI2,OUTPUT); pinMode(pinI3,OUTPUT); pinMode(pinI4,OUTPUT);/馬達(dá) pinMode(19,INPUT); /1 pinMode(20,INPUT); /8 pinMode(48,INPUT); /2 pinMode(46,INPUT); /3 pinMode(44,INPUT); /4 pinMode(36,INPUT); /5 pinMode(38,INPUT); /6 pinMode(40,INPUT); /7delay(4000); PI
6、D_MY();void loop() void PID_MY() int PWM1,PWM2; while(1) hong(); input_hong();/根據(jù)紅外輸入input myPID.Compute(); if(Output=0) PWM1=255; PWM2=(int)(255-Output); else PWM1=(int)(255+Output); PWM2=255; FORWARD(PWM1,PWM2); if(num5=HIGH&num6=HIGH&num7=HIGH) LEFT(255,255); delay(100); if(num3=HIGH&num4=HIGH&nu
7、m5=HIGH&num6=HIGH) detachInterrupt(3); detachInterrupt(4); FORWARD(255,255); delay(500); STOP(); return; void input_hong() if(num2=HIGH) Input = -16; else if(num3=HIGH) Input = -8; else if(num4=HIGH) Input = -0.5; else if(num5=HIGH) Input = 1.5; else if(num6=HIGH) Input = 8; else if(num7=HIGH) Input
8、 = 16; void hong() num1=digitalRead(20); num2=digitalRead(36); num3=digitalRead(38); num4=digitalRead(40); num5=digitalRead(44); num6=digitalRead(46); num7=digitalRead(48); num8=digitalRead(21);/ 用num1-8保存從左到右8個(gè)傳感器的狀態(tài) void fun1() do num4=digitalRead(44); RIGHT(255,255); while(num4!=HIGH); void fun2(
9、) do num5=digitalRead(36); LEFT(255,255); while(num5!=HIGH); void FORWARD(int PWM1,int PWM2) analogWrite(P1,PWM1); digitalWrite(pinI1,LOW); digitalWrite(pinI2,HIGH); analogWrite(P2,PWM2); digitalWrite(pinI3,LOW); digitalWrite(pinI4,HIGH); analogWrite(P3,PWM1); digitalWrite(pinI5,LOW); digitalWrite(p
10、inI6,HIGH); analogWrite(P4,PWM2); digitalWrite(pinI7,LOW); digitalWrite(pinI8,HIGH);void BACK(int PWM1,int PWM2) analogWrite(P1,PWM1); digitalWrite(pinI1,HIGH); digitalWrite(pinI2,LOW); analogWrite(P2,PWM2); digitalWrite(pinI3,HIGH); digitalWrite(pinI4,LOW); analogWrite(P3,PWM1); digitalWrite(pinI5,
11、HIGH); digitalWrite(pinI6,LOW); analogWrite(P4,PWM2); digitalWrite(pinI7,HIGH); digitalWrite(pinI8,LOW);void LEFT(int PWM1,int PWM2) analogWrite(P1,PWM1); digitalWrite(pinI2,LOW); digitalWrite(pinI1,HIGH); analogWrite(P2,PWM2); digitalWrite(pinI4,HIGH); digitalWrite(pinI3,LOW); analogWrite(P3,PWM1);
12、 digitalWrite(pinI6,LOW); digitalWrite(pinI5,HIGH); analogWrite(P4,PWM2); digitalWrite(pinI7,LOW); digitalWrite(pinI8,HIGH);void RIGHT(int PWM1,int PWM2) analogWrite(P1,PWM1); digitalWrite(pinI2,HIGH); digitalWrite(pinI1,LOW); analogWrite(P2,PWM2); digitalWrite(pinI4,LOW); digitalWrite(pinI3,HIGH); analogWrite(P3,PWM1); digitalWrite(pinI6,HIGH); digitalWrite(pinI5,LOW); analogWrite(P4,PWM2); digitalWrite(pinI8,LOW); digitalWrite(pinI7,HIGH);void STOP() digitalWrite(pi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)部月度預(yù)算執(zhí)行分析報(bào)告范文
- 2026年房地產(chǎn)資產(chǎn)證券化對(duì)房地產(chǎn)市場(chǎng)的影響因子
- 2026年橋梁健康監(jiān)測(cè)的經(jīng)濟(jì)學(xué)分析
- 2026年水電對(duì)生態(tài)系統(tǒng)服務(wù)的影響評(píng)估
- 2026年成本控制與項(xiàng)目交付模式的關(guān)系
- 2026年如何提高房地產(chǎn)交易的法律安全性
- 2026年建筑電氣設(shè)計(jì)中的交叉學(xué)科應(yīng)用
- 2026年會(huì)議室照明設(shè)計(jì)的專(zhuān)屬技巧
- 6.1.3化學(xué)反應(yīng)速率與反應(yīng)限度(第3課時(shí) 化學(xué)反應(yīng)的限度) 課件 高中化學(xué)新蘇教版必修第二冊(cè)(2022-2023學(xué)年)
- 維持呼吸功能的護(hù)理技術(shù)
- 2026年馬年德育實(shí)踐作業(yè)(圖文版)
- 四川省成都市武侯區(qū)西川中學(xué)2024-2025學(xué)年八上期末數(shù)學(xué)試卷(解析版)
- 2026年《必背60題》抖音本地生活BD經(jīng)理高頻面試題包含詳細(xì)解答
- 土方回填工程質(zhì)量控制施工方案
- 2025年湖南城建職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 2026貴州大數(shù)據(jù)產(chǎn)業(yè)集團(tuán)有限公司第一次社會(huì)招聘考試題庫(kù)新版
- 珠海高新區(qū)2025年下半年公開(kāi)招聘公辦中學(xué)事業(yè)編制教師備考題庫(kù)及答案詳解一套
- 2025年貴港市利恒投資集團(tuán)有限公司公開(kāi)招聘工作人員的備考題庫(kù)及參考答案詳解
- 術(shù)后出血的特發(fā)性出血的診療策略
- 2026年江西交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)完美版
- 2026年教師資格之中學(xué)綜合素質(zhì)考試題庫(kù)500道含完整答案【奪冠】
評(píng)論
0/150
提交評(píng)論