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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3408|回復: 1
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
#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);

                                 }








}

51hei圖片_20210610150511.jpg (141.46 KB, 下載次數: 197)

控制板

控制板

51hei圖片_20210610150459.jpg (88.49 KB, 下載次數: 222)

控制板+步進電機

控制板+步進電機

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:138707 發表于 2021-7-3 21:05 | 只看該作者
你好樓主,有接線原理圖可否發附件一份,謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一二三 | 国产成人a亚洲精品 | 日韩精品一区二区三区视频播放 | 九色91视频| 午夜影视免费片在线观看 | 天天干天天色 | 99久久国产综合精品麻豆 | 美人の美乳で授乳プレイ | 国产精品三级久久久久久电影 | 免费观看一级黄色录像 | www.天堂av.com| 日韩中文字幕视频在线观看 | 欧美精品一区二区在线观看 | 青青久在线视频 | 第一区在线观看免费国语入口 | 天堂视频中文在线 | 精品福利av导航 | 国产精品爱久久久久久久 | 亚洲女优在线播放 | 欧美一级二级三级 | 全免费a级毛片免费看视频免费下 | 成人做爰69片免费观看 | 国产高清久久久 | 91一区二区三区 | 黄色一级视频 | 亚洲福利一区二区 | 久久y| 欧美激情欧美激情在线五月 | 国产激情 | 国产精品久久 | 一区二区三区精品视频 | 99热热热| 日韩视频三区 | 中文字幕在线视频精品 | 久久精品国产免费一区二区三区 | 亚洲精品乱码8久久久久久日本 | japan25hdxxxx日本| 青青草一区 | 亚洲 精品 综合 精品 自拍 | 天天干天天插 | 欧美一区二区三区在线观看 |