모드킷이 오픈공개 베타 테스트를 시작했습니다.

모드킷은 그래픽 언어로 프로그래밍하는 개발환경을 웹브라우져에 탑재하는 신선한 아이디어를 바탕으로 범용 아두이노 보드 및 자체 개발된 MODKIT 모터쉴드 등의 하드웨어를 손쉽게 제어하는 통합환경을 제공하고 있습니다.

일전에도 소개해 드린적이 있지만, 비공개였으므로 사용을 못해오다가 오늘 직접 테스트를 할 수 있게되어 간단한 테스트 작동을 해봤습니다.  정말로 작동이 되네요 ^^.

아직은 Beta Preview 상태입니다. 앞으로 이것저것 개선이 많이될 듯 합니다.

체험해 보시려면 우선,

http://www.modk.it/

에 접속하세요

Modkit is an in-browser graphical programming environment for microcontrollers. Modkit allows you to program Arduino and Arduino compatible hardware using simple graphical blocks and/or traditional text code. Modkit's graphical blocks are heavily inspired by the Scratch programming environment developed by the Lifelong Kindergarten Group at the MIT Media Lab.
Getting Started

Our first public previews are live! We know many of you have been following the project and can't wait to try it out. If you're a PC or Mac user, you can go ahead and download the desktop component that you'll need to connect to your device from the online Modkit editor and get started. A Linux version is coming soon so check out our blog to follow our progress. Read More or view the old site.


OPEN ID를 사용하여  google id를 그대로 사용가능합니다.

처음 실행하시는 분이라면 지금은 모드킷 UI를 실행해도 아두이노와 연동이 안됩니다.

모드킷의 UI는 최신의 주요 웹브라우져만으로도 가능하지만
하드웨어 연동을위한 데스크탑 컴포너트의 설치가 필요하기 때문입니다.

관련 컴포넌트는

http://www.modk.it/download

  에 가서 다운로드받아서 설치합니다.

헉, 설치파일의 용량이 43.8MB나 되네요;;


현재  MAC과 Windows를 지원하네요  리눅스도 준비중이랍니다.

(2011.5월 3일 현재)  UNO, Duemilanove, Diecimila, 모터쉴드, LilyPad 를 지원합니다. 다른보드도 지원계획중이라네요
지원 브라우져는    Chrome, Safari 3.1+ ,Firefox 3.5+  입니다.  IE는 안되나봅니다;;


레고 블럭을 쌓는 형태로 프로그래밍을 하여 모터쉴드를 제어해보는 동영상을 참고하시기 바랍니다.





오늘은 물라스틱(물 플라스틱 Plastic)을 소개해 드리겠습니다.
뜨거운 물로 녹여서 몇번이고 재가공하여 사용할 수 있는 무악취, 무독성의 DIY 프로토타입 제작용 플라스틱입니다.

플라스틱은 그 가공성이 뛰어나고 그 물성도 다양한 용도에 맞게 개발되어 그 어떤 재료보다 많이 활용되는 소재들의 대표명입니다.  하지만 보통 플라스틱 가공을 집에서 하는것은 여러가지 이유로 어렵습니다.  재료 입수도 어렵지만 제조방법 및 도구, 제조 중 발생하는 해로운 가스등의 문제로 개인이 자작용으로 사용하는것은 곤란합니다.

하지만, 일부 특수 플라스틱의 경우 온도만 적절히 높혀주면 쉽게 가공이 가능하고, 몇 번이고 재 가공이 가능한 경우도 있습니다.

드디어 로보밥 얼뚱연구소에서도 그중의 한 제품을 입수하여 테스트를 진행해봤습니다.  유사한 제품들이 해외에서 제조 판매되고 있지만, 제품마다 차이가 있을 수 있고 공식적인 한국어 명칭도 없는것 같아, 물로 녹여서 손쉽게 가공이 가능한 특징을 일컬어 물라스틱(물 플라스틱이란 의미로)이란 이름을 정해봤습니다.  일반적으로 유사기능의 플라스틱을 엔지니어링 플라스틱이나 써모플라스틱이란 용어로 칭하기도 하지만 조금 다른 의미이거나 소재의 차이에따라 큰 차이가 있으므로 마찬가지로 정확한 명칭이라 할 수는 없겠네요. 물라스틱~  제 느낌엔 나쁘지 않네요!

물라스틱 사용해보기

원 재료의 형상
본 글에서 소개해 드릴 제품의 경우,  쌀 알 크기의 흰색 알갱이 형태로 가공되어 있습니다.
60~70도 정도로 가열되면 투명해지며  말랑 말랑해져서 원하는 형태로 가공할 수 있게 됩니다.
보통은 뜨거운 물에 담가두고 기다리면 가공하기 좋게 변하지만, 원하면 다른 가열기구를 이용할 수도 있습니다.

