오늘은 울트라 하이테크놀로지의 결합체인 디지탈 카메라를 만들어봤습니다.  "정말 피눈물나는 노력을 통해 완성한 나만의 아두이노 호환 똑딱이입니다." 라고 말씀드리면 거짓말이고요,  사실 제가 한 일이라곤 촬영된 이미지를 JPEG 포멧으로 시리얼통신을 통해 전송해주는 카메라와 이값을 수신하여 microSD메모리에 저장해주는 역활을 해주는 JPEG Trigger 아두이노 호환보드를 단순히 조립해주고 버튼한개 달랑 단것이 전부입니다.  아, 그리고 휴대용 카메라의 역활을 다할 수 있도록 3.7V Lipo충전지도 장착해줬습니다.  성능은 최신 카메라에 비길수 없겠지만 그래도 좋은건 센서연동 및 자유로운 제어가 가능한 아두이노 호환형 디지탈 카메라 시스템이라는 점입니다. 

시리얼통신 JPEG 카메라가 무엇인가?
시중에서 많이 구경할 수 있는 카메라들과 달리 촬영된 이미지를 JPEG 이미지 포멧으로 압축하여 시리얼 통신(TTL 레벨)으로 전송해주는 특수 카메라입니다.  즉, 시리얼 통신이 가능한 모든 기기에서 압축된 디지탈 이미지 데이타를 수신할 수 있습니다.(일반적인 video 신호 출력도 지원)  PC의 경우엔 FTDI USB시리얼 변환보드를 경유하여 카메라를 제어하고 이미지를 수신해 볼 수 있습니다. (

관련글 - 시리얼통신 카메라 PC연결하기 

)
그리고 무엇보다도 아두이노같은 8bit 저속 MCU 보드들에서도 시리얼통신으로 촬영된 이미지를 수신할 수 있게 되어 유용한 카메라입니다. 물론 압축된 이미지(JPG) 데이타라도 아두이노에서 실시간 처리를하는 것은 무리가 있습니다.  하지만 데이타를 SD메모리에 저장하고 참고하는 형태의 응용이라면 충분히 제 역활을 할수 있게되는데요,  이 역활을 하는 전용 보드(JPEG Trigger)가 있어 함께 사용하면 손쉽게 디지탈 카메라 기능 구현이 가능해집니다.

JPEG Trigger 보드
본 제품은 JPEG Camera와 짝을 이뤄 사용하도록 최적화된 아두이노 호환 보드이지만 몇가지 특수 기능을 갖쳐서 프로그램을 바꿔서 다른 용도로 사용하는것도 좋을 것 같습니다.   JPEG 이미지 저장용 microSD 메모리 인터페이스와   1V~ 5V 사이의 전원을 입력해주면 내장된 승압회로를 통해 5V전원으로 작동되도록 설계되어 건전지(1.5V or 3V)나 Lipo(3.7V) 충전지 하나만으로 작동이 가능합니다.  야호!  더불어 총 6개의 범용 IO핀( 아두이노 D2,D3,D4,A0,A1,A2) 홀이 제공되어 트리거(Trigger, 셔터눌러주기) 용도 및 기타 IO기능으로 사용이 가능합니다. 


오픈 소스 하드웨어
공개된 소스코드와 라이브러리를 설치해주면(이미 프로그램되어 있음) 원하는 방식으로 카메라 구현이 가능하므로 응용범위가 무궁무진해 집니다.



사진. 초간단 디지탈 카메라 구현 연결이미지
카메라 + 보드 + Lipo충전지 + 버튼 을 연결해주기만 하면 프로그래밍 없이도 바로 작동합니다.



동영상. 결합상태 확인 및 사진촬영 테스트

