Пример: Arduino управляет шаговым двигателем при помощи ULN2003
Подключения:
arduino, вывод 4 | двигатель, вывод 1 |
arduino, вывод 5 | двигатель, вывод 2 |
arduino, вывод 6 | двигатель, вывод 3 |
arduino, вывод 7 | двигатель, вывод 4 |
arduino, вывод 8 | двигатель, вывод 5 |
arduino, вывод 11 | через кнопку к +5В и через резистор 10 кОм на землю |
Скетч:
char motorPin[]={ 4,5,6,7}; int i; int key = 0; int button = 11; void motor1() // { digitalWrite(motorPin[0],LOW); digitalWrite(motorPin [1],HIGH); digitalWrite(motorPin [2],HIGH); digitalWrite(motorPin [3],HIGH); } void motor2() { digitalWrite(motorPin [0],HIGH); digitalWrite(motorPin [1],LOW); digitalWrite(motorPin [2],HIGH); digitalWrite(motorPin [3],HIGH); } void motor3() { digitalWrite(motorPin [0],HIGH); digitalWrite(motorPin [1],HIGH); digitalWrite(motorPin [2],LOW); digitalWrite(motorPin [3],HIGH); } void motor4() { digitalWrite(motorPin [0],HIGH); digitalWrite(motorPin [1],HIGH); digitalWrite(motorPin [2],HIGH); digitalWrite(motorPin [3],LOW); } void motor5() { digitalWrite(motorPin [0],HIGH); digitalWrite(motorPin [1],HIGH); digitalWrite(motorPin [2],HIGH); digitalWrite(motorPin[3],HIGH); } void setup() { Serial.begin(9600); for(i=0;i<4;i++) pinMode(motorPin [i],OUTPUT); pinMode(button,INPUT); } void loop() { key = digitalRead(button); if(key==LOW) { motor1(); delay(5); motor2 (); delay(5); motor3(); delay(5); motor4(); delay(5); } if(key==HIGH) { motor4(); delay(10); motor3(); delay(10); motor2(); delay(10); motor1(); delay(10); } }
Купить плату управления шаговым двигателем можно в нашем магазине: ULN2003