[사진1] 물라스틱 알겡이들

준비물

  • 물라스틱 50g 
  • 가열기구
  • 가열용 용기
  • 집게(드라이버 등)
  • 온도계(없어도 될 듯)

물라스틱 요리 시작!

1. 물 데우기

몇 달전, 낡아서 버리려던 전열 냄비를 안버리고 남겨두길 잘했던것 같습니다.
전기 냄비? 비슷한 제품인데 어느정도 온도설정 기능도 있어서 물라스틱 가공용으로 적절한것 같네요
물을 넣어주고 가열해 봤습니다.

[사진2] 재사용 되는 물라스틱 부스러기들

2. 재료넣고 보글 보글 조리하기^^.

보글 보글 끓는 물에 물라스틱 알겡이들을 넣어주고 드라이버로 휘졌는 느낌이 마치  요리하는 기분이네요 ^^.
[사진2]은 이미 한번 가공되었던 재료 부스러기를 녹여서 재사용하는 장면입니다.(녹여서 재 가공이 정말 가능하네요)
처음엔 제빵용 비스킷 틀에서 재료를 녹이려했지만, 그냥 냄비에 넣고 녹이는게 반응이 빨라서 좋더군요
온도만 적절하면 1분도 안되어 흰색이 없어지고 투명해지며 서로 엉겨붙는 상태가 됩니다.

[사진3]가열되어 투명해진 물라스틱

이제 집게를 이용하여 재료를 꺼냅니다.
이상하게 제 경우엔 꺼내자 마자 손으로 만져도 그다지 뜨겁지는 않더군요
하지만 화상에 주의하시기 바랍니다.

 

이렇게 투명하고 말랑거리다가

 

식으면 흰색으로 변하면서 단단해집니다.

 

PET병 사용하시면 안되십니다!

 

왜냐하면 들러붙습니다;;

주의. 처음엔 마땅한 작업 용기가 생각나지 않아 생수통(PET)에 데운물을 넣고 재료와 혼합하는 방법을 썼었는데요
어떻게 되었을까요?  여러분은 이러시면 아니되옵니다.
PET와 물라스틱이 서로 좋다고 들러붙어서 어지간해서는 떨어지지 않네요 ^^.
이 녀석들 떼어 놓으려고 시간좀 소비했습니다. ;;  

참고로 아무리 무독성이라고는 하지만, 음식 조리용 기구를 이용하는건 비추천드립니다.
물라스틱을 녹이면서 별다른 냄새나 불쾌함은 없었지만, 그래도 안전을 위해 사용하지 않는 기구들을 이용하시기 바랍니다.
물론 입에 넣는것도 삼가하시고요, 아이들에게는 주지 마세요;;  제가 성분 조사를 한건 아니니까 먹어도 안전하다고 보증 할 수는 없네요

3. 모양 만들기

이제 말랑 말랑해진 물라스틱을 원하는 모양으로 가공합니다.
제가 화학약품 냄새에 민감해서 화장품냄새만 맡아도 머리가 아픈경우가 많은데요
보글보글 끓이고 손으로 만지작 거려 봤지만 불쾌한 냄새같은건 나지 않았습니다.
그리고 손에도 들러붙거나 색이 묻어 나는일도 없는 정말 깔끔한 재료네요
왁스나 기타 조형용 점토들의경우 냄새와 끈적임등으로 사용감이 별로 좋지 않았던 기억이 있습니다.

글루건 등으로 부분 가열하여 모양을 잡을 수 도 있으며,
케스팅 틀에 녹여넣어서 형태를 만들 수 도 있습니다.

제경우 아직 별다른 디자인이 없이 만지작 거리다가 30 x 30 x 30 mm 크기의 큐브와 두개의 연결된 고리를 만들어 봤습니다.
총 사용된 재료량은 50g 정도입니다.  큐브는 별다른 용도가 없고;;, 플라스틱 고리는 만들어 놓고 보니
플라스틱 물성 측정용으로 좋을것 같아서 테스트를 해봤습니다. 생각 이상의 결과를 보고 저도 놀랐습니다.
아래에 플라스틱 고리 테스트를 참고하시기 바랍니다.

[사진4] 50g으로 만든 큐브와 연결고리


[사진5] 내구성 테스트에 사용된 물라스틱 고리

4. 물라스틱의 인장력 테스트

만들어 놓은 물라스틱 고리를 보고 생각 난 것이 이 고리가 얼마나 무게를 지탱할 수 있을까? 였습니다.
그래서 손으로 힘껏 당겨봤더니 끄떡도 안하더군요, 그래서 좀더 구체적인 실험 결과를 얻기위해
삼다수 12Liter(약 12Kg)들이 팩을 고리로 들어올려 봤습니다.
멀쩡하네요...  흔들어 봐도 마찬가지였습니다.
그 이상의 무게도 버틸것 같네요  아마도 제 몸무게정도는 무리없이 버틸 기세였습니다.
참고로, 굵기가 10mm가 안되는 고리였으며 얼마의 힘까지 버티는가? 는  안해봐서 모르겠습니다.;;


