ULN2003とArduino UNOの配線および簡単なサンプルコード

D

Daniel Zhang

最終更新日 Jul 12, 2026

以下は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ピンをハイレベルに
}