Files
motorcontrol_esp32/demo1/demo1.ino
T
2023-05-30 08:35:35 +08:00

129 lines
2.3 KiB
Arduino

#include "Arduino.h"
#include "src/oled12864.h"
#define U_N 14
#define U_P 27
#define V_N 26
#define V_P 25
#define W_N 33
#define W_P 32
#define EN_C 19
void motomove(int step)
{
switch(step)
{
case 0:
digitalWrite(U_N, 1);
digitalWrite(U_P, 0);
digitalWrite(V_N, 1);
digitalWrite(V_P, 0);
digitalWrite(W_N, 1);
digitalWrite(W_P, 0);
break;
case 1:
digitalWrite(U_N, 0);
digitalWrite(U_P, 0);
digitalWrite(V_N, 1);
digitalWrite(V_P, 1);
digitalWrite(W_N, 1);
digitalWrite(W_P, 0);
break;
case 2:
digitalWrite(U_N, 0);
digitalWrite(U_P, 0);
digitalWrite(V_N, 1);
digitalWrite(V_P, 0);
digitalWrite(W_N, 1);
digitalWrite(W_P, 1);
break;
case 3:
digitalWrite(U_N, 1);
digitalWrite(U_P, 0);
digitalWrite(V_N, 0);
digitalWrite(V_P, 0);
digitalWrite(W_N, 1);
digitalWrite(W_P, 1);
break;
case 4:
digitalWrite(U_N, 1);
digitalWrite(U_P, 1);
digitalWrite(V_N, 0);
digitalWrite(V_P, 0);
digitalWrite(W_N, 1);
digitalWrite(W_P, 0);
break;
case 5:
digitalWrite(U_N, 1);
digitalWrite(U_P, 1);
digitalWrite(V_N, 1);
digitalWrite(V_P, 0);
digitalWrite(W_N, 0);
digitalWrite(W_P, 0);
break;
case 6:
digitalWrite(U_N, 1);
digitalWrite(U_P, 0);
digitalWrite(V_N, 1);
digitalWrite(V_P, 1);
digitalWrite(W_N, 0);
digitalWrite(W_P, 0);
break;
}
}
void setup() {
// put your setup code here, to run once:
//moto pin mode
pinMode(U_N, OUTPUT);
pinMode(U_P, OUTPUT);
pinMode(V_N, OUTPUT);
pinMode(V_P, OUTPUT);
pinMode(W_N, OUTPUT);
pinMode(W_P, OUTPUT);
//encode pin mode
pinMode(EN_C,INPUT_PULLUP);
digitalWrite(U_N, 1);
digitalWrite(U_P, 0);
digitalWrite(V_N, 1);
digitalWrite(V_P, 0);
digitalWrite(W_N, 1);
digitalWrite(W_P, 0);
Serial.begin(115200);
Wire.begin();
OLED_Init();
OLED_Str(0,0,16,"test",0,1);
}
int ii=0;
char srt[64];
void loop() {
// put your main code here, to run repeatedly:
if(1)
{
OLED_Str(0,0,16,"push",0,1);
ii+=1;
if(ii==7){ii=1;}
}else
{
OLED_Str(0,0,16,"test",0,1);
ii=0;
}
//sprintf(srt,"index:%d",ii);
//OLED_Str(0,16,16,srt,0,1);
motomove(ii);
delay(7);
//OLED_Cache_to_hardware();
//OLED_Init();
}