[사진5] 인장력 테스트에 사용된 물라스틱 고리와 12L생수팩

[]12Kg 무게 지탱 테스트 장면


[동영상] 삼다수 고리 테스트

 

 

 

 

 

 

 

 

 

로보밥 아두이노 튜토리얼(Robobob Arduino Tutorial) 첫번째 이야기



RT1. 아두이노 설치하고 LED Blink 깜빡이 프로그래밍 하기


다루는 내용
. 아두이노 프로그래밍 환경(스케치) 설치하기
. PC에 아두이노 보드 인식시키기
. 프로그래밍한 뒤 아두이노에 전송하여 작동시키기

개요:
본글은 아두이노를 처음 사용하는분들을 위한 안내문입니다.
모든 아두이노 보드의 설치작업은 유사하며, 사용되는 USB시리얼 통신용 칩에 따라 드라이버 파일이나 inf설정 파일만 다릅니다. 본 글을 통해 아두이노 프로그래밍 환경인 스케치(Sketch)를 설치하고, 아두이노 보드를 PC에 인식시킨 후 아두이노에 기본 장착된 LED를 제어하는 프로그램을 전송하여 실행시키는 과정까지 다루고 있습니다.
아마도, 마이크로콘트롤러와 프로그래밍에 대해 아무것도 모르시던 분들도 1시간내에 아두이노에 장착된 LED를 제어해보고 그 가능성을 경험해보실 수 있을실 겁니다.

순서
.아두이노 스케치를 다운로드 받아서 설치하기
.아두이노를 PC에 인식시키기
.스케치(아두이노 개발환경)의 실행
.예제 소스 불러오기(Blink; LED깜빡이)
.예제 컴파일 및 아두이노에 전송
.작동 상태 확인

자, 그럼 차근 차근 하나 둘 순서대로 진행해 보겠습니다


1단계. 준비물 확인

준비물

CASE 1 :: 아두이노 보드 자체에 USB시리얼 변환기능이 포함된 제품의 경우
 .아두이노 UNO

, Mega2560

 .USB 케이블 (A to B 타입단자)  
CASE 2 :: 아두이노 FIO, Pro, Pro mini, LilyPad  등(내장 USB시리얼변환기가 없는 경우)
 .아두이노 보드 [

아두이노 리스트

]
 .FTDI USB시리얼 변환기 [

제품선택 가이드

]
 .A to mini-B 타입 USB케이블 [

 

]

아두이노는 Linux , Mac OS, Windows 모두를 지원하며 본 글은 Windows 환경의 경우를 기본으로 소개합니다.


2단계. 아두이노 개발환경 설치하기

그림을 그리듯 프로그래밍도 Sketch 하세요!

아두이노 공식 홈페이지인

Arduino.cc

에 가보시면, 아두이노(Arduino) 소개문이 있습니다.
이를 한 줄로 요약하면, 아두이노란 오픈소스 전자기기 프로토타입 플래폼이라는 얘기인데요, 간단히 말하자면, 전자기기 개발에 사용하는 소프트웨어와 하드웨어가 공개되어 있다는 겁니다.

바로 지금 설치하려는 Sketch(스케치) 프로그램이 아두이노 개발에 사용되는 공개형 개발환경입니다.
무료일 뿐만 아니라 소스코드도 공개되어 있습니다. 아래의 링크에서 최신버전을 다운로드하시기 바랍니다.

http://arduino.cc/en/Main/Software

 

사용하시는 OS용 파일을 선택하여 다운로드 합니다. 본 예제에서는 Windows 를 선택합니다.


다운로드 받은 파일은 zip압축파일이며 이를 원하는 위치에 압축 해제합니다.
(*가령 윈도우의 경우 파일명은 arduino-0022.zip(87MB) 이며 버전이 업그레이드되면 제목의 숫자가 증가됩니다.)

압축을 해제하면 arduino-0022 같은 폴더가 보이며 그안에 arduino.exe 실행 파일이 보입니다.
아두이노 개발환경(스케치)은 설치과정 없이 곧바로 실행할 수 있게 배포되므로 이것으로 설치과정이 완료되었습니다. ^^.
arduino.exe 를 실행하면 아두이노 개발환경이 열립니다. 일단 종료해 둡니다.

3단계. PC에 아두이노 연결하기

UNO와 대다수의 아두이노 보드들은 PC와 연결시 별도의 전원이 없이 작동이 가능합니다.
즉, USB케이블을 통해 시리얼통신 신호를 주고 받는것과 더불어 전원도 공급받게 됩니다.

