Tự động hóa

Arduino thực hành: ĐK chiều động cơ bước bằng button

 3 nút nhấn: Quay Xuôi, quay ngược, và stop

#include <Arduino.h>
#define Step 2
#define Dir 5
#define Enable 6
#define Nut_toi 9
#define Nut_lui 12
#define Nut_dung 10
#define Bien_tro A1

int t=3;
void setup() {
  pinMode(StepOUTPUT);
  pinMode(DirOUTPUT);
  pinMode(EnableOUTPUT);
  pinMode(Nut_toiINPUT_PULLUP);
  pinMode(Nut_luiINPUT_PULLUP);
  pinMode(Nut_dungINPUT_PULLUP);
  pinMode(Bien_troINPUT);
  digitalWrite(EnableHIGH);
  Serial.begin(9600);

}

void loop() {

  byte a = digitalRead(Nut_toi);
  byte b = digitalRead(Nut_lui);
  byte c = digitalRead(Nut_dung);
  int gia_tri_bien_tro = analogRead(Bien_tro);
  int vantoc = map(gia_tri_bien_tro, 010234007000);
  Serial.print(vantoc);

  if(a==0) t=1;
  if(b==0) t=2;
  if(c==0) t=3;
  // Trường hợp T = 2
  if(t==2) {
    digitalWrite(DirHIGH);
    digitalWrite(Enable,LOW);
    for (int i = 0; i <200; i++) // thay đổi 20 để chỉnh tốc độ upgradet
    {
      digitalWrite(StepHIGH);
      delayMicroseconds (vantoc);
      digitalWrite(StepLOW);
      delayMicroseconds(vantoc);
    }
  }

  // Trường hợp T = 1
  else if (t == 1)
  {
    digitalWrite(EnableLOW);
    digitalWrite(DirLOW);
    for (int i = 0; i <200; i++) // thay đổi 20 để chỉnh tốc độ upgradet
    {
      digitalWrite(StepHIGH);
      delayMicroseconds (vantoc);
      digitalWrite(StepLOW);
      delayMicroseconds(vantoc);
    }
  }

  // Trường hợp t = 3
  else if (t==3)
  {
    digitalWrite(EnableHIGH);
  }

}


sdfsdf

About Mr. Facebook

0 nhận xét:

Đăng nhận xét