2023-01-06 15:08:46loisoty2

Arduino EPS32 DEVKIT V1 用PWM節制



影片



文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計

Arduino EPS32 DEVKIT V1 腳位


使用L9110 Fan Motor,可以用PWM節制轉速,不會像DC馬達一路動吃掉電流,致使當機。
2.png

數位輸出時成效
INA
INB
了局
HIGH
LOW
正轉
LOW
HIGH
反轉
LOW
LOW
截至
HIGH
HIGH
中斷
類比輸出要注意的地方則是,由於電壓太低通常沒法啟動,所以先把output加到255,再從80逐漸上升。
INA
INB
結果
80~255
LOW
慢慢增添正轉
LOW
80~255
慢慢增加反轉



將INB、INA別離接在GPIO26及GPIO27上,INB與INA代表正反轉

 

1.png

 

  1. int INA = 26;
  2. int INB = 27;
  3.  
  4. void setup()
  5. {
  6.   Serial.begin(9600);
  7.   pinMode(INA,OUTPUT);
  8.   pinMode(INB,OUTPUT);
  9.   //digital output test
  10.   Serial.println("INA=LOW,INB=HIGH");
  11.   digitalWrite(INA,LOW);
  12.   digitalWrite(INB,HIGH);
  13.   delay(3000);
  14.   Serial.println("INA=HIGH,INB=LOW");
  15.   digitalWrite(INA,HIGH);
  16.   digitalWrite(INB,LOW);
  17.   delay(3000);
  18.   Serial.println("INA=LOW,INB=LOW");
  19.   digitalWrite(INA,LOW);
  20.   digitalWrite(INB,LOW);
  21.   delay(3000);
  22.   Serial.println("INA=HIGH,INB=HIGH");
  23.   digitalWrite(INA,HIGH);
  24.   digitalWrite(INB,HIGH);
  25.   delay(3000);
  26.   //analog output(PWM) test  
  27.   ledcSetup(0, 5000, 8);
  28.   ledcSetup(1, 5000, 8);
  29.   ledcAttachPin(INA, 0);
  30.   ledcAttachPin(INB, 1);  
  31.   //prepare forward
  32.   Serial.println("INA=i++,INB=LOW");
  33.   ledcWrite(1, 0);
  34.   ledcWrite(0, 255);//避免電流太低沒法啟動
  35.   delay(300);
  36.   for (int i=80;i<=255;i++)
  37.   {
  38.     ledcWrite(0, i);
  39.     ledcWrite(1, 0);
  40.     Serial.println(i);
  41.     delay(100);
  42.   }
  43.   ledcWrite(0, 0);
  44.   ledcWrite(1, 0);
  45.   delay(3000);
  46.   //prepare reverse
  47.   Serial.println("INA=LOW,INB=i++");
  48.   ledcWrite(0, 0);
  49.   ledcWrite(1, 255);//避免電流太低無法啟動
  50.   delay(300);
  51.   for (int i=80;i<=255;i++)
  52.   {
  53.     ledcWrite(1, i);
  54.     ledcWrite(0, 0);
  55.     Serial.println(i);
  56.     delay(100);
  57.   }
  58.   ledcWrite(0, 0);
  59.   ledcWrite(1, 0);
  60.     delay(3000);
  61. }
  62.  
  63. void loop()
  64. {
  65.  
  66.  
  67. }
複製代碼


本文出自: