오픈소스 IOSignal과 리모컨앱으로 IoT 직접 만들어보세요

 

안녕하세요 

IoT 아두이노 관심있는분들은 꼭 체험해보세요~ 

 

IoT리모컨 앱

https://remocon.kr

 

IoT리모컨

REMOCON Sign in with Google 구글 소셜 로그인으로 가입 없이 바로 사용

remocon.kr

 

오픈소스 IOSignal 아두이노, JS 라이브러리

https://iosignal.net 

 

Hello from IOSignal | IOSignal

Description will go into a meta tag in <head />

iosignal.net

 

 

 

아트로봇에서 판매중인 GT-511C1 제품을  아두이노 (UNO , Mega2560 or ADK) 보드에 연결하여 테스트 작동시키는 방법과 소스코드를 소개드립니다.

 

 

준비물   클릭하시면 제품 판매처 링크가 뜹니다.

 

아두이노 UNO 또는  Mega 2560 (or ADK) 보드 

지문인식기(GT-511C1)  

지문인식기 소켓 케이블 (4가닥 묶음, 아트로봇 구매시 함께 제공)

점퍼와이어 4가닥

브레드보드 (크기무관, 케이블을 직접 납땜 등의 방법으로 연결 하실경우 불필요)

 

 

 

연결방법 

 

a. Mega 2560 보드나  ADK 보드를 사용하는 경우 

 

 D19 (시리얼1 RX) ->  지문인식기의 Tx핀 (1번선),  소켓위에 세모표시가 보이는곳이 1번핀임

 D18 (시리얼1 TX) ->  지문인식기의 Rx핀 (2번선)

 GND       ->  지문인식기의 GND핀 (3번선)

 5V        ->  지문인식기의 전원핀   (4번선)

 

Mega 시리즈는 시리얼포트가 여러개여서  PC와 연결시 Serial 을,  지문인식기와의 연결은 Serial1 을 사용합니다.

 

b. UNO보드의 경우

 D2 (swRX) ->  지문인식기의 Tx핀 (1번선),  소켓위에 세모표시가 보이는곳이 1번핀임

 D3 (swTX) ->  지문인식기의 Rx핀 (2번선)

 GND       ->  지문인식기의 GND핀 (3번선)

 5V        ->  지문인식기의 전원핀   (4번선)

 

UNO 보드의 경우 시리얼포트가 하나 뿐(D0,D1)이며,  PC와의 시리얼통신(모니터링용)용으로 사용시 다른 시리얼통신기기 연결이 불가하므로,  SoftwareSerial 을 사용하여  임의의 미사용되는 핀(여기서는 D2, D3을 사용하기로함)을 시리얼통신용도로 설정하여 사용하게됩니다.

 

 

 

예제소스코드

 

a. Mega 2560 or ADK 보드는  아래의 사이트에서 다운로드하여 사용하시면됩니다.

메가 시리즈용 소스코드: https://github.com/mlaws/GT-511C1_Mega

 

b. UNO 보드의 경우,  위 소스코드를 UNO 보드용으로 수정한  아래에 첨부된 파일을 사용하시면됩니다.

 

fingerPrintGT511C1.ino
다운로드

 

 

 

 

모니터창 열고  명령 전송하여 작동 테스트

 

위 예제소스를 아두이노 SW 에서 컴파일 및 업로딩 합니다.  

시리얼 모니터 창을 엽니다. (다른 시리얼 터미널 프로그램을 사용하셔도 됩니다.)

모니터창 하단에 있는 전송 모드설정을 "No line ending"으로 선택합니다. 

 

명령의 종류와 기능은  아래의 페이지에 안내되어 있습니다.

https://github.com/mlaws/GT-511C1_Mega

 

가령  Open 명령은  모니터창 상단 입력칸에 O0 (알파벳 '오'와 숫자 '영')를 치고 엔터 또는 send 를 눌러주시면 전송됩니다.

명령이 전송될때 마다  특정 값이 되돌아오게 됩니다.

 

가장 눈에 띄는 피드백을 할 수 있는 명령은  지문인식기의 인식창에 내장된 Blue LED를 켜고 끄는 명령입니다.

 