동영상 내용 소개
보드, 카메라, 충전지, 버튼이 연결된게 보입니다. 스위치를 켜주면 상태점검 후 상태 LED가 켜집니다.  이게 안켜지거나 깜빡거리면 카메라나 메모리에 문제가 있는것입니다.   초기상태의 경우  D2,D3,D4 버튼중의 하나를 GND에 연결하는 순간 카메라 셔터가 작동(촬영)되고 JPEG으로 압축된 이미지가 시리얼 통신으로 보드에 전달되고 이 정보가 SD메모리에 저장됩니다. 마침 네모로봇 군이 옆에 있어 버튼을 눌러 촬영을 해봤습니다.  이미지가 저장되는 중에 상태 LED가 깜빡거리는게 보입니다.  저장이 완료되면 상태 LED가 다시 켜집니다.  저장된 이미지는 PC에 연결하여 (변환과정 없이) 볼 수 있습니다.  (단, 초기 프로그램된 상태에선 확장자가 txt로 저장이되는 문제가 있어서 이를 PC에서 jpg 확장자로 변환해야 볼 수 있습니다. 신규 소스로 업로드하시면 이문제는 해결됩니다.)

사진. 촬영된 이미지 예



카메라와 보드 연결
JPEG카메라 <-> JPEG트리거보드
VCC -- 5V
GND -- GND
TXD -- D5(Rx)   주의. 카메라측 송신(Tx)단자가 트리거보드 측 수신(Rx)에 (교차)연결됩니다.
RXD -- D6(Tx)   주의. 카메라측 수신(Rx)단자와 트리거보드 측 송신(Tx)에 (교차)연결됩니다.
TV(미연결)  일반적인 video 신호출력선입니다. 본 예제에서는 사용안함.

전원
배터리 단자에 3.7V 정도의 Lipo충전지를 연결하여 사용하거나,
배터리 단자 옆에있는  GND와 1~5V 핀에   1~5V 전원을 연결해줍니다.
(입력된 전원은 5V승압회로를 통해 5V로 승압되어 공급되게됩니다.)
(FTDI USB시리얼 보드 연결시엔 usb 전원이 상시 연결됩니다.)

보드테스트
(카메라 및 메모리)아무것도 장착하지 않은상태에서
스위치 off상태에서 Lipo단자에 Lipo배터리 연결후, 스위치 on하고 몇초후 LED가 깜빡거려야함.


스위치 기능
배터리 입력전원을 승압회로에 연결여부를 선택해준다.(회로도를 꼭 참고하세요)
배터리 사용시 보드 ON/OFF 기능으로 사용됩니다.
(FTDI USB시리얼 보드 연결시엔 usb 전원이 상시 연결됩니다.)

사용법
카메라와 FAT 포멧된 메모리를 장착후 전원을 켜주면 LED가 ON된다.
메모리가 없거나 포멧상태 문제등으로 초기화가 안되면 LED는 깜빡인다.
카메라가 연결되지않은경우 LED가 안켜진다.
(단, 상태LED 모드는 펌웨어에 따라 다를수있으므로 해당 소스 상단 주석을 확인바랍니다.)

입출력핀
카메라 촬영신호를 받거나 I/O용으로 아래의 6개핀을 사용할 수 있습니다.
아두이노 디지탈핀 D2,D3,D4와
아두이노 아날로그핀 A0,A1,A2를 입출력
보드에는 손쉽게 전원활용을 할수있도록 각 입출력핀마다 GND,5V 홀(구멍)이 함께 있어서
총 18개의 구멍이 있습니다. 이때 GND, 5V 구멍이 안쪽에 있고 바깥쪽이 D2,D3,D4,A0,A1,A2 핀이므로 주의바랍니다.



카메라 촬영법
초기 제공되는 펌웨어(소스참조)의 경우
D2,D3,D4 핀을 GND에 연결하거나 (내부 Pullup되므로 별도 저항없어도 됩니다)
A0,A1,A2 핀을 5V에 연결하는 순간 카메라 촬영이 되고,이미지가 메모리에 저장됩니다.
이때 LED가 깜빡거리고, 저장이 끝날때까지는 재촬영이 안됩니다.


저장된 JPEG이미지
초기 제공되는 펌웨어의 경우,
저장된 이미지는 001.TXT 와 같이 확장자가 TXT로 저장되는 문제가있으며 이를 PC에서 JPG로 변경하셔야 이미지 확인이 가능합니다. 하지만 새로 제공되는 소스코드로 재프로그래밍 하시면 JPG확장자로 저장되므로 꼭 업그레이드 하시기 바랍니다.


주의사항:
보드가 켜있는 상태에서 메모리카드를 뽑지 마세요! 메모리 상태 및 보드 펌웨어 상태가 손상될 수 있습니다.
이경우 보드 펌웨어를 재프로그래밍하고 메모리를 재 포맷해야할 수 있습니다.


 

 