호환되는 USB케이블로 PC와 아두이노를 연결합니다.
FIO나 Pro mini같은 아두이노의 경우 FTDI USB시리얼 변환보드를 경유해 PC와 연결합니다.
전원 ON상태 표시등(초록색 LED)에 불이 들어옵니다.


4단계. 드라이버 설치하기

아두이노(가령 UNO)와 PC를 케이블로 연결하면, 잠시 후 새장치를 발견하여 드라이버를 설치한다는 메시지가 나오게됩니다.
그리고 몇 초 동안 짱구를 돌리며 열심히 노력하던 우리의 윈도우OS는 결국 자동인식에 실패했다는 메시지를 남기곤 숨어버립니다. (단, 윈도우 환경과 보드 종류에 따라 드라이버를 자동인식하여 설치하는 경우도 있습니다.)

결국 여러분이 직접 드라이버를 골라서 설치해 주셔야하는데요,  많은 분들이 이미 이 작업에 익숙해져 있으실 겁니다. 가령 아래의 순서대로 하시면 됩니다.  (다른방법을 사용하셔도 되며, 드라이버 위치만 참고하시면 됩니다.)

.윈도우 시작 > 제어판 > 장치 관리자("장치 및 프린터" 그룹)  를 엽니다.
.장치리스트에서 "포트"를 선택하면, "Arduino UNO (COMxx)"라는 장치명이 보입니다.
.해당장치를 우측버튼으로 클릭한 뒤 "드라이버 업데이트"를 선택합니다.

.직접 드라이버 검색위치지정을 선택합니다.
UNO와 Mega2560 의 경우:
  > 2단계에서 다운로드 후 압축해제한 arduino-00xx 폴더내에 있는 drivers 폴더를 선택
Pro, Pro mini, FIO, LilyPad등의 FTDI시리얼 보드 사용제품의 경우:
  > drivers폴더안에 있는 FTDI USB Drivers 폴더를 선택

.위도우가 UNO 장치 인식을 완료하게됩니다.

장치 설치가 완료된 이후엔 장치관리자 "포트" 장치 리스트에서 인식된 아두이노 보드의 COM번호를 알아두는게 중요합니다.


4단계 순서대로 다시 보기
(드라이버 설치 과정 캡쳐이미지, WINDOWS 7 기준)
드라이버 설치과정을 아래의 캡쳐된 이미지 순서대로 다시한번 살펴봅니다.


아두이노와 PC를 연결합니다.
가령, UNO + USB Cable + PC USB 포트
가령, Pro mini + FTDI USB 시리얼 변환기 + USB mini Cable + PC USB 포트


윈도우가 장치를 발견하고 드라이버 자동설치를 시도합니다.

 

 

드라이버 자동설치에 실패합니다.

(아두이노 종류와 OS에 따라 자동설치 되는 경우도 있습니다.)

참고로, UNO와 Mega2560의 경우 MAC OS와 Linux에서 자동 인식된다고 합니다.

정상적으로 장치설치가 완료되면 포트(COM & LPT) 리스트에 등록되게 되지만,

정상인식이 되지 않아 장치관리자 "기타장치"에 Arduino UNO란 이름으로 등록되어있습니다.

 

다음의 절차를 통해 장치를 정상 인식시킵니다.

 

장치인식을위해 해당 장치(가령 Arduino UNO)를 우측버튼으로 클릭 후, 드라이버 소프트웨어 업데이트를 선택합니다.

 

자동검색을 하지말고,  수동으로 컴퓨터에있는 드라이버 찾아보기를 선택합니다.

 

찾아보기 버튼을 누르고, 해당 장치드라이버가 있는 폴더를 찾아 지정해줍니다.

 

UNO와 Mega2560의 경우, 2단계에서 설치한 아두이노 프로그램 폴더(arduino-00xx)내에 있는 drivers 폴더를 선택해줍니다.

FIO, LilyPad, Pro, Pro mini등은 drivers폴더안에 있는 FTDI USB Drivers 폴더를 선택해줍니다.

 

*참고사항: UNO와 Mega2560은 dirvers폴더에 들어있는 inf(설정)파일 한개만 있으면 됩니다.

 기타 구형 아두이노들은 FTDI칩을 사용하므로 FTDI칩 인식용 장치드라이버 파일들이 필요합니다.

 

 

보안경고가 나오면 설치 허용을 선택합니다.

 

 

 

 

장치 인식이 완료되었습니다.

 

장치관리자 > 포트 정보를 보면  Arduino UNO(COMxx)와 같이 새로운 COM포트로 등록된 것을 확인할 수 있습니다.

컴퓨터 환경에 따라 COM번호는 다른 번호로 할당될 수 있습니다.

위 과정은, Windows OS 버젼별로 약간의 차이가 있지만 거의 비슷합니다.

