日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

arduino麦轮转弯程序_麦克纳姆轮智能小车接线方案

發(fā)布時間:2024/7/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arduino麦轮转弯程序_麦克纳姆轮智能小车接线方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

折騰了好幾天,實在搞不定了,決定上來社區(qū)求助。

現(xiàn)在的硬件情況是這樣的:

- HM-GM37-3429霍爾傳感器大載重電機,每個電機六條線,其中電機輸入兩個,霍爾編碼器電源兩個,編碼器AB相兩個

- 四個電機,不算電源線的話,每個電機要使用3個Arduino的端口(控制高低電平和PWM)+兩個編碼器AB相數(shù)據(jù)輸入,共需要20個端口

- Arduino Uno

- L298N四路驅(qū)動器

- 12V電池

我遇到的問題是:

1. 不知道怎樣接線才能把電機和霍爾編碼器都用上

2. 考慮過擴展板,但即便用了Nano+擴展板能插上線,Arduino也只有1~13,A1~A7這么多的端口,如何能同時控制電機又可以獲取到四個霍爾編碼器的值?

還有就是目前電機總是時轉(zhuǎn)時不轉(zhuǎn)的,折騰了5,6個小時了不清楚原因,還望各位大神可以多支招,已排查以下情況:

- 全部杜邦線已用萬用表測量過是通的

- L298N是正常的,用了兩塊同樣的板子試過還是這樣

- 電機用電池直連測試過是可以轉(zhuǎn)的

唯一沒有測過的就是Arduino Uno是不是正常的了,但這個不知道有沒有簡便的方法可以測試?

謝謝大家!

以下是我的測試代碼:

[mw_shl_code=arduino,true]/*

* Sample Code for testing car running

*/

//Define the Pins

//Motor 1

int pinAIN1 = 4; //右前馬達

int pinAIN2 = 2; //右前馬達

int pinPWMA = 3; //右前馬達PWM

int pinAIN3 = 7; //左前馬達

int pinAIN4 = 6; //左前馬達

int pinPWMB = 5; //左前馬達PWM

int pinAIN5 = 10; //右后馬達

int pinAIN6 = 8; //右后馬達

int pinPWMC = 9; //右后馬達PWM

int pinAIN7 = 12; //左后馬達

int pinAIN8 = 13; //左后馬達

int pinPWMD = 11; //左后馬達PWM

//Standby

int pinSTBY = 12;

void setup()

{

Serial.begin(9600);

//Set the PIN Modes

pinMode(pinAIN1, OUTPUT);

pinMode(pinAIN2, OUTPUT);

pinMode(pinPWMA, OUTPUT);

pinMode(pinAIN3, OUTPUT);

pinMode(pinAIN4, OUTPUT);

pinMode(pinPWMB, OUTPUT);

pinMode(pinAIN5, OUTPUT);

pinMode(pinAIN6, OUTPUT);

pinMode(pinPWMC, OUTPUT);

pinMode(pinAIN7, OUTPUT);

pinMode(pinAIN8, OUTPUT);

pinMode(pinPWMD, OUTPUT);

pinMode(pinSTBY, OUTPUT);

}

void loop()

{

//12A

Serial.println("前");

int speed = 255;

digitalWrite(pinAIN1, 1);

digitalWrite(pinAIN2, 0);

analogWrite(pinPWMA, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMA, 0);

delay(1000);

Serial.println("后");

digitalWrite(pinAIN1, 0);

digitalWrite(pinAIN2, 1);

analogWrite(pinPWMA, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMA, 0);

delay(1000);

//34B

Serial.println("后");

digitalWrite(pinAIN3, 1);

digitalWrite(pinAIN4, 0);

analogWrite(pinPWMB, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMB, 0);

delay(1000);

Serial.println("前");

digitalWrite(pinAIN3, 0);

digitalWrite(pinAIN4, 1);

analogWrite(pinPWMB, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMB, 0);

delay(1000);

//56C

Serial.println("前");

digitalWrite(pinAIN5, 1);

digitalWrite(pinAIN6, 0);

analogWrite(pinPWMC, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMC, 0);

delay(1000);

Serial.println("后");

digitalWrite(pinAIN5, 0);

digitalWrite(pinAIN6, 1);

analogWrite(pinPWMC, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMC, 0);

delay(1000);

//78D

Serial.println("后");

digitalWrite(pinAIN7, 1);

digitalWrite(pinAIN8, 0);

analogWrite(pinPWMD, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMD, 0);

delay(1000);

Serial.println("前");

digitalWrite(pinAIN7, 0);

digitalWrite(pinAIN8, 1);

analogWrite(pinPWMD, speed);

delay(2000);

Serial.println("結(jié)束");

analogWrite(pinPWMD, 0);

delay(1000);

/*

*/

}[/mw_shl_code]

總結(jié)

以上是生活随笔為你收集整理的arduino麦轮转弯程序_麦克纳姆轮智能小车接线方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。