릴레이로 가전기기 제어하기

아두이노로 LED를 제어하여 ON/OFF 제어를 해보신 분들이라면 주변에서 널리 사용되고 있는 가전기기들도 ON/OFF 제어를 해보고 싶은 마음이 드실 겁니다. 이때 사용되는 전자부품으로 릴레이(Relay) 입니다.  보통 릴레이라고 하면 코일이 감겨진 전자석에 제어 전류를 흘려주면 그 자력으로 스위치의 접점부가 ON/OFF 되도록 설계된 기계식 릴레이가 많이 사용되고 있습니다.

 

 

사진.코일형 릴레이


조금? 다른 릴레이 SSR


오늘 실험에선 보통의 릴레이와 동일한 기능을 해주지만 좀더 사용하기 쉬운 SSR이라는 재밌는 전자부품을 사용하였습니다.
반도체 기술의 발달로 기계식 코일내장형 릴레이의 기능을 반도체 소자로 대체한 것이 SSR(Solid State Relay; 무접적 반도체 릴레이)입니다.  상대적으로 좀더 비싼편이지만 사용의 편리성과 안정된 성능으로 전기회로에 익숙치 않은분들이 가전기기의 제어용 릴레이로 사용하시기 좋은 부품입니다.

하지만, SSR도 용도별로 수많은 종류의 제품이 있어서 고르기가 쉽지만은 않습니다.
본 글에서는 4~32V의 직류 전원으로 240V 15A 까지의 교류 부하를 제어할 수 있으며, 납땜 작업 없이도 전선을 체결할 수 있는 볼트 결합단자가 제공되고, 보호 커버까지 장착된 SSR 제품을 선정하여 사용하였습니다.

 

 

 

사진. SSR 저전압(4~32V) 직류로 고전압 교류(240VAC) 부하를 제어하는 제품예

시중엔 이 제품보다 저렴한 제품이 많이 있지만, 일단은 사용하기 쉽고 편리한 제품의 사용을 추천드립니다.

SSR 의 특징
 .기계식 접점이 없으므로 접촉시 발생되는 노이즈가 없고 내구성이 우수합니다.
 .제품에 따라 매우 낮은 전압(가령 4~32V 직류)로 제어 할 수 있습니다.
 .코일형에 비해 상대적으로 매우 작은 전류만 소모합니다.
 .부하측 회로와 제어회로와의 우수한 절연성


릴레이 구동 회로

기계식 접촉식 릴레이를 사용할 경우 코일에 의한 역기전력이나 구동전류의 고려가 필요해지므로 제어측  회로가 좀더 복잡해집니다.  SSR의 경우 보통 입력신호측과 부하측이 전기적으로는 절연되어있고 광신호만 전달되므로 코일에 의한 역기전력이나 부하측과의 전기 절연에대해 고려할 점이 적어 회로가 매우 간단해 집니다.  6V건전지로 구동되는 스위치를 연결하거나 아두이노 같은 마이크로 콘트롤러의 디지탈 출력단자(5V출력)를 그대로 직결할 수 있습니다.


 

 

그림1. SSR로 전등 제어하는 초간단 회로도

주의 사항.
본 회로는 저전력 소모용 가전기기나 전등의 제어를 위한 것이며, 고전력 및 코일형 기기를 제어하는 경우 부가적인 안정화 회로가 필요할 수 있으며 고전류 구동시 방열을 위해 SSR의 밑면을 히트싱크(방열판)에 결합하여 사용해야 합니다. 또한, 전원 플러그와 소켓에는 안전을 위해 접지선까지 연결해 주실 것을 당부드립니다.


실험1. 6V건전지와 스위치로 220V 전등 ON/OFF하기

소개해 드렸듯이 입력측에 4~32V의 직류전압을 가하면 릴레이가 연결되고 교류회로가 작동되게 됩니다.  랜턴에 많이 사용되는 6V 건전지로 전등을 제어해 보는 장면입니다. 가장 단순한 회로의 예입니다.

실험2. 아두이노로 220V 전등 ON/OFF 제어하기

