2015年11月8日 星期日

Arduino 5:馬達控制--使用IRF520控制轉速

延續上一篇的利用IRF520控制1W的LED,並且加上[可變電阻]直接控制轉速




  1.                                        // named constants for the switch and motor pins
  2. const int motorPin =  9; // the number of the motor pin
  3. const int potentialPin= 0;  // potential meter
  4. int   value = 0;

  5. void setup() {
  6.                         // initialize the motor pin as an output:
  7.   pinMode(motorPin, OUTPUT);      
  8.                         // initialize the switch pin as an input:
  9.      // pinMode(potentialPin, INPUT);  No need declare Analog
  10. }

  11. void loop(){
  12.    
  13.   value = analogRead(potentialPin);
  14.   int intensity = map(value, 0, 1023, 0, 255);
  15.   
  16.   analogWrite( motorPin , intensity);  
  17. }
多加個[開關],只有在按下[開關]時,馬達才會運轉
  1.                                        // named constants for the switch and motor pins
  2. const int switchPin = 2; // the number of the switch pin
  3. const int motorPin =  9; // the number of the motor pin
  4. const int potentialPin= 0;  // potential meter

  5. int switchState = 0;  // variable for reading the switch's status

  6. void setup() {
  7.                         // initialize the motor pin as an output:
  8.   pinMode(motorPin, OUTPUT);      
  9.                         // initialize the switch pin as an input:
  10.   pinMode(switchPin, INPUT);
  11.                        // pinMode(potentialPin, INPUT);  No need declare Analog
  12. }

  13. void loop(){
  14.                         // read the state of the switch value:
  15.   switchState = digitalRead(switchPin);
  16.   
  17.   int value = analogRead(potentialPin);
  18.   int intensity= map(value, 0, 1023, 0,255);

  19.             // check if the switch is pressed.
  20.   if (switchState == HIGH) {     
  21.             // turn motor on:    
  22.             // digitalWrite(motorPin, HIGH);
  23.     analogWrite(motorPin, intensity);
  24.   } 
  25.   else {
  26.              // turn motor off:
  27.     digitalWrite(motorPin, LOW); 
  28.   }
  29. }




沒有留言:

張貼留言