[mblock] 프로그램을 활용한 LED, Relay 제어

[mblock] 프로그램을 활용한 LED, Relay 제어

 

 

mblock 프로그램을 활용한 LED, Relay 제어


■ 아두이노 하드웨어 구성

1. 아두이노란

 

1_아두이노란

아두이노는 저렴하면서도 쉬운 프로그래밍과 오픈되어 있는 소프트웨어와 하드웨어로 이루어진 8bit MCU 보드 입니다. 기반은 ATMEL사의 ATMEGA328P로 이루어져 있습니다.

 

2. 아두이노 구성

2_아두이노 구성

 

아두이노는 5개의 아날로그 입력과 13개의 디지털 입출력 포트가 있고 그 중 6개는 아날로그 출력이 가능한 포트 입니다. 프로그래밍은 USB 포트를 통해 프로그래밍을 합니다.

 

3. 비트모스 아두이노 쉴드

3_아두쉴드

 

아두이노와 함께 결합되어 사용되는 비트모스 아두이노 쉴드는 센서를 연결할 수 있는 포트와 AC전원을 제어하는 2개의 릴레이가 있고. 상태를 확인 하기 위한 LED 2개를 포함하고 있습니다.

비트모스 쉴드는 환경모니터링을 위한 11가지 센서를 연결하여 사용가능하며, 사용자들이 자신의 시스템을 위해 커스텀이 가능하도록 구성하여 취미를 위한 용도 또는 연구를 위한 용도에 적합합니다.

 

■ 하드웨어 연결

1. 아두이노와 비트모스 쉴드와 연결

4_아두이노 결합

 

위의 그림과 같이 아두이노와 비트모스 쉴드에 헤더 핀과 핀 헤더를 맞춰서 결합합니다.

 

2. RELAY 동작 확인을 위한 LED 연결 배선

 

5_led relay

위 그림은 릴레이 동작을 확인하기 위한 LED 연결 배선도 입니다. 릴레이 동작은 딸깍 하는 릴레이 동작 음으로도 알 수 있으나 정확한 확인을 위해서는 LED를 연결하여 눈으로 확인 가능하게 합니다.

LED는 5V에 직접 연결되어 작동하므로 테스트 용으로만 사용가능하며 오랜시간 작동을 위해서는 저항 (330옴)을 달아주는 것이 안전합니다.

 

3. AC 220V 제어를 위한 RELAY 배선

6_bitmossShield_2

실제 AC 220V를 연결하는 배선도 입니다. RELAY 제어 방법을 통해 외부에서 공급된 AC 220V를 제어 가능하게 합니다.

 

■ mblock 프로그램으로 비트모스 쉴드 LED 제어

7_아두이노 led

비트모스 아두이노 쉴드에 부착되어 있는 LED2, LED3에 ON/OFF 제어를 할 것 입니다.

 

8_보드설정 9_시리얼설정

 

먼저 아두이노 종류와 포트번호에 맞추어 “보드” 메뉴에서 보드를 선택하고, “연결” 메뉴에서 “시리얼 포트” 메뉴를 열어 현재 아두이노가 연결되어 있는 시리얼 번호를 클릭합니다.

 

10_편집 아두이노모드

 

편집 탭에서 아두이노 모드로 클릭하여 아두이노 모드에서 프로그림을 시작 합니다.

11_테스트프로그램

 

스크립트 창에서 “로보트”를 클릭한 뒤 Arduino 라이브러리에서 “아두이노 프로그램” 블록을 드래그 하여 제일 상단에 붙이고 Bitmoss 라이브러리 창에서 “초기화 및 아이디 설정” 블록을 드래그 하여 바로 아래에 붙입니다.

 

12_무한반복

스크립트 창에서 “제어”를 클릭하여 “무한반복하기” 블럭을 붙여 넣습니다.

13_LED 코드

 

 

스크립트 창에서 “로보트”를 클릭하여 LED 제어 블록을 “무한 반복하기” 블록 사이에 붙여 넣습니다. LED 선택은 LED2로 변경하고 첫번째 “LED 제어” 블록에는 켜짐으로 두번째는 꺼짐으로 설정 합니다.

다시 스크립트 제어 창에서 “1초 기다리기” 블록을 각 LED 제어 블록 아래 넣어 줍니다. 기다리는 시간은 임으로 설정해 줍니다.

우측 상단의 버튼인 “아두이노에 업로드”를 클릭하여 업로드 완료가 뜨면 프로그램이 완료 됩니다.

14_LED ON 15_LED OFF

 

LED가 임의로 설정한 시간에 맞춰서 ON/OFF가 되면 정상적으로 프로그램이 된 것입니다.

앞서 LED 제어 블록에서 LED2를 LED3으로 변경하면 LED3을 제어 할 수 있습니다.

 

■ mblock 프로그램으로 비트모스 쉴드 릴레이 제어

16_아두이노 Relay

 

이번에는 mblock 프로그램으로 릴레이를 동작해 보도록 하겠습니다. 동작 확인은 임의로 LED를 연결하여 확인해 볼 것 입니다.

 

17_무한반복2

 

앞서 LED제어와 마찬가지 과정으로 “무한 반복하기” 블록까지 붙여 줍니다.

 

18_릴레이코드

 

 

스크립트 창에서 “로보트”를 클릭하여 “Relay 제어” 블록을 “무한 반복하기” 불록 사이에 붙여 넣습니다. Relay 선택은 “K1”로 변경하고 첫번째 “Relay 제어” 블록에는 켜짐으로 두번째는 꺼짐으로 설정 합니다.

다시 스크립트 제어 창에서 1초 기다리기 블록을 각 “Relay 제어” 블록 아래 넣어 줍니다. 기다리는 시간은 임으로 설정해 줍니다.

“아두이노에 업로드”를 클릭하여 업로드 완료가 뜨면 프로그램이 완료 됩니다.

 

19_릴레이off 20_릴레이on

 

위의 “하드웨어 연결” 파트의 그림을 참조하여 사진과 같이 실험 장치를 만들었습니다.

Relay가 임의로 설정한 시간에 맞춰서 ON/OFF가 되면서 딸깍 소리와 함께 연결 된 LED가 ON/OFF되면 정상적으로 프로그램이 된 것입니다.

앞서 LED 제어 블록과 동일하게 Relay 제어 블록에서도 K1를 K2으로 변경하면 K2 Relay를 제어 할 수 있습니다.

 

 

■ 마치며

이번에 mblock 프로그램을 활용한 LED, RERAY 제어에 대하여 알아 보았습니다. 다음은 mblock 프로그램을 활용한 온 습도, 조도센서 표시에 대해 알아 보겠습니다.

오픈소스로 제공되는 타이니파머는 하드웨어에 대한 전문적인 지식 없이도 누구나 쉽게 활용할 수 있습니다. 저렴한 비용으로 센서와 컨트롤러 구성만 달리하면 각자의 환경에 맞게 설치할 수 있다는 장점이 있습니다.

많은 관심 부탁 드립니다.

0 Comments

Leave a reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>