아두이노를 통한 제어도 원리상 동일합니다.  아두이노의 디지탈 출력핀에 High를 출력하면,  약 5V 전압이 출력됩니다. 그대로 SSR의 입력측에 연결해주면 LED를 ON/OFF하듯이 220V 전등이 ON/OFF 되게 됩니다.


너무 간단하죠 ^^.
하지만 220V는 간단치 않습니다. 잘못 만지면 크게 다치거나 돌아가실 수 있으니 주의해서 다뤄야합니다.
아래의 구성 예는 참고만 하시고, 스스로 충분히 안전에대한 준비가 되셨을때 스스로 충분히 검증을 하신 후 시도하시기 바랍니다.


주의사항 및 경고. 
본 글의 내용은 오류가 있을 수 있으며, 초보자들이 실습을 하기위해 필요한 모든 사전지식을 포함하고 있지 않습니다.
220V 교류 전원을 부주의하게 다루면 크게 다치거나 생명을 잃을 수 있습니다.  적절한 경험과 사전지식을 탐구한 이후에 주의하여 시도하시기 바랍니다.  여러분이 행한 실험에 대하여 저자는 어떠한 책임도 질 수 없습니다.


릴레이로 제어되는 콘센트 플러그 세트 만들기

이하, 위의 동영상에서 사용된 릴레이로 제어되는 콘센트 플러그를 만드는 방법을 소개해 드립니다.


 

 

1단계. 기본 재료:

플러그 암수 세트, SSR, 규격에 맞는 압착단자, 교류220V용 케이블(1.5mm 이상)

도구: 니퍼와 플라이어(뺀찌), 드라이버

 

 

 

플러그 부분에 부하선을 결합해 줍니다.

 

 

 

전선이 빠지지 않도록 매듭을 묶어주면 빠지지 않게됩니다. (매듭은 속에있어서 안보여요;;)

 

 

 

전용 압착단자를 이용하면 편리합니다.

 

 

 

 

 

 

플라이어로 꽉 눌러줘야 합니다.

 

 

 

 

 

 

 

암플러그 쪽에도 전선을 결합니다.

 

 

 

전선빠질 공간을 칼로 깍아냈습니다.

 

 

 

보통 잘라낼 수 있도록 미리 공간이 마련되어 있습니다.

 

 

 

이렇게 연결할까나~

 

 

 

 

 

요렇게 연결해 주시면 볼트가 풀려도 전선이 빠져나가는 사고는 미연에 방지할 수 있겠죠?!

 

 

 

회로도 보시면 어떻게 연결되는지 쉽게 아실 수 있으시죠?

 

 

 

건전지로 구동되는 아두이노라도 Okay입니다.

 

 

 

아답터 전원도 물론 좋구요

 

 

 

 

 

 

 

 

 

 

 

완성된 상태 여러장면들...


관련 제품 링크
 .무접접 반도체 릴레이 SSR
 .아두이노 Arduino
 .450/750V 기기배선용 절연선
 .전원플러그 220V형
 .전원 콘센트 1구형

추가 정보
아트로봇샵에서 취급중인 기계식 릴레이E형 제품의 사용법을 궁굼해하시는 분들이 계셔서 연결 예시 이미지를 추가로 올려봅니다.  예제에서는 12V전원에서 구동되는 모터를 아두이노에서 제어하기 위해서 릴레이E형과 아두이노를 연결한 모습입니다.

 

 

추가안내 사항.  2014.8.23일

전기기사님께서 댓글로 알려주신 정보입니다.  제가 예제소개시 사용한 전선의 색상(녹색)이 적절한 선택이 아니었던것 같습니다.  녹색 전선은 전기공사시 접지용도로 사용되어야하는 규칙이 있다고 하네요.  전기배선함이나  전등 스위치 단자를 열어보면 검정색선을 보통 사용하는것을 봤는데  나름대로 규칙이 있는것 같습니다. 이런 사항도 파악하셔서 꼭 지켜주시는것이 좋을것 같습니다.  좋은 정보 알려주신 익명의 전기기사님께 감사드립니다!!!

참고로 저전압을 사용하는 전자회로에서는 검정색은 GND 접지선으로 보통 사용됩니다.  고압을 사용하는 전기선과 서로 많이 다르네요 TT    이와 관련하여 어떤 역사적 스토리가 존재하는지 궁굼해집니다....   

 

 

 

+ Recent posts