Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 7993|回復: 4
打印 上一主題 下一主題

l298n馬達驅動模組

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-12-30 12:59:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟最近想DIY自走車 但我用a Rd UI no跟l298n馬達驅動模組 測試 只有一科馬達能動 in1 in2的怎弄都沒反應 不知道問題出在那是否壞掉了 有沒有大大知道呢
2#
發表於 2014-12-30 13:44:10 | 只看該作者
回復 1# ff8988100
http://swf.com.tw/?p=564

參考這個網站↑
3#
 樓主| 發表於 2014-12-30 23:18:37 | 只看該作者
回復 2# ates1687
這網頁好像掛了
4#
發表於 2014-12-30 23:44:39 | 只看該作者
回復 3# ff8988100

= =是你網路有問題~


   

------------------------------------------------分割線

// 接收序列埠值的變數
char cmd;
// 設定啟動或停止馬達的參數
// 一開始先設定成「停止」
boolean run = false;
// 左馬達控制設定
const byte LEFT1 = 10;
const byte LEFT2 = 9;
const byte LEFT_PWM = 5;
// 右馬達控制設定
const byte RIGHT1 = 8;
const byte RIGHT2 = 7;
const byte RIGHT_PWM = 6;
// 設定PWM輸出值(註:FA-130馬達供電不要超過3v)
byte motorSpeed = 100;
void forward() { // 馬達轉向:前進
digitalWrite(LEFT1, HIGH);
digitalWrite(LEFT2, LOW);
digitalWrite(RIGHT1, HIGH);
digitalWrite(RIGHT2, LOW);
}
void backward() { // 馬達轉向:後退
digitalWrite(LEFT1, LOW);
digitalWrite(LEFT2, HIGH);
digitalWrite(RIGHT1, LOW);
digitalWrite(RIGHT2, HIGH);
}
void turnLeft() { // 馬達轉向:左轉
digitalWrite(LEFT1, LOW);
digitalWrite(LEFT2, HIGH);
digitalWrite(RIGHT1, HIGH);
digitalWrite(RIGHT2, LOW);
}
void turnRight() { // 馬達轉向:右轉
digitalWrite(LEFT1, HIGH);
digitalWrite(LEFT2, LOW);
digitalWrite(RIGHT1, LOW);
digitalWrite(RIGHT2, HIGH);
}
void setup() {
  Serial.begin(9600);
  pinMode(LEFT1, OUTPUT);
  pinMode(LEFT2, OUTPUT);
  pinMode(LEFT_PWM, OUTPUT);
  pinMode(RIGHT1, OUTPUT);
  pinMode(RIGHT2, OUTPUT);
  pinMode(RIGHT_PWM, OUTPUT);
}
void loop() {
  if (Serial.available() > 0) {
    cmd = Serial.read();
   
    switch (cmd) {
      case 'w':  // 接收到'w',前進。
        forward();
        run = true; // 啟動馬達
        break;
      case 'x':  // 接收到'x',後退。
        backward();
        run = true; // 啟動馬達
        break;
      case 'a':  // 接收到'a',左轉。
        turnLeft();
        run = true; // 啟動馬達
        break;
      case 'd':  // 接收到'd',右轉。
        turnRight();
        run = true; // 啟動馬達
        break;
      case 's':
        run = false; // 停止馬達
        break;
    }
  }
  
  if (run) {
    // 如果要啟動馬達…
    // 向馬達輸出指定的類比電壓值
    analogWrite(LEFT_PWM, motorSpeed);
    analogWrite(RIGHT_PWM, motorSpeed);
  } else {
    // 否則…
    // 將馬達的電壓值設定成0
    analogWrite(LEFT_PWM, 0);
    analogWrite(RIGHT_PWM, 0);
  }
}
5#
 樓主| 發表於 2014-12-30 23:57:44 | 只看該作者
可以了  是模組上的腳位沒弄好
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-11-23 15:44 , Processed in 0.257720 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表