久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3572|回復: 1
收起左側

arduino nano板控制步進電機正反轉,用于測試編碼器壽命

[復制鏈接]
ID:465009 發表于 2021-6-10 15:06 | 顯示全部樓層 |閱讀模式
#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);  // I2C / TWI
int t1 = 0 ;
int t2 = 0 ;
int t3 = 0 ;
int m1 = 100 ;
int n1 = 100 ;
void draw(void) {

// graphic commands to redraw the complete screen should be placed here

  u8g.setFont(u8g_font_unifont);

  u8g.setPrintPos(0, 15);
  u8g.print(t1);
  u8g.setPrintPos(65, 15);
  u8g.print(t2);
  u8g.setPrintPos(65, 35);
  u8g.print(t3);
  u8g.setPrintPos(0, 55);
  u8g.print(m1);
  u8g.setPrintPos(65, 55);
  u8g.print(n1);
}

// A4988連接Arduino引腳號
const int dirPin   = 2;   // Direction
const int stepPin  = 3;   // Step
const int sleepPin = 4;   // Sleep
const int resetPin = 5;   // Reset
const int ms2Pin   = 6;   // Ms3
const int ms1Pin   = 7;   // Ms2
const int ms0Pin   = 8;   // Ms1
const int enPin    = 9;   // Enable

// 電機每圈步數
const int STEPS_PER_REV = 982;

void setup() {

   // 設置引腳模式
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
  pinMode(sleepPin,OUTPUT);
  pinMode(resetPin,OUTPUT);  
  pinMode(ms2Pin,OUTPUT);  
  pinMode(ms1Pin,OUTPUT);  
  pinMode(ms0Pin,OUTPUT);
  pinMode(enPin,OUTPUT);   
  pinMode(13,OUTPUT);  
  // 初始化引腳狀態
  digitalWrite(sleepPin, HIGH);  
  digitalWrite(resetPin, HIGH);
  digitalWrite(enPin, LOW);

  // 初始化電機步進模式為1/4步進
  digitalWrite(ms0Pin, LOW);
  digitalWrite(ms1Pin, LOW);
  digitalWrite(ms2Pin, LOW);
}
void loop() {

            if (t2 < m1){
                           digitalWrite(sleepPin, HIGH); //開啟點擊驅動芯片

                            for(int i = 0; i < n1; i++)
                                   {   
                                          u8g.firstPage();
                                          do {
                                                  draw();
                                              } while( u8g.nextPage() );


                                         delay(10);
                                         digitalWrite(dirPin,LOW);     //電機正轉,1/4步,執行一圈+延時共2.5秒
                                          for(int x = 0; x < STEPS_PER_REV; x++)
                                                          {
                                                              digitalWrite(stepPin,HIGH);
                                                              delayMicroseconds(1500);
                                                              digitalWrite(stepPin,LOW);
                                                              delayMicroseconds(1500);

                                                           }                                
                                          delay(500);  

                                          digitalWrite(dirPin,HIGH);    //電機反轉,1/4步,執行一圈+延時共2.5秒
                                          for(int x = 0; x < STEPS_PER_REV; x++)
                                                           {
                                                               digitalWrite(stepPin,HIGH);
                                                               delayMicroseconds(1500);
                                                               digitalWrite(stepPin,LOW);
                                                               delayMicroseconds(1500);

                                                 }

                                         delay(500);
                                         t1 = t1+1;
                                         t3 = t2 * n1 + t1 ;

                                     }

                            digitalWrite(sleepPin, LOW);
                            t1 = 0 ;//圈數歸零
                            t2 = t2+1;
                            t3 = t2 * n1 + t1 ;
                            u8g.firstPage();
                                          do {
                                                  draw();
                                              } while( u8g.nextPage() );
                            delay(10);  

                            for(int j = 0; j < 20; j++)
                                        {
                                            digitalWrite(13, HIGH);//指示燈閃爍
                                            delay(3000);
                                            digitalWrite(13, LOW);
                                            delay(3000);  
                                        }


                        } else {

                                 digitalWrite(13, HIGH);//指示燈閃爍
                                 delay(500);
                                 digitalWrite(13, LOW);
                                 delay(500);

                                 }








}

控制板

控制板

控制板+步進電機

控制板+步進電機

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:138707 發表于 2021-7-3 21:05 | 顯示全部樓層
你好樓主,有接線原理圖可否發附件一份,謝謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情亚洲 | 夜夜久久 | 欧美日韩亚洲一区 | 国精产品一区二区三区 | 亚洲人成网站777色婷婷 | 国产精品日日做人人爱 | 国产资源在线播放 | 久久精品亚洲成在人线av网址 | 精品久久久久一区二区国产 | 天堂av在线影院 | 99热在这里只有精品 | 欧美 日韩精品 | 欧美日韩精品区 | av网站免费观看 | 偷派自拍 | 一二区电影 | 一级大片网站 | 欧美日韩中文字幕在线 | 91在线一区 | 亚洲精品电影网在线观看 | 成人精品在线视频 | 久久久久久久久毛片 | 暖暖日本在线视频 | 波多野结衣精品在线 | 成人影视网 | 91精品久久久久久久久久入口 | 久久爆操 | a在线免费观看视频 | 国产精品久久久久久久久久久新郎 | 欧美一级视频在线观看 | 国产精品欧美一区二区 | 国产一区二区三区不卡av | 成人久草| .国产精品成人自产拍在线观看6 | 精品国产久 | 天天天插 | 国产精品高潮呻吟久久 | 亚洲精品18 | 在线a视频 | 免费大黄视频 | 国产精品二区三区在线观看 |