Electronics 24

Mac El Capitan 에서 인민두이노 연결하기

초기엔 상표까지 대 놓고 베꼈지만 이젠 저렴한 부품으로 시리얼 컨버터도 바꾸는 등 독자적인 모델로 나온 인민두이노(Chinaduino) Mega2560 워크샵 주최측에서 워크샵 재료비를 적게 쓰길 원해서 싼 걸 찾다가 알리익스프레스에서 Mega2560이라는 아두이노 메가 클론보드를 사게되는 바람에 이 모든 일(?)이 벌어지게 되었다. 그러나 어차피 한번은 겪어야 할 일이었다고 본다. 애플에서 엘 캐피탄으로 업그레이드를 하면서 중요한 변화가 생긴 것이 하나 있는데 루트리스 모드가 그것이다. 사실 퍼미션 복구라는 항목이 있는 걸 보고 시스템 관련 화일의 퍼미션이 왜 바뀌지? 못 바꾸게 하면 안되나? 하는 의문이 있었는데, 보통 관리자 아이디로 작업을 하고 그렇다면 당근 시스템 화일도 바꿀 수 있는 거였다. ..

Electronics 2015.10.27

탈옥 안한 아이폰으로 아두이노 제어하기

아이폰은 아래쪽에 달린 30핀 커넥터를 통해서 외부기기를 제어하거나 데이타를 받으려면 애플과 계약을 체결해야만 가능하기 때문에 탈옥을 해야만 외부와 시리얼통신이 가능했었다. 그러나 작년에 RedPark라는 회사에서 iOS기기용 30핀 커넥터에 연결해서 쓸수 있는 시리얼케이블을 출시해서 이제는 그 시리얼케이블만 사면 손쉽게 외부기기를 아이폰과 시리얼포트를 통해 연결할 수 있게 되었다. 사실 이 시리얼케이블은 출시된지 좀 됐고 나도 산지가 반년은 훨씬 넘었으나 사 놓기만 하고 그간 방치하다가 며칠전에서야 연결해봤다. 늦어진데 일조한 이유가 이 케이블의 한쪽끝이 RS-232 9핀 커넥터라서 아두이노 같은 마이크로 컨트롤러와 연결하려면 TTL레벨로 전압을 변환해주는 보드가 별도로 필요하다는 것이다. RS-232..

Electronics 2012.01.18

아두이노로 만드는 로봇 Blinky 2편

요즘 무규칙이종결합공작소 용도변경에서는 아두이노를 이용해서 만드는 로봇 Blinky를 만들면서 아두이노를 공부해보는 워크샵을 진행중이다. 지난 1편에서는 빛 센서를 이용해서 어둠을 감지하면 눈에 있는 LED를 켜주는 방법을 알아봤다. 이번에는 LED를 그냥 켜는게 아니라 서서히 밝아지도록 했다가 서서히 어두워 지도록 하는 것을 구현해보도록 하겠다. 지난번에는 digitalWrite 명령을 써서 LED를 켜고 껐었다. digitalWrite는 최고 밝기로 켜거나 아니면 끄는 것 밖엔 할 수 없다. 그래서 서서히 켜지도록 하려면 밝기를 제어해야 하는데 그때 쓰는 명령이 analogWrite명령이다. analogRead도 A0부터 A5까지 여섯개의 핀에서만 가능하듯이 analogWrite도 특정 핀에서만 가능..

Electronics 2012.01.17

아두이노로 만드는 로봇 Blinky 1편

요즘 대전에 있는 메이커스페이스인 무규칙이종결합공작소 용도변경에서 아두이노를 이용한 인형인지 로봇인지를 만드는 워크샵을 진행하고 있다. 일주일에 한번씩 2~3시간 정도 진행하는데 어제 3주차가 지났다. 처음엔 반짝 반짝 작은 LED 라는 제목으로 시작해서 그냥 LED를 켜는 다양한 방법들을 알려주는 것으로 생각하고 시작했으나, 응용이 아닌 원론위주의 재미없는 강의가 될것 같아서 간단한 로봇을 만들어 보는 것으로 목표를 바꿨다. 일단 몸통으로는 주변에 굴러다니던 프링글스 미니 용기를 쓰기로 했다. 꼭 프링글스 미니가 아니라도, 테이크아웃 커피 컵 같은 것으로 만들어도 충분하다. 사용할 LED크기에 따라 3mm에서 5mm의 구멍을 드릴로 뚫어주고 안쪽에서 LED를 끼워 넣으면 딱 맞게 들어 간다. 코 위치에..

Electronics 2011.12.20

Beagle Board 입문기

몇 년전 부터 써보려고 벼르던 비글 보드를 드디어 샀다. 비글보드는 리눅스를 돌릴수 있는 마이크로 프로세서가 박혀있는 하나의 보드로된 컴퓨터이자 아두이노 같은 마이크로컨트롤러 보드의 하이엔드 급 되겠다. 요즘 나오는 스마트폰 정도의 프로세싱 파워를 가지고 있다. 아두이노 급들과의 차이라면 하나의 보드에 비디오/오디오 출력과 USB호스트포트를 가지고 있고 리눅스 같은 상대적으로 대용량의 OS를 돌릴수 있을 정도의 메모리를 가지고 있고 또 돌릴만한 속도를 가지고 있어서 마우스와 키보드 전원 모니터를 연결하면 리눅스가 깔린 컴퓨터로 바로 작동한다. 역시나 AVR처음 시작할때 만큼 삽질 중이다. 먼저 전원공급도 딱 5V가 아니면 받아들이질 않아서 5.7V가량 나오는 어댑터를 꽂으면 아예 빨간 과전압경고등이 들어..

Electronics 2011.10.02

