Sensing the Physical World Around Us - An Introduction to Sensors using Scratch for Arduino by Tracy Rudzitis

우리 주변의 사물들을 센싱하기 – 아두이노에서 스크래치를 사용한 센서들 소개 By Tracy Rudzitis (번역: 정재준 [email protected] on the www.kernel.bz)

탐구 질문: 센서란 무엇인가? 이 안내서는 센서가 어떻게 우리 주변의 사물들을 식별(detect)하는지에 대해서 이해하고자 하는 학생들을 위해서 사용서 역할을 한다. 블록 기반의 Scratch4Arduino (S4A)을 사용한 스크래치에 대해서 사전에 경험이 있는 학생들은 혼자서도 할 수 있도록 이 안내서는 내용을 전달한다. 각각의 안내서에 있는 내용들을 참고하여 학생들 스스로 블록들을 수정하기도 하고 실험 할 수 있다. (참조: http://s4a.cat)

이해하기 입력 & 출력: 어떤 장치가 입력으로 사용되는지 그리고 출력장치로 사용되는지 식별한다. 학생들은 브레드보드에 아두이노를 장착하여 개별적인 센서들(LED 같은것)을 전선으로 연결하여 전기적인 정보의 논리 흐름을 이해하는 것을 개발한다

학습 목표 RGB LED에 불빛을 켜고 어떻게 다양한 색깔들을 프로그래밍 하는지 익힐 수 있다. 센서에서 아날로그 값을 가져오는 것에 대해서 프로그램 작성할 수 있다. Piezo 스피커를 사용하여 멜로디를 연주할 수 있다. 입력장치인 IR 센서에서 변화되는 값들을 읽어서 프로그램하여 악보(musical notes)를 연주할 수 있다. 입력장치인 PIR 센서를 프로그램하여 출력장치인 LED나 Piezo 부저를 제어하여 PIR 센서값을 식별할 수 있다. 아날로그 입출력(예들들면: 전류측정, LED 밝기 변화, 조도센서, 온도센서, Piezo 스피커)을 시연하는 프로그램을 작성할 수 있다.

S4A (Scratch4Arduino) 사용하기

학생들은 S4A 프로그램을 사용하고 도움 안내서를 스스로 활용하여 사용법을 터득한다. S4A는 아두이노 IDE을 활용하여 블록을 조립하는 방법(block-based)으로 프로그램을 쉽게 할 수 있다. S4A을 어떻게 설치하고 사용하는지에 대해서 정보를 얻기위해서 S4A 웹사이트를 방문해 보기 바란다. S4A가 보드를 식별하기 위해서 먼저 펌웨어를 설치해야 한다.(쉽다!)

튜토리얼 (다음 페이지)

S4A로 센서 테스트 S4A – RGB LED에 불빛을 켜는 방법 S4A – Piezo 부저 S4A – Piezo 와 PIR S4A – 센서들로 음악 만들기

2.1 S4A에서 센서 테스트

센서의 GND와 VCC핀을 아두이노의 GND와 5V에 연결하고 센서의 출력 신호 핀은 아두이노의 A5 핀에 연결한다. 아래와 같이 프로그램을 작성한다. 녹색 깃발을 클릭하면 센서로부터 값을 읽어 온다. 여러가지 다른 종류의 센서들도 테스트 해본다. 읽은 값에 어떠한 차이점이 있는가?

어떤 종류의 센서들을 사용할 수 있는가?

Flex Sensor, Touch Sensor, Light Sensor, IR Distance Sensor

센서와 아두이노에 대해서 더 많은 정보 참고(링크)

Sparkfun Sensors(https://www.sparkfun.com/categories/23?page=all) Adafruit Sensor Pack

아래 코드를 시험해 보세요… 무엇이 일어 나는가요? 다른것들을 좀더 해보기 위해서 어떻게 수정해야 할까요?

심화 학습 몇가지를 더 실험하기 위해서 LED들을 추가해 보기 PWM LED를 추가하여 LED의 밝기 변화값을 조정해 보기 나머지 연산자(http://wiki.scratch.mit.edu/wiki/()_Mod_()_(block) )를 어떻게 사용할 수 있는가? 센서 값들이 제 역할을 잘 하도록 하기 위해서 어떤 연산자를 사용할 수 있는가?

2.2 Scratch 4 Arduino(S4A)에서 어떻게 RGB LED에 불을 켜는가?

어떤 종류의 RGB LED을 가지고 있는가?

Cathode? 긴다리는 음극 Anode? 긴다리는 양극

Scratch4Arduino에서 다음과 같이 프로그램 작업하여 테스트 해보기

이것은 Red, Green, Blue 색상을 가져오는 것이다. 다른 색상값을 만들기 위해서는 각각의 값들을 수정해야 한다. 오렌지색이나 진홍색, 청록색도 만들 수 있을까요?

아래 다이어그램을 참고하여 아두이노와 브래드보드를 연결한다.

더많은 정보 참고(웹사이트) ‣ http://www.instructables.com/id/RGB-LED-Tutorial-using-an-Arduino-RGBL/https://learn.adafruit.com/adafruit-arduino-lesson-3-rgb-ledshttp://arduino-info.wikispaces.com/RGB-LED

2.3 S4A - Piezo Buzzer

재료들(부품) ‣ Arduino Uno ‣ Breadboard ‣ 1 red wire ‣ 1 black wire ‣ 1 orange wire ‣ Piezo Buzzer

Connect the orange wire to Digital Pin 9 (Analog outputs limited to 5, 6, 9 pwm pins)

2.4 S4A Piezo Buzzer & PIR Sensor & LED

누군가가 접근해 올 때 Passive InfraRed Sensor 와 Piezo Buzze을 사용하여 경고음 내기

LED는 디지털 13번 핀에 연결한다.(디지털 출력)

Piezo 부저는 아날로그 9번핀에 연결한다.(아두이노에서 9번핀은 PWM 디지털 출력)

PIR은 아날로그 5번핀에 연결한다.

PIR이 누군가가 접근해 오면 움직임을 감지하여 변화된 신호를 내보낸다. 이 값을 읽어서 화면에 나타낸다. 움직임이 감지되면 평소보다 더 큰 값이 읽혀지고 이때 멜로디를 연주하거나 LED에 불을 켤 수 있다.

수정하기

다른 종류의 멜로디를 연주하도록 수정하기 더많은 LED을 연결하여 여러가지 불빛 패턴을 출력하도록 프로그램 하기

아두이노와 브레드보드에 회로 연결

더 많은 정보 얻기 (웹사이트)

http://www.arduino.cc/en/Tutorial/PlayMelodyhttps://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor

2.5 센서를 사용하여 음악 만들기

어떤 종류의 센서들을 사용할 수 있나요?

Flex Sensor Photocell (light) Tilt Sensor Touch Sensor Distance Sensor

아두이노 설정하기

아날로그 0번핀을 센서의 양극에 연결한다.

저항의 크기를 다르게 하여 실험하면 어떤 일이 일어 날까요? (아래의 저항은 220옴)

S4A에서 블록 설정하기

다음의 블록을 추가하고 다른점을 확인해 보기

무엇이 발생하나요? 이유는?

현재 실행중인 센서가 위와 같은 값으로 읽혀진다면 정상적으로 동작시키기 위해서 어떤 연산자를 사용해야 할까요?

코드를 주의깊게 판독해 보세요. 녹색 연산자 블록으로 무엇을 하나요? 다른 결과를 얻기 위해서 어떤 연산자들을 사용할 수 있나요? 여러가지 센서들이 다른 아날로그 값들을 출력하나요? 학급 친구들과 오케스트라를 만들 수 있을까요?