자, 이제 아두이노 프로그램 설치와 장치인식이 모두 완료 되었습니다.
이제 본격적으로 프로그래밍을 해보고 아두이노에 전송하여 작동시켜 보도록 합시다!


5단계. 아두이노 개발환경(스케치)을 실행합니다.

2단계에서 설치된 arduino.exe 를 실행합니다.
앞으로 자주 실행을 해야 하므로 단축아이콘을 만들어두면 편리합니다.

심플 담백한 스케치화면

6단계. 아두이노 보드종류 선택하기

'단순 무식한 컴파일러에게 아두이노의 종류를 알려주세요!'

아두이노 보드들이 많은 부분에서 호환성을 갖고 있지만, 구동속도( 8MHz, 16MHz),  전압레벨( 3.3V , 5V), 포트의 수, 프로그래밍 용량등의 차이가 있으므로 개발을 할때 이를 고려해 줘야 합니다. 스케치 개발환경에서 여러분이 사용하는 아두이노의 종류가 무엇인지 자동인식하지 못하므로 직접 보드 종류를 지정해 주는 과정을 꼭 하셔야합니다.

스케치 메뉴에서 Tools > Board를 선택한 뒤 목록에서 자신의 보드명을 찾아서 선택해 줍니다.( 가령, Arduino UNO)

 

7단계. 시리얼 포트 선택하기

'스케치에게 아두이노와 통신할 COM번호를 알려줍니다'

PC와 아두이노간의 프로그램 전송 및 데이타통신을 위해서는, 4단계에서 아두이노 통신용으로 등록된 COM번호(위 경우 COM9번)를 지정해줘야합니다.

스케치 메뉴에서 Tools > Serial Port를 선택한 뒤 연결된 아두이노 포트번호를 지정합니다.

연결된 시리얼 장치가 여러개일때 아두이노의 COM번호 식별이 안될경우, 아두이노를 케이블에서 제거할때 목록에서 사라지는 COM번호가 아두이노 할당 COM번호입니다. (4단계에서와 같이 장치관리자에서 포트 리스트를 확인해도 됩니다.)




8단계. Blink 예제 소스코드 불러오기

스케치 메뉴에서 File > Examples > 1.Basics > Blink를 선택하여 불러옵니다.
새로운 창이 뜨면서 아래와 같은 간단한 예제소스코드가 불러들여지게 됩니다.

아래의 소스는 아두이노 13번핀을 1초마다 ON, OFF를 반복하게 합니다.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {               
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);    
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}


9단계. 컴파일 및 아두이노에 전송하기

 

 

verify & compile 하기 (생략 가능)
소스코드를 검증하고 컴파일하기 위해  재생버튼같이 생긴 verify & compile 버튼을 눌러줍니다.

Verify/Compile

참고로, 컴파일이란 사람이 이해가능한 소스코드를 기계어로 번역하는 과정입니다.
컴파일을 하기전에는 아두이노의 종류에따라 일부 설정을 달리하여 컴파일하므로 자신이 사용중인 아두이노 보드의 종류를 잘 설정(6단계 참고)해줘야합니다. 보드 종류가 틀리면,  컴파일 결과를 전송하거나 전송 후 작동시 문제가 될 수 있습니다.
앞으로 소스코드를 수정한 뒤 검증이 필요할때마다 이 버튼을 눌러주면 소스코드 검증이 이뤄지고 문제시 오류메시지를 확인할 수 있습니다.

컴파일 과정

컴파일이 완료되면 Done compiling 메시지가 뜨고 하단 메시지창에 프로그램 용량이 표시됩니다.

UNO가 약 30KB 프로그램 용량을 지원하므로 1/30 정도 크기입니다.

 

upload 하기
이제 컴파일된 정보를 아두이노로 전송하기위해 upoad 버튼을 눌러줍니다.  ctrl-U 단축키를 눌러도 됩니다.

Upload to I/O Board

참고로, verify & compile 버튼을 누르지 않고 곧바로 upload버튼을 눌러도 됩니다.
(이경우, 자동으로 컴파일 과정이 수행된 후 업로드가 이뤄지게 됩니다. 그리고, 소스코드 수정 후 곧바로 upload 버튼을 눌러주는 것 보다는 verify버튼을 눌러서 코드검증을 한 뒤에 문제가 없는경우 upload하는 것을 추천드립니다. )



10단계. LED Blink - 발광다이오드의 깜빡임 확인하기


upload버튼을 누르면 아두이노 시리얼통신 관련 Tx RX  LED들이 빠르게 점등되는것 을 볼 수 있습니다.
아두이노와 PC가 서로 정보를 주고(Tx, Transmit) 받기(Rx, Receive) 하면서 컴파일된 정보를 전달하는 과정입니다.
이과정은 UNO의 경우 5초도 안걸립니다.

