找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4303|回復(fù): 3
收起左側(cè)

ardiuno的電機(jī)正反轉(zhuǎn)

[復(fù)制鏈接]
ID:236761 發(fā)表于 2017-12-23 14:04 | 顯示全部樓層 |閱讀模式
  1. //定義引腳
  2. int Pin0 = 8;
  3. int Pin1 = 9;
  4. int Pin2 = 10;
  5. int Pin3 = 11;

  6. int _step = 0;

  7. boolean dir = false;//正反轉(zhuǎn)

  8. int stepperSpeed = 1;//電機(jī)轉(zhuǎn)速,1ms一步
  9. //脈沖總數(shù),或者說步的總數(shù)
  10. int stepsum=0;
  11. void setup()

  12. {

  13.   pinMode(Pin0, OUTPUT);
  14.   pinMode(Pin1, OUTPUT);
  15.   pinMode(Pin2, OUTPUT);
  16.   pinMode(Pin3, OUTPUT); }



  17. void loop()
  18. {
  19. //進(jìn)步機(jī)的驅(qū)動(dòng)方式,有八種
  20. switch(_step){
  21.     case 0:
  22.       digitalWrite(Pin0, LOW);
  23.       digitalWrite(Pin1, LOW);
  24.       digitalWrite(Pin2, LOW);
  25.       digitalWrite(Pin3, HIGH);
  26.     break;
  27.     case 1:
  28.       digitalWrite(Pin0, LOW);
  29.       digitalWrite(Pin1, LOW);
  30.       digitalWrite(Pin2, HIGH);
  31.       digitalWrite(Pin3, HIGH);
  32.     break;

  33.     case 2:
  34.       digitalWrite(Pin0, LOW);
  35.       digitalWrite(Pin1, LOW);
  36.       digitalWrite(Pin2, HIGH);
  37.       digitalWrite(Pin3, LOW);
  38.     break;

  39.     case 3:
  40.       digitalWrite(Pin0, LOW);
  41.       digitalWrite(Pin1, HIGH);
  42.       digitalWrite(Pin2, HIGH);
  43.       digitalWrite(Pin3, LOW);
  44.     break;

  45.     case 4:
  46.       digitalWrite(Pin0, LOW);
  47.       digitalWrite(Pin1, HIGH);
  48.       digitalWrite(Pin2, LOW);
  49.       digitalWrite(Pin3, LOW);
  50.     break;

  51.     case 5:
  52.       digitalWrite(Pin0, HIGH);
  53.       digitalWrite(Pin1, HIGH);
  54.       digitalWrite(Pin2, LOW);
  55.       digitalWrite(Pin3, LOW);
  56.       break;

  57.       case 6:
  58.       digitalWrite(Pin0, HIGH);
  59.       digitalWrite(Pin1, LOW);
  60.       digitalWrite(Pin2, LOW);
  61.       digitalWrite(Pin3, LOW);
  62.     break;

  63.     case 7:
  64.       digitalWrite(Pin0, HIGH);
  65.       digitalWrite(Pin1, LOW);
  66.       digitalWrite(Pin2, LOW);
  67.       digitalWrite(Pin3, HIGH);
  68.     break;

  69.     default:
  70.       digitalWrite(Pin0, LOW);
  71.       digitalWrite(Pin1, LOW);
  72.       digitalWrite(Pin2, LOW);
  73.       digitalWrite(Pin3, LOW);
  74.     break;
  75.   }


  76. //判斷是正轉(zhuǎn)還是反轉(zhuǎn)
  77.   if(dir)
  78.   {
  79.     _step++;

  80.   }else{

  81.     _step--;
  82.   }

  83. //每八步一個(gè)驅(qū)動(dòng)方式的循環(huán)
  84.   if(_step>7){
  85.    
  86.     _step=0;

  87.   }

  88.   if(_step<0){
  89.    
  90.     _step=7;

  91.   }
  92.   
  93.   delay(stepperSpeed);

  94. //計(jì)算脈沖數(shù),每4096個(gè)脈沖停1秒
  95.   stepsum++;
  96.   if(stepsum==4096)
  97.   {
  98.     Serial.println(stepsum);
  99.     stepsum=0;
  100.     delay(1000);
  101.   }

  102. }


復(fù)制代碼

用ardiuno實(shí)現(xiàn)的電機(jī)正反轉(zhuǎn)

正反轉(zhuǎn).doc

18 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5

如題

評(píng)分

參與人數(shù) 1黑幣 +4 收起 理由
QIUYUQINGH + 4 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:270560 發(fā)表于 2018-1-3 09:03 | 顯示全部樓層
很有用,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:429997 發(fā)表于 2018-11-20 16:29 | 顯示全部樓層
很有用,學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

ID:430734 發(fā)表于 2018-11-21 18:47 | 顯示全部樓層
很有用,學(xué)習(xí)了!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表