아두이노와 파이선을 이용한 LED 신호등 만들기(천재교육 정보교과서)

아두위키 : Arduwiki
ArduWiki (토론 | 기여)님의 2024년 8월 16일 (금) 14:29 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

본 위키는 천재교육 고교 정보교과서 내 아두이노와 파이선을 이용한 LED 신호등 만들기에 해당하는 내용을 서술합니다.

※ 교과서 내용에 따라 파이선을 사용합니다. 아두이노 사용 방법 문서 후반부 파이선 활용 방법을 참고하세요.


P. 220 아두이노와 파이선을 이용한 LED 신호등 만들기

아두이노와 파이선 프로그래밍 언어를 이용하여 일정한 시간마다 LED 불빛이 바뀌는 신호등을 만드는 예제입니다.


회로 구성

교과서와 동일합니다. 단, 5V의 경우 없어도 되는 부분이기 때문에 제외했습니다.

Firmata 설치

Firmata 사용을 위해서는 먼저 파이썬이 설치되어있어야 합니다.

PC에 파이썬이 설치되어있지 않다면 아두이노 사용 방법 문서의 후반부 파이썬 파트를 참고해 먼저 설치해주세요.

Firmata는 아두이노와 컴퓨터 간의 편리한 통신을 위한 프로토콜이자 라이브러리입니다. Firmata를 아두이노에 업로드하면, 아두이노 보드의 디지털 및 아날로그 핀을 파이썬이나 다른 환경에서 간편하게 제어할 수 있게 됩니다.


1. win + R키를 누른 후 실행창에 cmd를 입력해 명령 프롬프트 창을 엽니다.

2. pip install pyfirmata 를 입력해 라이브러리를 설치합니다.


아두이노 코드


파이썬 코드

IDLE(Python)을 실행하신 후 File - New File을 클릭해 새 스크립트를 열어주세요.


다음과 같이 스크립트에 코드를 입력하고, 실행해주세요. [Run - Run Module] 혹은 단축키 F5를 누르시면 됩니다.

코드는 교과서와 동일합니다.

import pyfirmata

board = pyfirmata.Arduino('COM6')

while True:
    board.digital[5].write(1)
    board.pass_time(5)
    board.digital[5].write(0)

    board.digital[6].write(1)
    board.pass_time(2)
    board.digital[6].write(0)
    
    board.digital[7].write(1)
    board.pass_time(3)
    board.digital[7].write(1)
    board.pass_time(0.5)
    board.digital[7].write(1)
    board.pass_time(0.5)
    board.digital[7].write(1)
    board.pass_time(0.5)
    board.digital[7].write(1)
    board.pass_time(0.5)
    board.digital[7].write(0)


실행결과