본문 바로가기

메이킹/아두이노

아두이노와 파이썬 연동하기

반응형

1) VScode 설치하기

- 설치파일 다운로드 하기 : https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

- 윈도우즈용으로 다운로드 하여 설치합니다.

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

 

 

- 다운로드 버튼을 틀릭하여 실행파일을 다운로드한 후 설치합니다.

 

VScode 동의 후 설치

 

 

 

 

- 옵션을 모두 선택한 후 'Next'를 눌러 설치합니다.


2) 아두이노 IDE 설치하기

 

- 구글에 'arduino 1.8.19 download'를 검색

 

- 최신 버전이 아닌 1.8.19 버전의 윈도우용 설치파일을 다운로드하여 설치합니다.


3) 파이썬 설치하기

- 크롬창에 검색하여 해당 파이썬 3.9.6 버전 파일을 다운로드 후 설치

- 화면을 쭉 아래로 스크롤하여 윈도우용 64bit 설치파일을 다운로드 합니다.

파이썬 3.9.6 윈도우용 설치 파일

 

 

 

 

 

 

 

 

 

 


4) 라이브러리 설치하기

- cmd 창을 열어 라이브러리를 설치합니다.

 

- cmd 창에서  명령어를 입력하여 라이브러리를 설치합니다.

 

 

- 설치할 라이브러리 목록입니다.

  • pip install pyfirmata
  • pip install opencv-python
  • pip install HandTrackingModule
  • pip install HandDetector-cc
  • pip install cvzone

5)  소스코드 다운로드

- 아두이노 소스코드

- openCV관련 파이썬 라이브러리 다운로드

cvzone.zip
0.00MB
zip 라이브러리 설치하기

 

- 예제 파일 선택하기

 

- Get_LED 파일을 열어 수정해도 되고 새로운 파일로 작성해도 됩니다.

#include <cvzone.h>

SerialData serialData(1,1); //(numOfValsRec,digitsPerValRec)

/*0 or 1 - 1 digit
0 to 99 -  2 digits 
0 to 999 - 3 digits 
 */

int valsRec[1];

void setup() {
  serialData.begin(); 
  pinMode(13,OUTPUT);
 
}

void loop() {
  serialData.Get(valsRec);
  digitalWrite(13,valsRec[0]);

}

 

- 아두이노와 연결된 포트번호를 확인합니다.

 

 

 

 

- 파이썬 코드

- VScode를 실행하여 'Open Folder'를 선택하여 바탕화면에 작업할 폴더를 'arduino_opencv' 이름으로 생성합니다.

 

- 바탕화면에 만들어진 폴더 밑이 'main.py' 파일을 생성한다.

 

 

- 파이썬 소스코드

- VScode에서 main.py 내용을 아래 소스코드로 작성합니다.

- 아두이노 보드에 내장된 13번핀 LED를 깜빡이는 파이썬 코드입니다.

- 아두이노가 연결된 포트 번호로 'COMxx' 수정해주어야합니다.

from cvzone.SerialModule import SerialObject
from time import sleep

arduino = SerialObject('COM5')

while True:
    arduino.sendData([1])
    sleep(1)
    arduino.sendData([0])
    sleep(1)

 

- main.py 파일을 실행하면

- 결과

반응형