본문 바로가기

DIY 스마트 홈 프로젝트 라즈베리파이와 아두이노를 이용해서 DIY Smart Home 시스템을 만들어 봤습니다. 예전에 모형을 이용해서 스마트홈 시스템을 만들었다고 포스팅한 적이 있었지요. 이걸로 작년 한해 IoT강의도 많이 얻어서 먹고 살기도 했는데요. 이번엔 모형이 아닌 진짜 제가 살고 있는 땅콩집에 설치해서 사용할 수 있는 스마트홈 프로젝트를 진행했습니다. 전체 구성도는 아래와 같습니다. 라즈베리파이에 NodeJs와 MySQL을 설치해서 메인 서버로 사용하구요. NodeJs의 OnOff 모듈을 이용해서 GPIO를 제어할 수 있습니다. Express로 웹 서비스를 할 수 있구요. 아두이노는 NFC 리더를 연결해서 현관 밖에 설치하고 출입 제어 시스템으로 사용합니다. 아두이노와 라즈베리는 시리얼(UART) 통신으로 연결되어 있.. 더보기
아두이노로 알아보는 적외선 센서 아두이노와 같은 마이크로 콘트롤러를 이용해서 할 수 있는 것 들 중에 적외선을 이용하면 할 수 있는 것이 많은데요, 이번에는 적외선을 인식하는 센서와 적외선을 만들어내는 LED를 이용해서 실험해보고 원리를 알아 보려고 합니다. 이번 실험에서는 적외선LED와 수신기를 이용해서 장애물 센서와 근접센서를 만들어 볼겁니다. 이 실험을 위해서 필요한 부품은 아래와 같습니다. 포토트랜지스터(적외선 수신) 1개 포토다이오드(적외선 송신) 1개 저항 1M옴 , 저항 40옴~100옴 중 1개 우선 적외선을 인식하기 위해서는 포토트랜지스터(Phototransister)라는 것이 필요합니다. 이름이 어렵게 느껴지지만 별것 아닙니다. 가격도 저렴한 것은 130원 밖에 안합니다. 이번 실험에서 사용할 부품은 아래 링크에서 구입.. 더보기
풀업(Pull-up)저항,  풀다운(Pull-down)저항 아두이노와 같은 메이커들를 위한 플랫폼은 물론이고, 임베디드 개발 영역에 꼭 필요한게 전자회로 관련 지식인데요. 저 같은 소프트웨어 개발자 출신들이 이 분야에 들어서서 막막한게 바로 전자회로 분야 입니다. 그 중에서도 처음으로 만나는 장애물이 바로 풀업(Pull-Up), 풀다운(Pull-Down)저항을 이해하는 것같아서 오늘은 이것에 대해 이야기 해보려고 합니다. 아두이노나 AVR 등을 처음 접하면 LED 깜박이는 것 다음으로 하는 것이 스위치를 누르고 뗐을때 디지털 신호를 입력 받는 것일 겁니다. 아래 그림은 바로 그때 보라고 만들어 놓은 아두이노 사이트에 있는 버튼 스위치 입력 예제에서 가져온 그림입니다. 여기에 스위치와 함께 필요로 하는 부품이 바로 저항입니다. 근데 이게 왜 필요한 것인지, 그리고.. 더보기
맥북(에어)와 함께 쓰면 좋은 주변 장치들 추천 맥북(에어)와 함께 쓰면 좋은 주변 장치들 추천 제가 맥북을 사용한지가 2009년 말 부터 였으니까, 이제 만5년이 훌쩍 넘었군요. 처음엔 맥북 화이트를 사용하다가 무게가 무거워서 휴대도 불편하고 성능도 떨어져서 지금은 아내에게 주고 저는 맥북에어를 사용하고 있습니다.뭐 제가 애플빠나 맥빠는 아닙니다. 딱히 맘에 드는 물건이 없어서 쓰는 것 일뿐... 노트북이라는게 다 그렇듯이 마우스며, USB 허브 같은 주변 장치들이 필요한데요, 제가 그간 써보면서 가성비면에서 아마도 최상의 조합인 것들 몇가지를 소개할까 합니다. 제 블로그를 방문해 보신분은 아시겠지만, 저는 뭔가를 리뷰할때 개봉직후나 하루 또는 한달 사용기 따위는 적지 않습니다. 적어도 6개월 이상 사용해야 장단점이 제대로 보이기 때문입니다. 이제 .. 더보기
안드로이드 SoundPool(사운드 풀)로 효과음 내기 안드로이드에서 효과음과 배경음을 내는데 필요한 SoundPool 이라는 것의 사용법을 살펴봅니다. 안드로이드 프로그래밍에서 소리를 낼 수 있는 방법은 많은데요, 대표적으로 MediaPlayer를 사용 할 수 있습니다.그런데, 게임이나 기타 앱에서 특정 행동에 따른 효과음 또는 배경음(BGM)으로 사용하려고 할때에는타이밍 이슈가 있을 수 있습니다. 다시말해 정확한 그 시점에 준비된 소리가 나는것에 대한 이슈가 있습니다.이름에서 풍기는것과 같이 필요한 사운드를 미리 로드해놓고 필요할때 출력만 하겠다는 것입니다. 이것을 해결하기 위해 있는 API가 android.medial.SoundPool 입니다.순차적으로 사용법을 알아 보겠습니다. 1. SoundPool 생성 SoundPool sound = new Sou.. 더보기