급기야 PIC도 시작, PIC용 프로그래머 PIC-PG1제작하다.

급기야는 PIC까지 만지게 되었다. PIC는 픽쳐의 약자가 아니라 Microchip이란 회사에서 나온 마이크로컨트롤러 시리즈 이름이다. AVR과 쌍벽을 이루고 있는 마이크로컨트롤러 되시겠다. 아르뒤노도 AVR을 쓰고 가입한 카페도 당근 AVR 가지고 노는 곳이라, AVR 정도만 다룰 줄 알면 다 될 줄 알았으나 현실은 그렇게 표준화되어 있지 않았다. 제품이 일률적으로 표준화되어 있다는 것은 독점상태와도 일맥상통하는 말이므로 항상 좋은 것을 뜻하는 것은 아니지만, 하나만 알면 될 줄 알았는데 하나를 더 알아야 내가 원하는 것들을 만들 수 있다는것이 좀 더 번거로울 뿐이다. 얼마전 부터 들여다 보고 있는 일본 할아버지의 인도어 에어플래인 월드라는 블로그와 쇼핑몰에는 많은 RC관련 전자회로의 제작법이 상세히 ..

Electronics 2010.08.20

아두이노 기초강좌 5

오늘은 아두이노에 스위치를 달아보기로하자. 스위치도 앞서 사용한 조도 센서처럼 아두이노에게는 입력 장치이다. 스위치에도 여러 종류가 있다. 누르고 있는 동안만 신호가 가는 스위치가 있고, 한번 누르면 손을 놓아도 신호가 가고 다시 누르면 튀어나오면서 신호가 끊기는 스위치도 있다. 슬라이드 스위치는 누르는게 아니라 좌우로 미는 식으로 사용하는데, 이건 여러단자들 간에 신호 전환이나 전원스위치로 주로 사용한다. 오늘 사용할 스위치는 아두이노에 리셋 스위치로도 달려 있는 푸쉬버튼 스위치로서, 눌렀을때만 접점이 붙고 놓으면 바로 떨어지는 방식의 스위치이다. 이 푸쉬버튼 스위치는 세탁기, 밥통을 비롯한 수많은 가전제품의 조작판에 들어가는 것으로써, 일단 눌러보면 그 느낌이 매우 친숙할 것이다. 세탁기나 밥통을 보..

Electronics 2010.06.22

아두이노 기초강좌 4

지난 번에는 주변의 빛 밝기를 감지해서 LED를 끄고 켜는 것을 만들기 시작했다. 그러다 끝에는 LED를 끄고 켜는 경계가 되는 밝기의 기준을 어떻게 잡을 것이냐를 고민하다 다음번으로 미루는 것으로 마무리를 지었다. 역시 오늘일은 내일로 미루는게 제맛이다. 제맛을 너무나 냈는지 어느새 2주가 지났다. 빛센서로부터 들어오는 아날로그 신호를 숫자로 표시해서 본다면 손으로 센서를 가렸을때와 가리지 않았을때의 차이를 LED를 끄고 켜는 경계로 할것인지, 방 전등을 아예 끄거나 켰을 때의 조도 차이를 LED 끄고 켜는 경계로 할 것인지를 결정할 수 있을 것이다. 아두이노보드에 직접 LED숫자판을 달거나 LCD를 달 수도 있지만 그건 좀 복잡하니까 나중에 내공이 쌓이면 해보고, 오늘은 간단하게 컴퓨터를 통해서 빛센..

Electronics 2010.05.11

아두이노 기초강좌 3

오늘은 아두이노를 쓰는 근본적인 이유라고나 할까? 그 이유를 체감할 수 있는 것을 만들어 보기로 한다. 아두이노를 이용해서 세상과 반응 하는 기계를 만드는 것이다. 말은 거창하지만 별거 아니다. 단지 빛에 반응해서 LED를 끄고 켜는 것을 만들어 보는 것이다. 세상과 반응하려면 세상을 읽어야 한다. 기계도 오감을 가질 수 있을까? 사람 처럼은 힘들어도 어느 정도는 가능하다. 빛센서를 이용해서 밝기를 감지할 수도 있고, 카메라를 달면 사물의 모양도 감지 할 수 있지만 아두이노는 카메라신호에서 웃는 얼굴을 구분하는 프로그램을 돌리기에는 좀 벅차다. 그런건 컴퓨터를 이용해서 해야하고 프로그래밍도 좀 어렵다. 그러나 게임기 Wii의 리모콘에 달려있는 적외선카메라는 아두이노에도 붙여서 적외선의 점의 좌표를 전달 ..

Electronics 2010.04.28

아두이노 기초강좌 2

지난번 아두이노 기초강좌1에서는 일단 LED를 켜고 끄는 간단한 코드를 살펴봤다. 아무리 간단해도 프로그램을 전혀 안해봤다면 적잖이 당황했을 것이다. 모르는 프로그래밍 언어로된 코드를 처음 보고 가장 답답한것 중의 하나는, 어떤 것이 바꿀수 없는 명령어이고 어떤것이 바꿀수 있는 변수인지 구분이 어렵다는 것이다. 이런 의문 역시 프로그래밍을 좀 해본 사람이 가지는 궁금증일 것이다. 내가 프로그래밍을 처음 배울때를 최대한 기억해내면서 진행해보겠다. 아무튼 오늘은 지난번의 예제 코드를 좀 더 들여다보면서 이것 저것을 바꿔보면서 어디를 얼마만큼 바꿀 수 있으며, 그럴때 뭐가 달라지는지를 설명해보기로 하겠다. //LED blink example int ledPin = 13; // 13번 핀을 ledPin이라고 이..

Electronics 2010.04.14