Ниже приведена схема подключения ULN2003 к Arduino UNO.

Простой пример кода:
#include <Arduino.h>
#define IN1 5 // Назначение выводов
#define IN2 4
#define IN3 3
#define IN4 2
void setup()
{
pinMode(IN1,OUTPUT); // Настройка вывода как выход
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
}
void loop()
{
Phase_A(); // Подача питания на фазу A
delay(2); // Задержка шага в мс. Уменьшайте осторожно — слишком короткая задержка может привести к пропуску шагов.
Phase_B(); // Подача питания на фазу B
delay(2);
Phase_C(); // Подача питания на фазу C
delay(2);
Phase_D(); // Подача питания на фазу D
delay(2);
}
void Phase_A()
{
digitalWrite(IN1,HIGH); // Вывод IN1 — высокий уровень
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void Phase_B()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH); // Вывод IN2 — высокий уровень
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void Phase_C()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH); // Вывод IN3 — высокий уровень
digitalWrite(IN4,LOW);
}
void Phase_D()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH); // Вывод IN4 — высокий уровень
}