소스 뷰어
print( "Hello.... Motor Test." )
import sys
sys.path.append('/home/pi/Navio2/Python')

import time
from navio.pwm import PWM

# 모터 설정
MOTOR_PIN = 0  # Navio2의 1번 모터 핀 (0부터 시작)
PWM_FREQUENCY = 50  # PWM 주파수 (50Hz)
ESC_MIN = 1.0  # ESC 최소 펄스 (ms)
ESC_MAX = 2.0  # ESC 최대 펄스 (ms)
ESC_NEUTRAL = 1.5  # 중립값 (ms)

def initialize_motor(pwm):
    print("모터 초기화 중...")
    pwm.set_duty_cycle(ESC_NEUTRAL)  # 모터를 중립 상태로 설정
    time.sleep(2)  # ESC 초기화 대기

def test_motor(pwm):
    try:
        # 최소값으로 테스트
        print("모터 최소 출력 테스트 중...")
        pwm.set_duty_cycle(ESC_MIN)
        time.sleep(2)

        # 최대값으로 테스트
        print("모터 최대 출력 테스트 중...")
        pwm.set_duty_cycle(ESC_MAX)
        time.sleep(2)

        # 중립값으로 복원
        print("모터 중립 상태로 복원...")
        pwm.set_duty_cycle(ESC_NEUTRAL)
        time.sleep(2)
    finally:
        pwm.disable()
        print("모터 테스트 종료.")
    pass
pass

if __name__ == "__main__":
    pwm = PWM(MOTOR_PIN)
    pwm.initialize()
    pwm.set_period(PWM_FREQUENCY)  # 50Hz PWM 신호 설정

    initialize_motor(pwm)
    test_motor(pwm)
pass