標(biāo)題: 12864顯示搖桿控制步進(jìn)電機(jī)正反轉(zhuǎn)加PWM調(diào)速 [打印本頁(yè)]

作者: 冰冰潔潔    時(shí)間: 2018-10-22 00:22
標(biāo)題: 12864顯示搖桿控制步進(jìn)電機(jī)正反轉(zhuǎn)加PWM調(diào)速
這個(gè)非常棒的手動(dòng)PWM調(diào)速云臺(tái),預(yù)留了Y軸控制,可實(shí)現(xiàn)2D平面實(shí)時(shí)移動(dòng)。
#include <Arduino.h>

      int latchPin = 8;//RS
      int dataPin = 9;//RW
      int clockPin =10;//EN
      unsigned char tabe[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};//查表法//0-9數(shù)字
      int xpotPin = 0;  //設(shè)置模擬口0為X的信號(hào)輸入端口A0
      int ypotPin = 1;  //設(shè)置模擬口1為Y的信號(hào)輸入端口A1
      int xval=0;    //設(shè)置變量
      int yval=0;
      int dirpin=11;//定義數(shù)字接口信號(hào)線  CW+
      int stepperpin=12;//定義數(shù)字接口信號(hào)線 CLK+  
      int enpin=13;//定義數(shù)字接口信號(hào)線 FN+
      int r;//速度
      
void setup()
{
       
        pinMode(latchPin, OUTPUT); //設(shè)置引腳為輸出
        pinMode(clockPin, OUTPUT);
        pinMode(dataPin, OUTPUT);
        
        pinMode(xpotPin,INPUT);//
        pinMode(ypotPin,INPUT);//
        pinMode(dirpin,OUTPUT);  //設(shè)定舵機(jī)接口為輸出接口
       pinMode(stepperpin,OUTPUT);  //設(shè)定舵機(jī)接口為輸出接口
Lcdint( );//lcd  
}
////////////////////////////寫(xiě)SPI時(shí)序,具體參考shiftout 命令使用/////////////////////////////
      void WriteByte(int dat)
      {
        
          digitalWrite(latchPin, HIGH);         
          shiftOut(dataPin, clockPin, MSBFIRST, dat);
          digitalWrite(latchPin, LOW);
      }
      ///////////////////寫(xiě)命令/////////////////////////////////////
      void LcdCommandWrite(int value) {  
        int H_data,L_data;
         H_data = value;
         H_data &= 0xf0;           //屏蔽低4位的數(shù)據(jù)
         L_data = value;             //xxxx0000格式
         L_data &= 0x0f;           //屏蔽高4位的數(shù)據(jù)
         L_data <<= 4;             //xxxx0000格式
         WriteByte(0xf8);          //RS=0,寫(xiě)入的是指令;
         WriteByte(H_data);
         WriteByte(L_data);
      }   
      //////////////////////寫(xiě)數(shù)據(jù)/////////////////////////////////////
      void LcdDataWrite(int value) {  
        int H_data,L_data;
         H_data = value;
         H_data &= 0xf0;           //屏蔽低4位的數(shù)據(jù)
         L_data = value;             //xxxx0000格式
         L_data &= 0x0f;           //屏蔽高4位的數(shù)據(jù)
         L_data <<= 4;             //xxxx0000格式
         WriteByte(0xfa);          //RS=1,寫(xiě)入的是數(shù)據(jù)
         WriteByte(H_data);
         WriteByte(L_data);
      }   
    ////////////////////// /////////////////////////////////////
      void Lcdint(void)
      {  
        LcdCommandWrite(0x30);  //  設(shè)定為基本指令         
        delay(5);     
        LcdCommandWrite(0x03);  // //允許輸入卷動(dòng)位址
        delay(5);
        LcdCommandWrite(0x0c);  // //脫離隨眠狀態(tài),顯示打開(kāi),關(guān)光標(biāo),反白關(guān).
        delay(5);
         LcdCommandWrite(0x01);  // 清屏指令.         
        delay(5);     
        LcdCommandWrite(0x06);  // AC自動(dòng)加一,光標(biāo)右移,整體顯示不移動(dòng)  
        delay(5);   
      }
   void LCD_zfc(char *p)//定義一個(gè)帶指針的函數(shù)?(字符串)
{
        while(*p!=0)//不能用";"
        LcdDataWrite(*p++);
}   
/************************顯示1 *********************************/
                                                          
void display1(void)
{
    int dt1,dt2,dt3,dt4,dt5,dt6,dt7,dt8;
   
          long temp ;                        //存放溫度值的10倍=12345678;  
          xval = analogRead(xpotPin);   //xval變量為從0信號(hào)口讀取到的數(shù)值
        temp=xval;;//MAX6675溫度
        //temp=12345678;   
        dt1 = temp%10;//1位
        dt2 = temp%100/10;//2位
        dt3 = temp%1000/100;//3位
        dt4 = temp%10000/1000;//4位

        dt5 = temp%100000/10000;//5位
        dt6 = temp%1000000/100000;//6位
        dt7 = temp%10000000/1000000;//7位
        dt8 = temp/10000000;//8位             最高位  
       
    LcdCommandWrite(0x88);//LCD12864_W ((0或1),****)  0寫(xiě)指令  1寫(xiě)數(shù)據(jù)
   // 0xCE,0xC2,0xB6,0xC8
   
         LCD_zfc("X ");
         LcdDataWrite(0xd6 );
         LcdDataWrite(0xe1 );
         LcdDataWrite(0x3a);// .

20181022_000532.jpg (63.66 KB, 下載次數(shù): 129)

20181022_000532.jpg

作者: 冰冰潔潔    時(shí)間: 2018-10-22 07:26
搖桿步進(jìn)電機(jī)源代碼打包

128顯搖桿控步進(jìn)電機(jī)正反轉(zhuǎn)調(diào)OK1.zip

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


作者: wuxishun    時(shí)間: 2019-2-7 09:24
有電路圖嗎
作者: 都市郎    時(shí)間: 2019-2-14 10:49
好資料,謝謝共享
作者: hutudemomo    時(shí)間: 2019-12-4 20:59
膜拜大佬
作者: cdl511    時(shí)間: 2019-12-5 08:38
好資料,謝謝共享.
作者: dongfang08    時(shí)間: 2020-4-9 12:42
好資料,謝謝共享
作者: tomwilliams214    時(shí)間: 2020-5-17 15:50
踏破鐵鞋無(wú)覓處




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1