프로젝트

    ESP8266, 구글 어시스턴트, Sinric Pro로 컴퓨터 전원 켜기

    최근 집 밖에서 집 컴퓨터를 켜야 되는 상황이 종종 발생하여 ESP8266과 구글 어시스턴트로 컴퓨터 본체를 켜는 장치를 만들어 보기로 했다. 물론 위와 같이 물리적으로 원격으로 스위치를 눌러주는 스위치 봇은 쉽게 구할 수 있지만 컴퓨터에 달기에는 좀 거추장스러워 보여 본체 내부에 숨길 수 있는 형태로 제작해보자 했다. 고려한 사항은 다음과 같다. 와이파이로 연결되어 구글 어시스턴트 연동이 가능할 것 컴퓨터 본체의 전원버튼은 그대로 사용이 가능할 것 배터리를 내장하여 컴퓨터 전원이 장시간 꺼져있어도 사용 가능하며 컴퓨터가 켜진 상태에서는 배터리가 충전될 것 우선 보드는 ESP8266기반의 보드를 사용했다. 필자는 주로 NodeMCU, Wemos D1 mini 같은 잘 알려진 보드를 사용했는데 문제는 배터..

    아두이노 FPS 게임 컨트롤러 3.0

    https://diy-project.tistory.com/19 아두이노 FPS 게임 컨트롤러 (오버워치, 더 하우스 오브 더 데드) 전에 아두이노를 이용해 에어마우스를 만들었었다. http://diy-project.tistory.com/12 이 에어마우스를 만든 직후 이를 응용해 FPS 게임컨트롤러를 제작하기 시작했고, 예상보다 오래걸린 약 2주의 제작 diy-project.tistory.com https://diy-project.tistory.com/57 아두이노 FPS 게임 컨트롤러 2.0 시작하기에 앞서 4개월전에 올린 FPS 게임 컨트롤러에 (http://diy-project.tistory.com/19) 대해 많은 분들이 관심을 가져준 것에 대해 감사한다. 많은 분들이 댓글, 메일 등으로 해당 프..

    아두이노 블루투스 에어마우스 만들기

    정말 오랜만에 에어마우스 글을 올리는 것 같다. https://diy-project.tistory.com/12 아두이노 에어마우스 공중에서 사용할 수 있는 에어마우스를 일상 생활에서 쓸 일은 그리 많지는 않다. 최근들어 다양한 기능을 지원하는 스마트 티비의 개발과 함께 좀 더 다양한 동작을 할 수있는 에어마우스 형태 diy-project.tistory.com https://diy-project.tistory.com/19 아두이노 FPS 게임 컨트롤러 (오버워치, 더 하우스 오브 더 데드) 전에 아두이노를 이용해 에어마우스를 만들었었다. http://diy-project.tistory.com/12 이 에어마우스를 만든 직후 이를 응용해 FPS 게임컨트롤러를 제작하기 시작했고, 예상보다 오래걸린 약 2주의 ..

    아두이노 커스텀 기계식 키보드 만들기 [#1 키보드 메트릭스 테스트]

    최근 대학원 연구실 친구를 따라 커스텀 키보드에 입문하게 되어서 커스텀 키보드 하나를 만들게 되었다. 나름대로 윤활도 하고 잘 사용 중인데 이참에 스위치를 제외한 내부 부품까지 자작해보고 싶다는 생각이 들어서 자료를 찾아보게 되었다. 일반적으로 키보드는 70 키 이상의 많은 수의 스위치를 사용하게 되는데 아두이노와 같은 컨트롤러는 이렇게 많은 수의 스위치를 제어하는 것이 사실상 불가능하다. 그래서 키보드 메트릭스라는 방법을 사용해야 하는데 아래와 같은 회로로 구성된다. 각각의 Col에 전기신호를 순차적으로 주고 스위치를 누르면 어떤 위치의 Row에 전기 신호가 들어오는지 읽어 컨트롤러의 핀 개수를 줄이는 방법이다. 이때 다이오드가 필수적인데, 2개 이상의 스위치를 눌렀을 때 엉뚱한 위치에 신호가 들어오는..

    아두이노 다채널 미디 플레이어 연주

    오랜만에 유튜브에 2개의 영상을 추가했다. https://www.youtube.com/watch?v=oJaiPJPPVAo https://www.youtube.com/watch?v=I0f2exbv5GQ

    아두이노 다채널 미디 플레이어 제작 #5 - PCB 발주 및 완성

    사실 좀더 일찍 완성할수도 있었지만 이제서야 완성하게 됬다. 이번에는 좀 특이하게 원형으로 PCB를 제작해 봤는데 생각보다 잘 나와준것 같다. 오랜만에 영상을 편집해 업로드 했다. 이번 영상은 영어로 제작했는데, 최근 외국 자작 포럼등에 관심이 생겨서 그곳에 프로젝트를 공유해보고자 영어로 만들어봤다. (사실 영어실력은 좋지 않은 편이다. 그래도 한번쯤 도전해보고 싶었다.) 영문 글은 https://www.hackster.io/hydragon516/arduino-5-channel-midi-player-fdf335 에서도 확인이 가능하다. 관련글2018/02/15 - [아두이노/기초] - 미디파일을 tone()으로 변환하기 [아두이노]2018/02/16 - [아두이노/프로젝트] - 아두이노 3채널 미디 오케..

    아두이노 다채널 미디 플레이어 제작 #4 - Attiny85 ver

    이상하게 생각했을지도 모르지만 사실 모든 채널에 아두이노 프로 마이크로를 이용할 필요는 없었다. 사실 프로 마이크로는 HID 장치로 인시되어 PC와 미디 통신만 하면 되기 때문에 I2C 통신의 slave들은 일반적인 아두이노나 기타 다른 보드를 이용해도 무방했다. 프로 마이크로를 사용하게에는 보드의 성능의 너무 과분한 감이 있었다. 지금까지 미디 플레이어의 주된 코드는 2018/02/16 - [아두이노/프로젝트] - 아두이노 3채널 미디 오케스트라 의 글처럼 USBMIDI 라는 라이브러리를 기반으로 작동했다. 문제는 이 라이브러리가 HID 장비로 인식 가능한 레오나르도나 프로 마이크로에만 적용이 가능했기 때문에 slave들의 코드는 라이브러리를 사용하지 않고 새롭게 코드를 만들어야 했다. 미디신호를 to..

    아두이노 다채널 미디 플레이어 제작 #3 - 5채널 테스트

    스피커 부족으로 잠시 미뤄두었던 미디 플래이어 프로젝트를 부저를 구하면서 다시 시작했다. 다행이 잘 작동한다. 소스코드는 공개하겠지만 해당 영상의 버전과 다른 버전을 올릴 것이다. 우선 쓸데없이 프로 마이크로를 6개나 사용하기 때문에 좀 더 간결한 방식으로 바꿀 예정이다. 관련글2018/02/15 - [아두이노/기초] - 미디파일을 tone()으로 변환하기 [아두이노]2018/02/16 - [아두이노/프로젝트] - 아두이노 3채널 미디 오케스트라2018/08/27 - [아두이노/프로젝트] - 아두이노 다채널 미디 플레이어 제작 #1 - I2C 통신 테스트2018/10/10 - [아두이노/프로젝트] - 아두이노 다채널 미디 플레이어 제작 #2 - 중간점검2018/10/28 - [아두이노/프로젝트] - 아두..

    아두이노 다채널 미디 플레이어 제작 #2 - 중간점검

    2018/08/27 - [아두이노/프로젝트] - 아두이노 다채널 미디 플레이어 제작 #1 - I2C 통신 테스트 I2C 통신 테스트만 완료하고 이제서야 어느정도 미디 플레이어가 완성 되었다. 그동안 프로 마이크로 개수가 부족해 시도를 제대로 못했었다. (요즘 이것저것 시도해볼 것은 많은데 시간이 없다. 덕분에 블로그 질문에 대한 답변도 제대로 못하고 있다...) 현재 총 5개의 채널로 구성되어있다. 프로 마이크로는 총 6개이지만 하나는 PC와 미디 통신을 하는 마스터 용도이다.각 채널마다 1개의 스피커를 부착하면 되는데 문제는 현재 남는 스피커가 1개 밖에 없었다. 그래도 테스트는 진행해야 하는데, 각 채널에 스피커를 따로따로 연결해 영상을 촬영한 후 영상을 하나로 합치면 스피커를 여러개 연결한 효과를 ..

    아두이노 FPS 게임 컨트롤러 2.0 게임 테스트

    생각해 보니 FPS 게임 컨트롤러 2.0(2018/05/20 - [아두이노/프로젝트] - 아두이노 FPS 게임 컨트롤러 2.0) 은 작동 영상을 올린 적이 없었다. 2018/01/12 - [아두이노/프로젝트] - 아두이노 FPS 게임 컨트롤러 (오버워치, 더 하우스 오브 더 데드) 와 동작은 거의 유사 하지만 그래도 올려두는 것이 좋을것 같아 간단하게 영상을 제작했다. 게임은 언제나처럼 하우스 오브 더 데드 3이다. 이번에는 영상 길이를 늘려 챕터 2 보스까지 잡는 영상까지 포함되어있다. 회로와 소스도 공개할 계획인데, 시간도 별로 없고 FPS 게임 컨트롤러 3.0도 준비중이라 언제가 될지는 잘 모르겠다. (사실 2.0와 1.0은 큰 차이가 없다. 하지만 3.0은 매우 큰 변화를 줄 생각이다.) 노트북도..

    FPS 게임 컨트롤러 수신기 PCB 발주

    2018/09/22 - [아두이노/프로젝트] - 아두이노 FPS 게임 컨트롤러 수신부 업그레이드 중 이전 글에서 언급했듯 FPS 게임 컨트롤러의 수신부를 모듈화하는 작업을 진행중이다. 언제나 처럼 EasyEDA로 PCB를 설계해 JLCPCB에서 발주했다. PCB 설계에 관심이 있다면 아래 강좌를 참고하자 2018/02/20 - [강좌] - PCB 제작 기초강좌 #1 [EasyEDA 소개] 최근 JLCPCB가 배송 방법을 바꾼것 같은데, DHL은 그대로 이지만 일반 배송을 SF express로 바꿨다. 놀랍게도 배송비는 동일하지만 전에는 2주 이상의 시간이 걸리던것에 반해 3~5일이면 배송이 된다. 이 속도는 DHL과 큰 차이가 없는 수준이다. SF express는 한국에도 회사가 있기 때문에 한국어 배송..

    모바일 배틀그라운드 컨트롤러 만들기 [아두이노 FPS 게임컨트롤러 활용]

    필자의 블로그에 가장 많이 접속되는 키워드중 하나는 아두이노 FPS 게임컨트롤러인데, 덕분에 이와 관련한 질문을 가장 많이 받았다. 질문의 내용은 대부분 제작중 오류나 소스코드에 관련된 질문들이었는데, 한번은 해당 컨트롤러를 모바일 게임에 사용이 가능한지에 대해서도 질문 받은적이있다. 생각해보면 결국에는 컴퓨터 대신 스마트폰의 마이크로 USB단자에 아두이노에 연결이 가능한지에 대한 질문과 같은데, 시리얼 모니터를 스마트폰으로 보는 예제는 본적이 있지만 레오나르도의 마우스, 키보드 컨트롤 또한 가능한지는 잘 몰랐다. 그래서 이참에 한번 시도해 보기로 했다. 기존의 2018/05/20 - [아두이노/프로젝트] - 아두이노 FPS 게임 컨트롤러 2.0 의 컨트롤러가 무선으로 설계되어있어서 일단 급한데로 수신부..

    아두이노 FPS 게임 컨트롤러 수신부 업그레이드 중

    레오나르도는 크기가 너무 큰 관계로 프로 마이크로로 교체해서 실험 중 이다. 아래는 프로 마이크로의 핀맵 나머지 연결은 레오나르도와 동일하지만 SCLK, MISO, MOSI 연결만 위의 핀맵을 참고하여 연결하면 된다. 크기가 확실히 작아졌지만 휴대하기에는 아직 어렵다. 바로 USB 포트에 꼽을수 있으면 좋은데, 아래와 같은 아두이노 비틀을 이용해볼 계획이다. 관련글 2017/12/27 - [아두이노/프로젝트] - 아두이노 에어마우스 2018/01/12 - [아두이노/프로젝트] - 아두이노 FPS 게임 컨트롤러 (오버워치, 더 하우스 오브 더 데드) 2018/05/20 - [아두이노/프로젝트] - 아두이노 FPS 게임 컨트롤러 2.02018/09/25 - [아두이노/프로젝트] - 모바일 배틀그라운드 컨트롤..

    에어드럼 제작하기 (OpenCV+아두이노 Air Drum)

    에어드럼을 제작할 계획은 사실 아두이노를 처음 배우기 시작할때부터 이었다. 처음에는 mpu6050와 같은 가속도 센서를 이용해 제작할 계획이었지만 정확한 타점을 인식할 코드를 어떻게 구현할지가 막막했다. 그렇게 에어드럼 프로젝트는 잊혀지는가 싶던 참에 흥미로운 동영상 하나를 발견했다. 위 영상은 OpenCV를 이용해 특정 색깔을 입힌 드럼스틱을 추적하여 추적된 물체가 카메라상 특정 위치에 도달하면 드럼소리를 내는 방식의 에어드럼을 구현한 것이다. 이 영상을 보고 한번 시도해 볼만한 프로젝트라는 생각이 들었다. 마침 OpenCV도 공부 중이었고 최근에 공 추적하는 코드도 알아내었으니, 벌써 반은 완성하고 들어가는 셈이었다. 우선 색깔을 기반으로 공을 추적하는 방법은 2018/08/30 - [프로그래밍/Op..

    아두이노 다채널 미디 플레이어 제작 #1 - I2C 통신 테스트

    2018/02/16 - [아두이노/프로젝트] - 아두이노 3채널 미디 오케스트라위 글에서 USB 미디장치로 인식할 수 있는 아두이노 레오나르도 보드 3개를 이용하여 3채널 미디 오케스트라를 제작한 적이 있었다. 매우 성공적으로 작동했지만 위 글에서도 언급했듯 각각의 보드들이 USB 포트로 연결되어 있어야 했기에 USB 허브가 없는 한 8채널과 같은 다채널 미디 플레이어는 구현하기 어렵다. 이 문제를 어떻게 해결할까 고민하던 중 아두이노간에 유선으로 1:N 통신이 가능하다는 이야기를 들었다. 그렇다면 하나의 보드는 미디통신을 하고 나머지 보드들은 각각의 채널을 담당하여 수신받은 데이터를 토대로 음계를 출력하면 될 것이다. 회로는 간단하게 1개의 Master인 아두이노 프로 마이크로와 2개의 Slave인 아..

    자율주행차량 만들기(아두이노+OpenCV) #3 - 계획수정

    이전글 : 자율주행차량 만들기(아두이노+OpenCV) #2 - 차선 인식 및 조향 테스트 주문했던 카메라 모듈이 배송중 문제가 생겨서 예상보다 늦게 도착했다. 다행이 성능은 괜찮아서 바로 사용이 가능할 정도였다. 아래는 최종적으로 구성한 모습이다. (1) 차량 (2) 제어부 문제는 생각만큼 잘 작동하지는 않았다. 알고리즘은 문제가 없지만 하드웨어적이 문제가 좀 있다. 그 이유를 몇가지 나열해보면 1. 카메라의 위치가 너무 낮아 급격한 차선변경에 반응하기가 어렵다. 카메라가 좀 더 높은 위치로 이동시키면 되지만 차량자체가 너무 작아 불가능했다. 2. 조향을 막무가내로 모터를 이용해 정밀한 제어가 불가능 하다. 처음부터 걱정했던 문제였지만 역시나 서보모터를 이용한 조향이 필수적이다. 3. 차량의 전력이 부족..

    자율주행차량 만들기(아두이노+OpenCV) #2 - 차선 인식 및 조향 테스트

    이전글 : 자율주행차량 만들기(아두이노+OpenCV) #1 - 주행 테스트 차선인식쪽 코드가 어느정도 완성되어 차선 인식 및 차량의 조향장치를 테스트 해보았다. 아직 차량에 부착할 컬러카메라 모듈이 없는 관계로 (필자는 흑백 카메라 모듈만 가지고 있었다.) 급한대로 웹캠을 이용해 테스트를 진행했다. Pycharm 개발 환경에서 제작한 차선인식 프로그램이다. 차선을 인식한후 중심점을 추출해 차선이 차량으로부터 얼마나 떨어져 있는지 알수있다. 오른쪽 창의 붉은색 숫자는 중심점으로 떨어진 거리를 픽셀단위로 나타낸 것이다. 파이썬으로 아두이노와 시리얼 통신을 해야하는데 중간 매개체로 아두이노 FPS 게임 컨트롤러 2.0을 이용했다. 데모 영상이다. 차선이 차량 중심을 통과하도록 조향을 하는 간단한 원리이다. [..

    자율주행차량 만들기(아두이노+OpenCV) #1 - 주행 테스트

    매력적인 영상처리 툴인 OpenCV를 공부하면서 일종의 목표였던 자율주행 차량에 대한 구상이 어느정도 끝났다. 일단은 차량이 어느정도 완성되어 간단하게 주행테스트를 해보았다. 알다시피 OpenCV를 사용하기 위해서는 아두이노로는 어림도 없기 때문에 적어도 라즈베리파이 정도의 성능의 보드가 필요하다. 하지만 아직 라즈베리파이도 초보단계이고 해서 영상은 컴퓨터에서 처리하는 방식으로 결정했다. 덕분에 차체는 매우 간단하다. 컴퓨터로 영상을 보내줄 영상송신 장비와 모터 드라이버, 제어 데이터를 받을 nrf24l01 무선모듈, 아두이노 나노로 구성되어있다. 차량은 저렴한 장난감 자동차인데, 조향이 서보모터가 아닌 무식하게 모터로 조향하는 방식이라 다소 걱정되긴 한다. 아직 코드는 완성되지 않아 간단하게 전에 제작..

    구글 어시스턴트(Google Assistant)로 아두이노 LED 제어

    구글 어시스턴트(Google Assistant)는 구글이 2016년에 발표한 새로운 인공지능 비서 서비스다. 이제 대부분의 스마트폰에서 지원하는 이 서비스는 그 활용분야가 매우 다양한데, 집안의 가전제품을 구글 어시스턴트로 제어하는 것이 그 대표적인 예이다. 물론 전용 제품을 구매해야만 가능한 이야기 이지만 esp8266과 Blynk, IFTTT를 이용해서 이 기능을 비슷하게 구현해 보았다. 아래는 작동 영상이다. 휴대폰에 내장된 구글 어시스턴트를 이용해도 되지만 필자는 미국 여행중 구매해둔 (구글 본사에서 직접 구매) 인공지능 스피커 Google home mini를 이용했다. 영상에서도 보이듯 특정 명령어로 LED를 제어할 수 있다. 제작하는 방법은 매우 간단하다. 우선 Wemos d1 mini와 LE..

    아두이노 FPS 게임 컨트롤러 2.0

    시작하기에 앞서 4개월전에 올린 FPS 게임 컨트롤러에 (http://diy-project.tistory.com/19) 대해 많은 분들이 관심을 가져준 것에 대해 감사한다. 많은 분들이 댓글, 메일 등으로 해당 프로젝트에 대한 질문과 개선점 등을 알려주셨다. 실제로 제작을 시도하시는 분들도 많은 것 같다. 그래서 이번 기회에 기존의 문제점 등을 일부 보완한 FPS 게임 컨트롤러 2.0 버전을 제작해보았다. 그렇지만 아직 모든 문제를 해결한 것은 아니다. 위는 완성된 FPS 게임 컨트롤러 2.0의 모습이다. 크기는 기존에 비해 매우 작아졌으며 총기의 디자인 또한 펌프식에서 핸드건 (총기 명은 마이크로 우지이다.)으로 변경되었다. 회로가 노출되었던 1.0에 비해 2.0은 모든 회로를 총기 내에 내장하여 안정..

# 테스트용