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(Step, OUTPUT);
pinMode(Dir, OUTPUT);
pinMode(Enable, OUTPUT);
pinMode(Nut_toi, INPUT_PULLUP);
pinMode(Nut_lui, INPUT_PULLUP);
pinMode(Nut_dung, INPUT_PULLUP);
pinMode(Bien_tro, INPUT);
digitalWrite(Enable, HIGH);
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, 0, 1023, 400, 7000);
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(Dir, HIGH);
digitalWrite(Enable,LOW);
for (int i = 0; i <200; i++) // thay đổi 20 để chỉnh tốc độ upgradet
{
digitalWrite(Step, HIGH);
delayMicroseconds (vantoc);
digitalWrite(Step, LOW);
delayMicroseconds(vantoc);
}
}
// Trường hợp T = 1
else if (t == 1)
{
digitalWrite(Enable, LOW);
digitalWrite(Dir, LOW);
for (int i = 0; i <200; i++) // thay đổi 20 để chỉnh tốc độ upgradet
{
digitalWrite(Step, HIGH);
delayMicroseconds (vantoc);
digitalWrite(Step, LOW);
delayMicroseconds(vantoc);
}
}
// Trường hợp t = 3
else if (t==3)
{
digitalWrite(Enable, HIGH);
}
}
sdfsdf
0 nhận xét:
Đăng nhận xét