L1  을 입력하면   파란색 LED 가 켜지게 됩니다.  멋져 보이네요 ^^.

L0  을 입력하면   LED가 꺼집니다.

 

아래에 첨부된 사진들을 보시면  인식창에 불이 켜질때와 꺼질때의 모습을 확인 가능하십니다.

 

"No line ending" 설정을 안하면  명령 인식이 잘 안될 수 있으므로 꼭 정확히 설정해주시기 바랍니다.

 

LED 제어까지 되셨다면 성공입니다.  

 

데이타 시트와 예제소스를 참고하셔서  지원되는 명령들을 활용하여 자신의 용도에 맞게 소스코드를 변경하여 활용하시면됩니다.

 

 

 

 

Mega ADK 보드로 연결한 경우 (Mega 2560 보드도 동일)

 

 

UNO 보드에 연결한 상태 

 

 

UNO 보드에 연결한 상태 ( L1 명령으로 인식기 내부 Blue LED 가 켜진 상태)

 

 

 

 

 

 

 

 

 

아트로봇에서 판매중인 지문인식기( GT-511C3) 제품을 PC와 연결 및 테스트 하는 방법의 요약 안내문입니다.

 

준비물

 

제품명을  제품 판매처 링크가 뜹니다.

지문인식기(GT-511C3)

지문인식기 소켓 케이블 (4가닥 묶음, 아트로봇 구매시 함께 제공)

 

FTDI USB to Serial 변환기 5V형 

mini USB 케이블

점퍼와이어 4가닥

브레드보드 (크기무관, 케이블을 직접 납땜 등의 방법으로 연결 하실경우 불필요)

 

 

 

연결방법 (Windows PC에서 제어시)

 

FTDI USB to Serial 5V형 제품으로 PC와 연결가능.

제품소개 페이지에 PC용 예제 프로그램이 링크되어 있으므로 다운로드하여 사용가능.

참고로, 아두이노에 직접 연결하여 제어하는것도 가능합니다만, 직접 프로토콜 학습하여 제어하셔야하므로 어렵습니다.

 

소켓 위에 세모표시 부분이 1번임

1번 TXO  (이핀을 FTDI 보드의 RXI에 연결)  

2번 RXI  (이핀을 FTDI 보드의 TXO에 연결)

3번 GND  (이핀을 FTDI 보드의 GND에 연결)

4번 VCC (이핀을 FTID 보드의 5V핀에 연결)

        (주의, 실제 5V형 FTDI USB Serial 변환기에는 5V 아닌 3V3으로 표기되어있음)

 

 

 

PC -> FTDI USB to Serial 변환기  ->  지문인식기  연결하면,

LED 불이 켜짐을 확인 하실수 있습니다.

 

 

FTDI 보드는 최초 설치시  COMx 번호가 부여되며 해당 COM번호를 기억합니다.

 

SDK_DEMO 프로그램을 실행합니다.

 

최상단에서  시리얼포트번호를  FTDI보드가 설치된 COM번호로 선택해줍니다. 

초기에 USB로 선택되어있음.

 

통신속도(Baudrate)을  115200으로 선택합니다.

 

 

Open 버튼을 눌러줍니다.

최하단 Result:란에  펌웨어 버전등의 정보가 뜨면 정상 연결된 상태입니다.

 

이제 지문을 등록하거나 확인하거나  지문이미지를 수신하는등의 테스트가 가능해집니다.

자세한 사용법은 직접 데이타시트나 동영상을 참고해주시기 바랍니다.

 

 

기타사항.

 

현재 제공되는 케이블의 1번전선이 검정색입니다. 

보통 관례상 검정색은 GND에 사용되지만,

본 케이블에서는 1번 핀은 GND가 아닌 시리얼통신 Tx핀이므로 색상은 무시하시면 됩니다.

 

 

지문인식기는 손가락으로 눌렀는지 여부를 파악할수 있습니다.

손가락을 누른상태와 안누른 상태에서 각각 "Is Press Finger"버튼을 눌러주면 감지 결과를 출력해줍니다.

 

지문인식기는 보통 불이 들어오지 않으며,

