KakaoTalk_20220926_010453035_01.jpg

KakaoTalk_20220926_010453035_02.jpg

KakaoTalk_20220926_010453035.jpg

KakaoTalk_20220926_010453035_03.jpg

연결은 사진과 코드로 대채하려고 한다.

import RPi.GPIO as GPIO
import time
import spidev

# 모터 드라이버와 라즈베리 파이에 연결 (GPIO 핀 기준)
IN1 = 5 # GPIO 5
IN2 = 6 # GPIO 6
ENA = 13 # GPIO 13

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(IN1, GPIO.OUT)
GPIO.output(IN1, GPIO.LOW)
GPIO.setup(IN2, GPIO.OUT)
GPIO.output(IN2, GPIO.LOW)
GPIO.setup(ENA, GPIO.OUT)
GPIO.output(ENA, GPIO.LOW)

while True:
    GPIO.output(IN1, GPIO.LOW)
    GPIO.output(IN2, GPIO.HIGH)
    GPIO.output(ENA, GPIO.HIGH)
    time.sleep(1)

참고한 코드는 있지만 IN1, IN2, ENA가 어떤 역할이고 어떤 원리로 모터가 작동하는지 몰라 경우의 수를 세보았다.

222 이니까 8가지의 경우이다.

Port Num Bool Result
IN 1 LOW X
IN 2 LOW
ENA LOW
Port Num Bool Result
IN 1 LOW X
IN 2 LOW
ENA HIGH
Port Num Bool Result
IN 1 LOW O
IN 2 HIGH
ENA HIGH
Port Num Bool Result
IN 1 HIGH O
IN 2 LOW
ENA HIGH
Port Num Bool Result
IN 1 LOW X
IN 2 HIGH
ENA LOW
Port Num Bool Result
IN 1 HIGH X
IN 2 LOW
ENA LOW
Port Num Bool Result
IN 1 HIGH X
IN 2 HIGH
ENA LOW
Port Num Bool Result
IN 1 HIGH X
IN 2 HIGH
ENA HIGH

초록색 테이블만 작동하는데 조심스럽게 예측해보자면 모터가 돌아가는 두 가지 경우의 차이점이 모터의 회전방향이 아닐까 생각된다.