아두이노보드를 제어하는 파이썬 프로그램을 만들기 위해서는 두가지 프로그래밍이 필요하다.

첫째, 아두이노가 . 둘째, 파이썬.

아두이노에 메세지를 보내는 파이썬 앱만 하나 만들면 된다고 생각했는데, 

그게 아니었다. 아두이노에서도 메세지가 왔을때 어떤동작을할지 미리 프로그래밍 해야한다.

심지어 아두이노 보드는 각 핀들이 input/output 중 어떤 역할을 할지도 정해져있지 않기 때문에

사용할 PIN들의 input/output을 정의해주어야 한다.

 

1. Arduino 설치!

아래 링크에서 최신 소프트웨어를 다운로드 받으면된다.

 

Arduino - Software

By downloading the software from this page, you agree to the specified terms. THE ARDUINO SOFTWARE IS PROVIDED TO YOU "AS IS" AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT

www.arduino.cc

2. SERIAL 통신 BAUDRATE와 PIN의 PINMODE를 설정한다.

① void setup() 함수 안에 Serial 통신의 baud rate를 정의하고,

     Serial.begin(9600);

② 사용할 pin의 pin 모드를 정의한다.

    pinMode(4, OUTPUT);

    pinMode(5, OUTPUT);

    ...

   여기서는 8채널 릴레이 모듈을 제어해야 하므로 DIGITAL PIN 8개를 정의해준다.

3. Serial 통신으로 받은 메시지로 동작할 내용 코딩

if (Serial.available()) 로 Serial.available 하는 경우에만 메세지를 처리한다.

Serial.read()로 수신한 메세지를 읽어들이고, 디버깅을 위해 읽어드린 값을 terminal에 표시하도록  Serial.println 함수를 사용한다.

입력받은 값에 따라서 digitalWrite(PINNUMBER, LOW); 혹은 digitalWrite(PINNUMBER, HIGH); 로 PIN을 ON/OFF 한다.

매우간단하다.

반복문을 사용하면 더 간단한 코딩이 되겠지만, 빨리 완성하는게 목표이므로 일단 넘어간다..

12V로 동작되는 기기의 전원을 PC로 제어하고 싶은데,

아두이노의 GPIO로는 전력공급이 3.3V의 전압으로 밖에 안된다고 한다.

이를 해결할 수 있는 방법은, 12V의 POWER SUPPLY 를 별도로 두고, 릴레이 모듈을 통해 전원 공급/차단을 하는것이다.

구현하고자 하는 시스템은 다음과 같다. 

작품 구상도

 

우선 필요한 HW부터 구매를 진행했다.

 

1. 아두이노 호환보드

아두이노 정품보드는 너무 비싸기 때문에 호환가능한 보드를 찾아 구매했다.

제품명 : 아두이노 우노 R3 호환보드 [SZH-EK002]-www.devicemart.co.kr/goods/view?no=1245596

 

아두이노 우노 R3 호환보드 [SZH-EK002]

아두이노우노 호환보드! Arduino Uno (R3)의 기능을 그대로 재현한 고품질 호환보드,1.5m USB 케이블이 포함되어 있습니다. (※해외 수입 상품으로 재고 소진 시 5일 이상 소요 될 수 있습니다.)

www.devicemart.co.kr

6,500원 밖에 하지 않는다. 정품에 비해 말도 안되게 싼 가격. 채택.

 

2. 릴레이 모듈 

여러 전압을 제어하기 위해서 최대한 많은 채널이 필요했다. 8채널 릴레이 모듈. 3,900원

당연한 얘기지만 채널이 많을수록 비싸다.

입력전압이 5V이므로 아두이노에서 나오는 전압으로 충분히 제어가 가능하고, 

출력은 AC250V 10A, DC30V 10A 이다.

가정에서 사용하는 220V도 제어 가능하다.

가전제품은 제어하기 부담스럽겠지만, 전등 정도는 이걸로 충분히 제어 해볼 수 있을 것 같다.

 

아두이노 8채널 5V 릴레이 모듈 [SZH-RLBG-009]

8 channel 5V Realy / Output maximum contact: AC250V 10A , DC30V 10A / Size: 138m x 56mm x 18.5mm

www.devicemart.co.kr

 

3. 기타 부속품

- 점퍼 케이블 : 암/수 10cm 로 구매. (혹시 몰라 20cm도 샀으나 10cm면 충분했다.)

- 쇼트방지 아크릴 고정판 : 아두이노 보드및 주변 모듈을 깔끔하게 정리하기 위해 구매결정.

 

아두이노 우노/메가2560용 쇼트방지 아크릴 고정판 [ARD050902]

Scope: Arduino UNO, MEGA Imported acrylic materials, beautiful and durable Hotels with non-slip rubber mat, easy to use

www.devicemart.co.kr

- 바나나 잭

 

4. 구매후 연결 사진

+ Recent posts