소스코드에서 정의한대로 아두이노 보드를 보면 LED 하나가 1초 주기로 점등하는 것을 확인 할 수 있습니다.
UNO를 비롯한 최근의 모든 공식 아두이노 보드들은 디지탈 13번 핀에 LED와 저항이 달려있으므로 별도로 LED를 장착하지 않아도 간단한 LED 제어 테스트를 해볼 수 있습니다.

unoBlinking.swf
다운로드

UNO LED Blink 예제 실행 장면

11단계. 문제처리
 내용추가 예정


12단계. 참고사항

. LED사용할땐 꼭 저항과 함께 사용하세요
 직접 원하는 핀에 LED를 장착하여 작동하려면 저항과 함께 연결해 주시기 바랍니다.  [

]


손바닥 프린터 사용기

오늘도 재밌는 제품을 소개 시켜드리겠습니다.
누구보다도 제가 갖고싶었던 아이템인지라 손에 잡히는 날(오늘)로 사용테스트를 해봤습니다.
예전부터 손바닥만한 휴대형 프린터를 갖고 싶었는데 아직 세상에 그런 제품이 안나왔네요.
대신, 도처에서 이미 많이 활용되고 있는 열전사 방식의 소형 프린터를 입수하게 되었습니다.
여기서 소개하는 제품은 TTL 레벨(5V) 시리얼 통신 제어로 간단히 제어가 되는 10만원 이하의 일명(자칭)

손바닥 프린터

입니다.

쉽게말하면, 전원선 빼고 전선 2가닥만 TX/RX핀에 연결해주면 아두이노 같은 손바닥 컴퓨터로 곧바로 제어가 가능합니다. 정말 군침도는 아이템이네요 ^^.

간단한 문자 출력과, 바코드 출력, 비트맵 출력이 가능하므로 다양하게 응용이 가능합니다.

참고로, 아두이노 UNO는 하드웨어 시리얼 통신포트가 1개 있으나, 본 예제에선 편리한 테스트를 위해서
하드웨어 시리얼 통신포트는 PC와의 연결에 사용하고, 실제 프린터와의 통신은 소프트웨어 시리얼을 사용하였습니다.
이렇게하여 PC측에서 사용자 입력을 받아서 프린터 테스트를 할 수 있게됩니다.
물론, PC없이도 아두이노 만으로도 모든 기능의 작동이 가능합니다.

※ 소프트웨어 시리얼 이란?
 아두이노와 같은 마이크로 콘트롤러들을 대게 하드웨어 시리얼포트를 제공합니다.
하드웨어 지원이라 속도,안정,사용편리성이 모두 우수합니다만 개수 제한이 있으며
아두이노 UNO의 경우 1개만 제공됩니다.(참고로, Mega 2560은 4개 지원)
이럴때 여러기기와 시리얼 통신이 필요할 경우에 사용하는 것이 소프트웨어 시리얼입니다.
범용 디지탈핀을 소프트웨어적으로 제어하여 시리얼 통신을 가능케하는것이므로,
성능과 충돌가능성에 좀더 제약이 있는편입니다.
하지만, 적절히 사용하면 편리하게 이용할 수 있겠죠.
현재 아두이노 스케치에서도 기본적으로 소프트웨어시리얼 라이브러리가 포함되어 있습니다.
본, 예제에선 기본제공 라이브러리가 아닌 다른버전의 라이브러리를 사용하므로 따로 설치 해줘야 합니다.


자 이제, 정말 되는지 예제소스를 바로 실행해봤습니다.
아래의 절차를 참고하시기 바랍니다.


A. 하드웨어 준비

 1. 전원선 연결(vcc,gnd)
프린터 + - 전원선을 5V ~ 9V 전압에 연결해줍니다. (5~9V 정전압, 최소  2A 이상 전력 요함)
프린터 자체 전력소모가 큰 편이므로 PC측 USB케이블로 공급되는 전원을 사용하면 절대 안되고
전용 아답터전원을 이용하시기 바랍니다. 제 경우 테스트 전용 PC파워에서 공급되는 5V전원을 사용하였습니다.
(작동시 1.3A정도의 전류가 소모되므로 최소 2A이상 지원되는 전원 요함, 9V 1A급 전원에서 정상작동이 안되는것을 확인하였습니다.)


 2. 통신선 연결(tx,rx,gnd) 

아두이노 하드웨어 시리얼포트로 프린터와 연결할 경우,
프린터 TX단자 출력선을 아두이노 측 RX입력(D0)에 연결하고
프린터 RX단자 출력선을 아두이노 측 TX출력단자(D1)에 연결합니다.
GND는 아두이노 GND에 연결합니다.