지문을 인식/확인하거나 지문 이미지를 전송할때마다 파랑불이 들어오게됩니다. (아래의 사진은 Live Image 전송중인 상태여서 파랑불과  FTDI보드의 Rx불이 계속 켜져 보이는 상태입니다.)

 

 

 

 

 

 

자매 품인 GT-511C1 제품을  아두이노 (UNO, MEGA 2560, ADK ) 보드에 곧바로 연결하는 방법을 소개한 아래의 튜토리얼 자료도 참고하시기 바랍니다. 

 

 

사용하기 쉽고 응용처가 많은 NeoPixel(이하 RGB 칼라픽셀로 칭함) 제품의 사용법을 간단히 정리해보겠습니다.  이미 상점 간판을 돋보이는 용도로 RGB LED가 많이 사용되고 있습니다만, 많은 경우 단색이거나 모든 LED가 하나의 색상으로 켜지는 제품이 대부분입니다.   여기서 안내드리는 칼라픽셀 제품들은 RGB LED 하나당 전용 드라이버칩이 하나씩 내장되어 있고,  여러개의 LED모듈이 하나의 신호선을 통해 직렬로 연결되어 있어서 하나의 데이터 신호선으로 수십개 이상의 칼라픽셀을 개별 색상 제어할 수 있는 제품입니다.

 

이미 제조사에서 매우 잘 정리해 놓은 튜토리얼 페이지가 있습니다만 내용이 너무 많거나 영어 자료가 익숙하지 않으신 분들은 본 요약 안내글을 먼저 보시고 제조사 튜토리얼을 참고하시면 도움이 될것 같습니다.

 

현재 이글을 통해 소개중인 제품은  30개 모듈이 스트립형으로 연결된 제품입니다. 

 

주요 재료

아두이노 UNO, USB케이블
전선 4가닥(조금 두꺼운 단선 또는  점퍼와이어 가능, 단선으로 된 랜케이블도 가능)
전원커넥터 스크류타입 (또는  기본형 ,  브레드보드형 등)
정전압 아답터 5V 2A 형
RGB 칼라픽셀( NeoPixel 30 RGB Strip형)

 

프로그래밍 

 

1. 라이브러리와 예제소스를 다운로드합니다. (제조사 튜토리얼 해당 페이지에서)

 http://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library  페이지 에서 아래 링크 다운로드

  1. Select the “Download ZIP” button, or simply click this link to download directly.

 

2. 압축파일을 해제 및 폴더명 변경

압축해제된 폴더중  *.cpp  *.h 파일이 포함된 폴더의 폴더명을 Adafruit_NeoPixel 로 변경합니다.

 

3. 라이브러리 설치

최근 아두이노 1.0.5 프로그램에서는 라이브러리 복사 과정을 대신해주는 기능이 지원되므로 아래의 메뉴를 선택하여 위 폴더를 선택해주면 라이브러리가 설치됩니다.

 

메뉴> 스케치 > 라이브러리 가져오기 >  Add Library…  선택후  해당 폴더 선택

 

참고사항. 구 버전 아두이노 SW 에서는 위 폴더를 아두이노 라이브러리 폴더에 직접 복사해야합니다. (구 버전을 사용하시는 분들은 라이브러리 설치 관련 자료를 참고하시기 바랍니다.)

 

4. 아두이노 SW를 종료후 다시 실행합니다.

 

5. 라입러리 및 예제소스 설치 확인

라이브러리가 정상적으로 설치된 경우,

메뉴 > 파일 > 예제 리스트를 살펴보면 Adafruit_NeoPixel 폴더가 보입니다.

관련 예제가 두개 있는데 strandtest 예제를 선택하시면 됩니다.

 

6. 소스 수정.

 

제품종류나 칼라픽셀의 개수에 따라 NeoPixel 선언부에 설정되는 값이 변경되어야합니다.

 

Adafruit_NeoPixel strip = Adafruit_NeoPixel(30, PIN, NEO_GRB + NEO_KHZ800);

 

 

우리가 사용중인 제품은 픽셀 개수만 변경해주면 됩니다. 첫번째 인수가  픽셀의 개수이며 60으로 되어있는 값을 30으로 변경하기만 하면 됩니다.  (주석을 보면 어떤 내용인지 확인 가능)

 

 

