아두이노 LED - 파이썬 코드로 제어하기

BABY CAT·2022년 12월 28일
0

Arduino

목록 보기
6/28
  • 아두이노 파이썬 코드로 제어 참고 링크 : https://hyunsun99.tistory.com/5

  • 아두이노 x 파이썬 연동 기본 개념 :
    아두이노 스케치에서는 C언어만 사용할 수 있다.
    그래서 아두이노 스케치에서 C로 먼저 아두이노를 구동 시켜놓고
    파이썬 코드로 제어 하는 방식을 쓴다.

0. 기기 세팅

LED의 +극(긴다리)은 디지털 9번 연결 (여기서는 9에 했다는 의미)
LED의 -극(짧은다리)은 디지털 말고 반대편에 있는 아날로그 핀에서 GND에 연결

1. cmd 에서 아두이노 인스톨

pip install arduino-python3

2. 아두이노 스케치로 다음 코드를 업로드

https://github.com/hope69034/Arduino.X.Python
이 링크로 들어가서

초록색 Code 버튼 누르고

다운로드zip 을 클릭해서 다운로드

후 압축 풀고

아래 경로로 이동

압축 푼 폴더에 이 경로로 들어가서 prototype (아두이노 스케치 파일) 더블클릭

  • 주의!!! : 첫 글에서 세팅한 아두이노 우노 board랑 COM5 port를 다시 잡아줘야 한다.

한 후 upload 로 실행하면

이렇게 뜨면 반 성공

아두이노가 실행되었다. 이제 파이썬 코드를 실행해서 제어 해야한다.

(prototype 에 있는 코드를 기존 아두이노 스케치에 복붙해서 업로드해도 같다)

3. 파이썬 코드

압축푼 폴더
Arduino.X.Python-main
폴더 안에
vs code 로 test.py 로 파이썬 파일을 만들어 보자

이렇게

test.py 안에 들어갈 코드는

from Arduino import Arduino
import time
board = Arduino('115200') // 아두이노 포트 번호 115200 (다른파일코드분석필요)
board.pinMode(9, "OUTPUT")    // 9 : 아웃풋 핀은 디지털 9, 핀모드로 출력핀 선언
while True:
    board.digitalWrite(9,"HIGH")   // 9핀에 HIGH로 최대 전압을 걸어준다 즉 led on  
    time.sleep(3)                 // 3초 딜레이 (파이썬 타임슬립은 초 단위.) 
    board.digitalWrite(9,"LOW")   // 9핀에 LOW로 전압 0을 걸어준다 즉 led off  
    time.sleep(1)                 // 1초 딜레이

그리고 new terminal로 터미널을 열고 (터미널 열린 경로 확인)

python test.py
로 실행시키면

led가 3초 on 1초 off 되는 것을 볼 수 있다.

*완료

0개의 댓글