본문 바로가기

글로벌 네트워크

아두이노와 라즈베리 파이 6 - 신호등 프로젝트


안녕하세요? 오늘은 라즈베리 파이 6번째 시간으로 신호등을 시뮬레이션 스크래치 프로젝트를 소개할까 합니다. 라즈베리 파이로 할 수 있는 일은 참 많습니다. 라즈베리 파이로 개인 서버를 구축할 수도 있고, 단순히 리눅스를 공부하는 데 활용할 수도 있습니다. 아두이노를 비롯하여 이것저것 연결하고 납땜하여 새로운 것을 창조할 수도 있을 겁니다. 라즈베리 파이로 어떤 목적을 세우든 그 목적을 달성하기 위해서는 이른바 라즈베리 파이의 3대 요소를 섭렵(?)까지는 아니어도 꽤 익숙해져야 합니다.

제1 요소는 각종 전기전자 부품과 라즈베리 파이를 포함한 하드웨어입니다. 사실 이런저런 부품과 관련 연장을 구매하는 일이 쉽지는 않습니다. 비용도 만만치 않게 들고요. 하지만 자동차나 오디오 등의 취미를 가지는 것보다 훨씬 서민적이겠지요. 더구나 결혼하고 자녀가 있는 사람들에게는 이제 곧 말씀드릴 제2 요소인 프로그래밍과 더불어 기초 전기전자를 자녀와 함께 공부함으로써 논리적 사고를 기를 수 있는 훌륭한 교재가 바로 라즈베리 파이입니다.


제2 요소는 말씀드린 대로 프로그래밍입니다. 파이썬이나 스크래치 등의 프로그래밍 언어는 배우기도 쉽고 활용하기도 쉽습니다. 미국에는 학교의 프로그래밍 교육을 권장하는 비영리단체인 code.org가 있습니다. 아래는 홍보 영상입니다. 유투브에서 보실 분은 여기(http://youtu.be/dU1xS07N-FA)를 클릭해 주세요. 커서 뭐가 되고 싶으냐는 물음에 인어라고 말하는 어린이 참 귀엽죠?



우리나라의 모든 사람이 프로그래밍을 배워야 합니다. 프로그래밍을 통해 생각하는 법을 배울 수 있기 때문입니다.” 스티브 잡스의 말입니다. 파이썬이나 스크래치 언어는 일반 PC나 맥에서도 얼마든지 배울 수 있지만, 라즈베리 파이나 아두이노 등의 하드웨어를 직접 제어하면서 프로그래밍을 배우면 효과가 더욱더 클 것입니다.


라즈베리 파이의 제3 요소는 마이크로소프트 Windows 운영체제의 탈피입니다. Windows가 나쁘다는 이야기는 절대로 아닙니다. 하지만 사람들이 Windows에서 벗어날수록 진정한 IT 강국에 한 걸음 한 걸음 다가가는 길이고, 공인인증서와 ActiveX 류의 기만행위를 근절시킬 힘이 비롯된다고 생각합니다.


어찌 됐든, 파이썬으로 각종 장치를 구현한 예는 흔하게 볼 수 있습니다. 그래서 오늘은 스크래치로 작성한 프로젝트를 소개할까 합니다. 횡단보도의 신호등을 구현한 프로젝트입니다. 이 프로젝트는 영국의 라즈베리 파이 커뮤니티인 라즈베리잼(http://raspberryjam.org.uk/)의 옥스퍼드 지부에서 제공한 것입니다. 저자의 허락을 받고 이곳에 게시하는 것이므로, 스크래치 소스 코드 화면을 다른 곳에 전파하시는 것은 조금 참아주세요.



스물여덟 번째 이야기

라즈베리 파이, 신호등 프로젝트


게시일: 2013년 5월 10일

작성자: 배장열


=====================================================================================================

일단 다음 그림은 완성된 프로젝트의 모습입니다.


 


 


<그림 28-1 완성된 프로젝트 모습>


준비물을 알아볼까요?


우선, 라즈베리 파이가 있어야겠죠? 나머지는 다음 표를 확인하시기 바랍니다.


<표 28-1 준비할 하드웨어>

 하드웨어

 수량

 초록색 LED

 2

 빨간색 LED

 2

 노란색 LED

 1

 저항 330옴

 5

 저항 10k옴

 1

 푸시버튼 스위치

 1

 브레드보드

 1

 전선

 

 에이다프루트 파이 코블러(옵션)

 1


에이다프루트 파이 코블러는 라즈베리 파이를 브레드보드에 쉽게 연결하기 위한 것으로 반드시 필요한 것은 아닙니다. 이제 본격적으로 프로젝트를 진행해볼까요?


1단계:

라즈베리 파이에 기본적으로 제공되는 스크래치는 GPIO를 지원하지 않습니다. 스크래치에서 GPIO를 지원하게 하려면 스크래치를 커스텀 버전으로 업데이트해야 합니다. 터미널을 열고 다음을 입력합니다.


sudo wget https://dl.dropbox.com/s/oql4qzm8jlnsbeb/install_scratch_gpio2.sh -O /boot/install_scratch_gpio2.sh


그리고 다운로드한 install_scratch_gpio2.sh 파일을 실행합니다. 터미널에서 다음을 입력합니다.


sudo /boot/install_scratch_gpio2.sh


Finished라는 메시지가 출력되면 모두 마무리된 것입니다.


2단계:

이제 LED를 연결할 순서입니다.

* 저항과 함께 LED 5개를 연결할 각 핀 번호는 다음과 같습니다.


교통신호등용 빨간 LED: 11번 핀

교통신호등용 노란 LED: 12번 핀

교통신호등용 초록 LED: 16번 핀

보행자용 빨간 LED(정지한 사람): 13번 핀

보행자용 초록 LED(걷는 사람): 18번 핀


3단계:

푸시버튼 스위치와 저항을 8번 핀에 다음 회로대로 연결합니다.



<그림 28-2 회로도>


4단계:

스크래치 애플리케이션을 열고 다음 그림처럼 스크립트를 작성합니다. 모두 작성하면 스크립트를 저장하는 것 잊지 마세요! 여기서는 TrafficLights.sb로 저장하겠습니다.


<그림 28-3 Traffic Light 스프라이트>


<그림 28-4 CrossingSw 스프라이트>


<그림 28-5 RedGreenMan 스프라이트>


<그림 28-6 스위치 상태를 모니터하기 위한 스크립트>


여기까지입니다. 이 외에도 흥미를 유발하고 도전 정신을 키우는 무수한 프로젝트가 여러분을 기다리고 있습니다. 마지막으로 한 마디 덧붙이고자 합니다. 블로그를 검색하다 보면 자신이 직접 캡처한 그림에 워터마크를 사용하는 사례를 어렵지 않게 볼 수 있습니다. 그런데 정작 그들도 다른 사람의 사진이나 그림을 무단으로 블로그에 게시하는 경우를 가끔 목격합니다. 나의 저작권이 중요하다면 다른 사람의 저작권도 중요하겠죠?


제이펍의 도서 페이지에 라즈베리 파이 시작하기에 대한 자세한 소개와 더불어 1장의 미리 보기가 제공되고 있습니다. 독자 여러분의 많은 관심 부탁드립니다. 읽어주셔서 고맙습니다.

=====================================================================================================