아두이노 핀을 제어하는 방법으로 앞서 소개했던 list-indexing 방법이 있었다면
좀 더 확장된 개념으로 pin-mode 자체를 설정하는 방법이 있다.
특정 핀에 대해 mode 까지 설정하는 방법
Arduino 보드 객체.get_pin('[d/a],[0~13],[i/o/p/s]')
[d/a] : digital / analog
[0~13] : 핀 번호(아날로그 0~5, 디지털 0~13)
[i/o/p/s] : 핀 모드 설정
i : input - 센서로부터 값을 수신 받음(스레드 처리 필요)
o : output - 값 출력
p : pwm - Led, Motor 등 장치에 대한 연속 적인 값 사용 가능(0~1 사이 값)
s : servo - 서보 모터 제어(최소 값 5, 최대 값 175)
- 서보모터 테스트용 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from pyfirmata import Arduino, util import time board = Arduino("COM20") print("connecting") #digital, 11번 핀, 서보 모터 제어 pin_11 = board.get_pin('d:11:s') while True : pin_11.write(5) # 최소값으로 설정 time.sleep(1) pin_11.write(175) # 최대값으로 time.sleep(1) | cs |
- 서보모터 핀에 대한 값의 최소는 5, 최대는 175 에 대한 값을 갖는다.
pwm 의 경우 0~1 사이의 값, digital 의 경우 0 또는 1 값 만을 갖는다.
댓글
댓글 쓰기