하지만, 본 사용기(예제소스)에서는 아두이노 하드웨어 시리얼포트(D0핀, D1핀)를 PC측 디버그 통신용으로 사용하므로
프린터 TX단자 출력선(녹색)을 D2(소프트웨어 RX핀)에 연결하고
프린터 RX단자 출력선(노란색)을 D3(소프트웨어 TX핀)에 연결합니다.
프린터 GND와 아두이노 GND를 공통 연결합니다.

참고로, 여기서, D2, D3은 아두이노 디지탈 핀번호이고, 소프트시리얼 핀 정의에 따라 다른 핀을 사용할 수 도 있습니다.

참고로, 소프트웨어 시리얼 통신을 위해서 본 예제는 NewSoftSerial 라이브러리를 사용했습니다.
라이브러리 이용법은 아래에서 설명


B. 예제소스 실행 준비

 제품소개 페이지에 링크된 아두이노 예제 소스를 다운받아서 살펴봅니다.
 아마도 예제를 실행하면 오류가 뜰겁니다.
 본 예제는 특정 소프트웨어 시리얼 라이브러리를 사용하므로 NewSoftSerial 라이브러리를 설치해줘야 정상 작동하기 때문입니다.
물론, 응용에따라 하드웨어 시리얼포트를 사용하거나 다른 라이브러리를 사용할수도 있습니다.
 위 아두이노 예제소스를 테스트하려면 아래와 같이 준비해야합니다.
 
 일단, pbe소스 상단에있는 안내문을 주의깊게 읽어주시기 바랍니다.
 
 NewSoftSerial 라이브러리는 아래의 링크에서 다운받을 수 있습니다.

 
.newSoftSerial 소개 페이지 [링크]
.newSoftSerial 라이브러리 [파일링크]
 
※ 라이브러리 설치방법
  다운로드 받은 라이브러리(zip파일)의 압축을 해제하면 나오는 NewSoftSerial폴더를,
  아두이노 개발환경(Sketch)폴더내에 있는 libraries폴더안에 복사합니다.
 
  가령, arduino-0022\libraries\NewSoftSerial 의 경로로 복사해주면 됩니다.
  구조가 이해가 안되면 이미 있는 라이브러리 폴더의 파일들과 비교하여 복사하시기 바랍니다.
  이제 스케치를 닫았다 다시 엽니다.
  새로운 라이브러리가 인식되면 스케치 예제에 NewSoftSerial 예제가 등록되니 참고바랍니다.
 
이제 예제를 실행하면 정상 작동됩니다.
물론, 말안해도 아두이노 종류와 포트번호는 정확히 지정해줘야 하는건 아시죠^^.
 

C. 프린터 작동 테스트

컴파일과 전송이 완료되면,  시리얼 모니터 창을 열고 통신 속도를 38,400으로 지정합니다.
 
아래와 같은 명령 메시지가 아두이노로 부터 수신됩니다.

Thermal Printer Testing
1) Print Hello World!
2) Type to print
3) Dull boy
4) Printer status
5) Reverse white/black
6) Print characters upside down
7) Adjust heat settings
8) Adjust print settings
9) Print factory test page
a) Print entire character set
b) Print numberic barcode
c) Print alpha barcode
d) Bitmap test
:

원하는 명령번호/알파벳을 입력하여 전송합니다.

특정 기능에따라,
가령 2)Type to Print같은 기능 수행시
시리얼 모니터 "no line ending" 을 carriage return등으로 설정해줘야합니다.

전압별 설정
사용 전압에 따라 heat interval 값을 다르게 세팅해야 합니다.
제 경우 5V전원을 사용했으므로 소스에서 heat interval을 5로 조절하였습니다.
위 값이 제대로 설정되지 않으면 작동이 제대로 되지 않습니다. 제 경우 다른 소스는 수정한것이 없습니다.
기타 상세한 옵션은 아두이노 소스 주석을 참고하시기 바랍니다.

문제해결
.제품소개 페이지상의 예제소스는 아두이노의 하드웨어 시리얼 핀(0,1번)을 PC와의 연결용으로 사용하고 프린터와의 통신은 softwareSerial을 이용합니다. 이곳에 프린터를 연결하거나 다른용도로 사용하시면 통신이 되지 않으니 필요시 소스를 수정하여 사용하시기바랍니다.
.명령전송 후에 약간의 미동만 있고 인쇄가 되지 않는다면,  전원의 허용전류가 부족하거나 위에서 말씀드린 전원에 따른 인수값 설정이 잘못된 경우입니다. 2A 이상의 전류를 지원하는 5~9V 전원을 이용하시고  주석부분의 설명을 참고하셔서 인수값을 조정하시기 바랍니다.
.USB케이블로 공급되는 PC전원만으로는 작동되지 않으며 아두이노와 PC에 무리를 줄 수  있으므로 반드시 프린터 독립 전원을 사용하시기 바랍니다.


