라즈베리파이:파이썬 제어: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
(새 문서: {{라즈베리파이}} == 개요 == 일반적으로 하드웨어 등을 파이썬으로 제어한다. <br /> == 스위치 == === Event알림 방식 === {| class="wikitable" !의도...) |
(→스위치) |
||
1번째 줄: | 1번째 줄: | ||
{{라즈베리파이}} | {{라즈베리파이}} | ||
== 개요 == | ==개요== | ||
일반적으로 하드웨어 등을 파이썬으로 제어한다. | 일반적으로 하드웨어 등을 파이썬으로 제어한다.<br /> | ||
<br /> | |||
== 스위치 == | ==스위치== | ||
=== Event알림 방식 === | ===Event알림 방식=== | ||
{| class="wikitable" | {| class="wikitable" | ||
!의도 | !의도 | ||
23번째 줄: | 22번째 줄: | ||
|} | |} | ||
== PWM == | === 에러 방지 설정 === | ||
코드의 초반부에 <code>GPIO.setwarnings(False)</code>를 넣어주면 불필요한 경고는 뜨지 않는다. | |||
==PWM== | |||
하드웨어에서 내보낼 수 있는 신호는 1 아니면 0이다. 이 둘 사이의 중간값을 갖게 하기 위해(LED의 밝기를 조절한다든가) 디지털신호가 켜지는 시간의 비율을 조정하는 전략을 사용한다. 이를 Pulse Width Modulation제어라 한다. | 하드웨어에서 내보낼 수 있는 신호는 1 아니면 0이다. 이 둘 사이의 중간값을 갖게 하기 위해(LED의 밝기를 조절한다든가) 디지털신호가 켜지는 시간의 비율을 조정하는 전략을 사용한다. 이를 Pulse Width Modulation제어라 한다. | ||
=== 사용법 === | ===사용법=== | ||
{| class="wikitable" | {| class="wikitable" | ||
!의도 | !의도 |
2022년 10월 29일 (토) 11:15 판
개요
일반적으로 하드웨어 등을 파이썬으로 제어한다.
스위치
Event알림 방식
의도 | 설명 | 방법 |
---|---|---|
감지했을 때 함수 실행 | GPIO핀이 상승하는 것을 감지하면(0이 1로 변하면) 미리 정의해둔 함수를 실행한다.
신호가 들어오면 곧장 함수를 1회 실행한다. 스레드로 작동하는 듯하다. GPIO의 신호는 작동할 때 순간적으로 전기신호가 여러번 튀는 바운스 현상이 나타나는데, 이러면 함수가 여러번 실행된다. 이를 방지하기 위해 bouncetime=300 옵션을 주면 300ms동안 반복된 신호는 무시해 예상치 못한 작동을 방지할 수 있다. |
GPIO.add_event_detect(channel, GPIO.RISING, callback=함수, bouncetime=300)
|
에러 방지 설정
코드의 초반부에 GPIO.setwarnings(False)
를 넣어주면 불필요한 경고는 뜨지 않는다.
PWM
하드웨어에서 내보낼 수 있는 신호는 1 아니면 0이다. 이 둘 사이의 중간값을 갖게 하기 위해(LED의 밝기를 조절한다든가) 디지털신호가 켜지는 시간의 비율을 조정하는 전략을 사용한다. 이를 Pulse Width Modulation제어라 한다.
사용법
의도 | 설명 | 방법 |
---|---|---|
기초 사용 | pwm = GPIO.PWM(channel, frequency) # 인스턴스 생성.
pwm.start(숫자) # 0~100 사이
pwm.stop() # 종료
pwm.ChangeFrequency(frequency) # 주파수 변경
pwm.ChangeDutyCycle(숫자) # 0~100 사이로 변경
|