Share this post!
Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someone

안녕하세요. 오랜만에 아두이노 관련 포스트를 올리네요. 오늘은 작년에 만들었던 사장님 놀리기 프로젝트인 Mission JS에서 사용했던 무선 모듈과 아두이노 관련 자료를 공유드리려 합니다. 아직 Mission JS를 못보셨다구요? 그럼 일단 동영상 부터 보시죠.

동영상을 보시면 뭔가 복잡하고 이런 저런 부품들이 많이 쓰인 것 같아보이지만 사실 파고 들어보면 별거 아니랍니다. 나름 회사 홍보 영상이라 좀 있어보이게 만들었거든요 ㅋㅋㅋ 아두이노 2개를 이용하여 센서 모듈 하나와 모터 모듈 하나를 만들고, 저렴한 가격의 2.4GHz 무선 통신 모듈인 nRF24L01를 이용해 센서의 동작 여부를 모터쪽으로 보내줍니다. 사용한 센서는 단순히 기울기에 따라 On/Off 되는 Tilt Switch 입니다.

Mission JS 준비물
2 x Arduino Uno
2 x nRF24L01 Wireless module
1 x Servo Motor
1 x Tilt Switch
1 x USB Missile
1 x PC

하드웨어 연결
센서보드는 의자 뒤쪽에 부착하여 의자가 기울어지면 신호를 보내도록 만들어졌기 때문에 배터리를 붙여주었습니다. 스위치 각도를 조정하기 쉽도록 전 별도의 브레드보드에다 올려주었어요. 스위치에 0 -> 1 또는 1 -> 0 으로 상태 변경이 생기면 무선 통신 모듈이 모터 보드 쪽으로 신호를 보내고, 서보 모터는 변경이 생길 때 마다 70도 -> 0도로 이동하여 노트북의 스페이스바를 누르도록 하였습니다. USB 미사일도 사실 라즈베리파이 등을 사용하면 python 스크립트로 조정을 할 수 있긴 한데 너무 일이 복잡해지기 때문에 단순하게 스페이스바만 누르는 방식으로 만들었구요 ^^; 그리고 모터 보드의 4번 핀이 그라운드에 묶여있는 이유는 4번 핀의 상태에 따라 센서 보드와 모터 보드를 구분하기 때문입니다. (센서 보드에는 Pull Up 됨)

그리고 Arduino Uno를 사용할 경우 우노의 3.3V 전류가 50mA밖에 되지 않기 때문에 모듈의 Vcc와 그라운드 사이에 아래와 같이 Capacitor를 하나 붙여주면 좀 더 안정적인 동작을 기대할 수 있습니다.
cap

아두이노 코딩
아두이노는 2개가 쓰이지만 코드는 한가지로 통일을 했습니다. 위에서 설명한 4번 핀의 상태에 따라 보드의 동작이 바뀌게 되구요. 아래 코드의 동작을 위해서는 Maniacbug의 RF24 라이브러리(링크)를 받아줘야 합니다. 그리고 제 코드는 이 링크에서 받아주세요.

그럼 다음에 더 재미있는 아두이노 프로젝트로 찾아뵙겠습니다 🙂

nRF24L01 무선 통신 모듈과 아두이노를 이용한 원격 센서 만들기
Share this post!
Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someone
Tagged on:                                             

Leave a Reply

Your email address will not be published. Required fields are marked *