비트맵 인쇄
80x80 points 크기의 비트맵 인쇄의 예는 아래와 같습니다. 
메뉴얼에서 DC2 * r n  타입 명령을 사용한 예입니다.

      //Bitmap example
      Serial.println("Print bitmap image");
     Thermal.print(18, BYTE); //DC2
      Thermal.print(42, BYTE); //*
      Thermal.print(80, BYTE); //r   (80줄을 의미합니다.)
      Thermal.print(10, BYTE); //n  (한줄의 폭: 10바이트는 80비트이므로 80개의 점 데이타로 대응됩니다.)

      for(int y = 0 ; y < 80 ; y++) {
        for(int x = 0 ; x < 10 ; x++){
          Thermal.print(0xF0, BYTE); //0b.11110000  
        }
      }

      Thermal.print(10, BYTE); //Paper feed
      Thermal.print(10, BYTE); //Paper feed

      Serial.println("Print bitmap done");





기술자료 링크:
 
테스트 사진 및 동영상들

 

 

 

 

 

 

 

 

 






오늘은 EL Wire를 소개해 드리겠습니다.

EL Wire라는 이름이 좀 생소합니다.  전시장이나 영화속에서 종종 등장하긴 합니다만 아직 대중화 된 소재는 아닌것 같습니다. 작동되는 모양새만 봐서는 그 역사가 100년이 넘은 네온등을 연상시키지만 구동원리나 사용법은 다릅니다. 네온사인 같이 유리관에 가스를 주입하고 고전압을 가하는 방식이 아니고 형광물질이 도포된 플라스틱 케이블을 사용하므로 좀더 활용성이 높아졌습니다.  이로인해 특수 장비 없이도 비교적 손쉽게 절단 및 길이연장을 하여 원하는 디자인 작업을 할 수 있게 되었습니다. 하지만 발광을 위해선 네온등과 마찬가지로 고주파 고전압 전력이 필요합니다.  가령 약 90V 2KHz 주파수의 전원을 가해주면 발광이 됩니다.  주파수와 전압이 커지면 더 밝아지고 반대로 작아지면 어두워집니다.

EL Wire를 구동하기 위해 필요한 전원은 전용 인버터를 사용하면 편리합니다. 가정에서 사용하는 12V아답터 직류전원이나 1.5V건전지를 승압 및 주파수 증폭하여 적절한 전원으로 변환해주는 장치가 EL Wire용 인버터입니다.

본 테스트에서 사용된 인버터는 12V 직류 아답터를 연결하여 사용하는 제품으로, 내장된 3단 스위치를 이용하여 작동모드(꺼짐/점등/항상켜짐)를 선택하여 사용할 수 있는 제품입니다.   직접 구성한 회로로 EL Wire의 작동을 콘트롤하려면 교류전원을 제어해주는 TRIAC 소자를 이용하여 제어할 수 있으며,  이를 위한 전용 콘트롤보드나 아두이노 쉴드를 이용하면 좀더 편리하게 작업이 가능합니다. 

EL Wire의 색상은 흰색과 더불어 오색찬란 무지개 색상들이 나와있는데요, 저는 푸르딩딩 새벽 동틀 무렵을 연상시키는 Blue를 선택하여 테스트를 해봤습니다.  서비스로 Red Wire도 한장 촬영했습니다.

내용추가(2011.4.8)
12V 인버터를 사용할 경우 차량내에서 12V 소켓 아답터를 통해 12V전원을 공급받을 수 있으므로 편리합니다. 동영상2 에서 관련 테스트 장면을 보실 수 있습니다.

내용추가(2011.5.20)
좀더 다양한 발광선 제어를 위한 아두이노 호환 보드(EL Sequencer)의 아두이노 프로그래밍 및 사용법 튜토리얼이 추가되었습니다. 참고하시기 바랍니다.  


[사진1] EL Wire 구동모습 - 모양을 자유로운 형태로 조절하여 사용가능합니다.




[사진2] EL Wire 크기비교 - 직경2.3mm  길이 3미터 제품의 모습




[사진3] EL Wire - 너무 퍼런것만 보면 재미없죠 Red 색상도 켜봤습니다.



[사진4] EL Wire용 인버터:: 12V 직류 전원을 EL Wire용 전압으로 변환해주는 기기,  모드선택 스위치가 보입니다.




[동영상1] EL Wire 구동 - 점등 및 항상켜기 스위치 선택작동하기


[동영상2] 차량내 EL Wire 구동 - 차량용 12V소켓 아답터 사용

관련정보:

EL Wire 도움글:  http://www.ladyada.net/learn/el-wire/
EL와이어 작업방법: http://www.sparkfun.com/tutorials/130
EL wire 기타 예제:  http://www.digitalmisery.com/projects/halloween/el-ladder/

 

+ Recent posts