7.아두이노 보드 종류와 COM번호 설정후 업로드한다.

 

참고로 데이타 전송용 핀번호는 6번으로 설정되어 있습니다. 이 값은 소스 상단에 있는 define 부분에 정의되어 있으며 필요시 다른 핀번호로 변경 가능합니다.

 

참고사항.  프로그램 업로딩은 항상  제품을 결합하기 전에 하는 습관을 갖기 바랍니다.  운이 나쁘면 기존에 어떤 프로그램이 들어있는지에 따라 아두이노와 부품에 손상을 가져올  가능성이 있습니다.



이제 회로를 연결합니다.

 

 

회로 연결은 매우 간단합니다.  아두이노 보드에 GND와 D6 핀 두개만 연결되면 됩니다.

하지만 많은 분들이 실수 하시는 부분이 있으니 아래 사항을 꼭 주의 하시기 바랍니다.

 

1. 제품을 잘 보시면 화살표가 있습니다. 전선 결합은 꼭 입력측에 해주셔야합니다. 즉, 화살의 꼬리측에 있는 GND, DIN, +5V 핀에 전선을 연결하여 아두이노측에 연결해주셔야합니다. 종종 사용중에 선을 변경하시다가 화살촉 부분에 연결하시게 되면 작동이 되지않습니다.

 

2. 아두이노상의 GND와 외부전원의 GND 둘 다 본 제품의 GND에 결합되어야 합니다. 외부전원을 사용하는경우 GND 공통 접지를 잊으셔서 작동이 안되는 경우가 많습니다.

 

 

3. 전원은 pixel 30개를 사용하는 경우 5V 2A 정전압 아답터 전원 사용을 권장합니다. 전압은 꼭 정전압 5V여야하고, 암페어(전류)규격은 2A 이상이면 됩니다. 3A , 5A 제품을 사용하실 수 있습니다. 또한 픽셀을 3개정도 만 잘라서 사용한다면 전류 소모가 작으므로 아두이도 5V 핀으로 부터 전원을 공급받아도 무관합니다. 픽셀이 많아질 수록 전력소모가 크며 적절한 전원을 공급하지 않으면 비정상 작동되거나 고장의 원인이 될 수 있습니다.

 
 
전선 납땜하기
30모듈형 칼라픽셀은 5미터 형 제품을 5등분한 제품입니다. 이때문에 대부분 전선이 연결되어 있지 않은 상태이므로 직접 전선을 납땜해주셔야합니다. 전선은 아두이노와 브레드보드 연결시 사용되는 점퍼와이어나 AWG22 규격정도의 단선, 또는 단선으로 된 랜케이블을 잘라서 사용하시면 됩니다. 중요한점은 GND부분에서 전선이 두가닥이 나와야 하나는 아두이노 GND에 나머지 하나는 외부전원 GND에 연결되게됩니다. 이때문에 총 4가닥의 전선이 필요합니다.

 
 
전원 소켓 준비하기
대부분의 정전압 아답터의 DC출력부는 5.5x2.1mm 규격의 둥근형태의 DC플러그입니다. 이 DC 플러그로 부터 전원을 공급받기 위해 전선을 잘라서 납땜하는것보다는 적절한 DC커넥터 제품을 이용하면 아답터 전원을 장착/탈착하기 편리합니다. 제경우 스크류 터미널로 납땜없이 전선 결합이 가능한 제품을 사용하였습니다. 이외에도 저렴한 일반 DC잭이나 브레드보드 호환 DC잭 활용도 가능합니다.
 
TIP.  현재 예제에서는 PC와 USB케이블로 연결하거나  별도의 9V아답터를 DC잭에 연결하여 아두이노 보드에 전원을 공급하고 있습니다만  정전압 5V 전원아답터를 사용하실 경우  아두이노 보드용 전원을 별도로 공급하지 않을 수 있습니다.  즉,  아두이노 보드에 연결된 USB케이블과  DC잭에 연결된 전원을 모두 제거하신 상태에서   정전압 5V 전원에서  5V전원선을 하나 더 연결하여 아두이노의 5V핀에 직접 연결해주시면  아두이노 보드도  정전압 아답터로부터 전원을 공급 받을 수 있습니다.  즉,  5V 단일 전원으로   아두이노 보드와  RGB 칼라픽셀을 모두 구동하실 수 있습니다.
 

 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

