arduino 2 控制電機運行

// enA頻率控制小車快慢
// in1高 in2低 電機正轉
// in1低 in2高 電機反轉
// in1低 in2低 電機停轉
// 電機1
int enA = 5;
int in1 = 7;
int in2 = 8;
// 電機2
int enB = 6;
int in3 = 9;
int in4 = 10;

//初始化
void setup()
{
  // 設置所有的電機引腳爲輸出模式
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}
// demo1
void demoOne()
{
  // demo1功能:兩電機以各自不同方向,相同速度運行
  // 打開電機1,正轉
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  // 設置電機轉速200,轉速範圍(0~255)
  analogWrite(enA, 200);
  // 打開電機2,反轉
  digitalWrite(in4, HIGH);
  digitalWrite(in3, LOW);
  // 設置電機轉速200,轉速範圍(0~255)
  analogWrite(enB, 200);
  delay(2000);
  // 改變電機轉速方向
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in4, LOW);
  digitalWrite(in3, HIGH); 
  //arduino 時間函數
  //millis() 獲取機器運行的時間長度, 單位毫秒. 系統最長的記錄時間接近50天, 如果超出時間將從0開始.
  //		警告:時間爲 unsigned long類型, 如果用 int 保存時間將得到錯誤結果
  //delay(ms) 參數爲unsigned long, 因此在延時參數超過32767(int型最大值)時, 需要用"UL"後綴表示爲無符號長整型
  //		delay((unsigned long)tdelay * 100UL);
  //delayMicroseconds(us) 延時, 單位爲微妙(1毫秒有1000微妙). 如果延時的時間有幾千微妙, 那麼建議使用 delay 函數. 
  //		目前參數最大支持16383微妙
  delay(2000);
  // 使電機停止
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}
// demo2
void demoTwo()
{
  // demo2功能:兩電機以各自不同速度運行
  // 最大速度取決於電機本身和其兩端電壓
  // PWM值通過 analogWrite()寫入 ,爲最大速度的分數
  // 打開電機1,反轉
  // 打開電機2,反轉
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH); 
  // 從零到最大速度進行加速
  for (int i = 0; i < 256; i++)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  } 
  // 從最大速度到零進行減速
  for (int i = 255; i >= 0; --i)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  } 
  // 使電機停止
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);  
}
void loop()
{
  demoOne(); //先運行demo1
  delay(1000);
  demoTwo(); //再運行demo2
  delay(1000);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章