HW 공작소

아두이노 3색 LED 제어시 파이썬 코드와 스케치 프로그램 비교

kusson 2023. 1. 13. 11:41
반응형
728x170

 앱인벤터와 아두이노 보드를 이용해 LED제어, 센서값 읽어오기 등의 작업을 많이 했었는데 앱인벤터 대신 파이썬을 이용해서도 똑같은 작업을 할 수 있다. 이번 시간에는 파이썬으로 3색 LED를 제어하고 아두이노 스케치 프로그램과 어떤 차이가 있는지 살펴보자.

 

 지난 시간에 이용했던 보드를 그대로 사용하는데 여기서는 3색 LED만 사용할 것이다. 3색 LED 제어선은 아두이노의 2,3,4 번 핀을 이용한다.

 

 

 파이썬으로 아두이노 보드를 제어하기 위해서는 arduino 라이브러리를 설치해야 하는데 파워쉘이나 VScode 터미널 창에서 "pip install arduino-python3"이라고 입력한다. 만약 파이썬2 버전을 사용하는 사람은 "python2"를 파이썬3 버전을 사용하는 사람은 "python3" 을 덧붙인다.

 

 아래 코드는 파이썬으로 작성한 코드이다. Arduino와 time 라이브러리를 import 하고  board와 pinMode를 지정하는 방식 그리고 루프를 작성하는 방법등이 아두이노 스케치 프로그램과는 조금 다르므로 주의가 필요하다.  파이썬 프로그램이 좀 더 편한점이 있다면 문장 끝마다 ";"를 붙이지 않아도 된다는 점 정도다.

 아두이노 보드의 보레이트를 9600으로 주고  2,3,4번 핀을 출력으로 지정한다. while문을 보면 4번핀 출력, 1초 쉬고 4번 핀 OFF 시키고 1초 쉬고, 3번핀 출력 그리고 1초 쉬고 3번핀 OFF 등으로 2번 핀까지 코딩한다. 그러면 3개의 LED가 1초 간격으로 차례로 깜빡일 것이다.

 

 

 아두이노 스케치 프로그램은 C++로 작성하는 코드인데 파이썬 코드보다는 좀 더 간결해 보인다. 보레이트와 포트등은 도구에서 설정하고 코드안에는 오로지 핀설정과 루프만 정의해 주면 된다. delay(1000)이 있는데 1초의 delay를 주라는 의미이므로 위의 파이썬 코드와 완전히 동일한 역할을 수행한다.

 

3색 LED가 차례로 깜빡이면서 잘 돌아가는 것을 확인 할 수 있다.

 

반응형
그리드형