레이보우두이노 Rainbowduino   와  Rainbow Cube Kit( 4x4x4)  연동 작동하기

 

1. 아두이노 라이브러리 설치하기

아두이노 IDE 개발환경인 스케치 버전(1.0이상 또는 구버전)에 따라 다음 두개중 하나를 다운로드 후 설치합니다. 

(참고사항.  사용중인 아두이노 스케치의 소스파일명 확장자가  *.ino 이면 Arduino 1.0이상 이며,   *.pde 이면 구버전의 아두이노 스케치 입니다. 즉, Arduino 023 사용)

 

라이브러리 파일 설치위치:

다운로드 후 압축을 해제하면 안쪽에 Rainbowduino 라는 폴더가 있습니다.  이 폴더 통째로 아두이노가 설치된 디렉토리에 있는 libraries 디렉토리에 복사합니다.  즉,  arduinoDir\libraries\Rainbowduino  폴더가 있고  이안에는  Rainbowduino.cpp Rainbowduino.h 파일 등이 보입니다.

 

 

2.  Rainbowduino에 내장된 FTDI USB to Serial 드라이버 설치하여  COM 포트 인식시키기

Rainbowduino를 PC와 USB케이블로 연결후 다른 모든 부품(RainbowCube Kit 등)을 제거합니다.

PC에서 자동 인식되며 필요한경우 적절한 드라이버를 선택해줍니다.  Arduino 스케치 폴더에 있는 drivers 폴더에 있는 파일로 인식되지 않는경우엔  Windows 드라이버 자동찾기를 선택하하여 재설치해주면 update후 자동 설치됩니다.

 

3. 아두이노 스케치 환경 열기

( library 설치후엔 꼭 다시 실행해줘야합니다.)

Rainbowduno용 라이브러리가 정상 설치되었다면  파일 > 예제 메뉴 선택후 Rainbowduino 라는 메뉴가 보입니다.

이를 선택하면 아래와 같은 예제들이 기본 등록된것을 알수있습니다.

본 예제 파일들이 보이지 않는경우 라이브러리 설치가 제대로 되지 않은것이니 재 확인 바랍니다.

 

Cube1

Cube2

Cube3

..... 이하 여러개

 

 

PlasmaCube 를 선택해 봅니다.

 

4.  아두이노 보드 종류 및 COM 번호 선택하기

 

도구>시리얼 포트

COM 번호는 과정 2에서 확인된 COM번호를 선택하면됩니다.(제어창  장치관리자 COM 장치리스트에서 확인가능)

 

도구>보드:   아두이노 보드 종류는    Arduino Pro or Pro mini  5V 16MHz,  w/ATMega328  를 선택하면 됩니다.

 

5. 컴파일 및 업로드

컴파일시 오류가 없다면 업로드해봅니다.

 

6.  USB케이블을 제거후  RainbowcubeKit 과  Rainbowduino를 연결해줍니다.

RainbowCubeKit 에 포함된 전선으로  Vin / Gnd 라인(볼트로고정)을  Rainbowduino 상의 Vcc/ Gnd 라인(볼트로고정)에 공통 연결해줍니다.

RainbowCubeKit 에 7~9V 최소 1A 이상 정전압 전원을 연결해줍니다.

 

여러 패턴으로 작동되는것을 확인 할 수 있습니다.

 

주의.  LED 가 64개 작동되는 킷이므로  소형 9V 전지나  USB케이블을 통한 전원으로는 정상 작동이 보장되지 않으며 작동오류나 PC 파손등의 원인이 될 수 있으니  꼭  별도의 정전압 아답터 전원을 사용하시기 바랍니다.

 

 

관련 상품 리스트

Rainbowduino V3.0
RainbowCubeKit 납땜 자작형
RainbowCubeKit 완성형( Rainbowduino, 아크릴 케이스  및 전원 포함)
9V 1A 정전압 아답터
mini USB 케이블(Rainbowduino 와 PC연결용)

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts