아래는 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); // 스텝 지연 시간(ms). 주의하여 단축—너무 짧으면 탈스텝이 발생할 수 있습니다.
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 핀 하이 레벨
}