Raspberry Pi 입출력디바이스 II 1 제 05 강 입출력디바이스 II 터치스위치자석스위치움직임감지센서부저모듈 LED Array RGB LED 릴레이모듈초음파센서 ( 거리측정 ) 적외선센서및리모콘 ( 미작성 )

Similar documents
K&R2 Reference Manual 번역본

RaspberryPi 시리얼통신 1 제 08 강 시리얼통신제어 시리얼통신시리얼모니터링루프백시리얼통신 Win. PC와의시리얼통신가상머신과의시리얼통신아두이노보드와의시리얼통신 KUT51보드와의시리얼통신

Microsoft PowerPoint - es-arduino-lecture-03

untitled

고급 프로그래밍 설계

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

슬라이드 1

Microsoft Power Point 2002

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

< 제누이노스타트키트 > 사용설명서 목차 1. Arduino IDE 설치하기 2. Genuino 연결및 Arduino IDE 셋팅하기 3. 센서설명및연결도, 예제소스 1

슬라이드 1

PowerPoint 프레젠테이션

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

1장. 유닉스 시스템 프로그래밍 개요

BY-FDP-4-70.hwp

lecture4(6.범용IO).hwp

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

C 언어 프로그래밊 과제 풀이

untitled

chap8.PDF

PowerPoint 프레젠테이션

MR-3000A-MAN.hwp

Microsoft Word doc

untitled

ez-md+_manual01

untitled

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 )

목차 1부. 보드 운영체제와 MCU 보드의 포트 2부. 전압과 전류 그리고 모터 드라이버 3부. 초음파 센서 4부. BOS Script 프로그래밍 5부. W2R -1 소개

[8051] 강의자료.PDF

11장 포인터

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

KEY 디바이스 드라이버


Microsoft PowerPoint - ch07 - 포인터 pm0415

C++-¿Ïº®Çؼ³10Àå

교육지원 IT시스템 선진화

컴파일러

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

C 프로그래밊 개요

Microsoft PowerPoint - chap10-함수의활용.pptx

untitled


02장.배열과 클래스

0.1-6

歯동작원리.PDF

MPLAB C18 C

Microsoft PowerPoint - chap12-고급기능.pptx

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

BMP 파일 처리

untitled

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

OCaml

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

본 강의에 들어가기 전

목차 제 1 장개요 제 2 장소프트웨어구조 제 3 장공통요소 I

/chroot/lib/ /chroot/etc/

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

hd1300_k_v1r2_Final_.PDF

hwp

Motor

온라인카타로그에서적절하고정확한품명을찾으실수있습니다. lcs 초음파센서 에전가되는전류 microsonic GmbH / Phoenixseestraße 7 / Dortmund / Germany / T / F +49

Microsoft Word - DTM-M300_Spec_V1_0.doc

untitled

Microsoft Word - SMB-63-2_KR_.doc

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

1. 제품소개 1.1 제품소개 < 그림 1.1> 도트매트릭스모듈 하드웨어제작에소요되는시간을단축시켜프로그래밍연구개발및학습효과를극대화시켜주는 16x16 도트매트릭스모듈입니다. 또한당사 AVR, PIC, ARM(STM32F) 개발보드와 1P 점퍼클립케이블을이용하여연동이가능하

Microsoft Word - PLC제어응용-2차시.doc

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint Presentation

PowerPoint Presentation

, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

vi 사용법

Microsoft PowerPoint - chap03-변수와데이터형.pptx

ATmega128

Chapter #01 Subject

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관

2주차: 입출력 제어 복습

금오공대 컴퓨터공학전공 강의자료

CPX-E-SYS_BES_C_ _ k1

Chapter 4. LISTS

The C++ Programming Language 4 장타입과선언 4.11 연습문제 Hello,world! 프로그램을실행시킨다. 프로그램이컴파일되지않으면 B3.1 을참고하자. #include<iostream> //#include 문, 헤더파일, 전처리지시

11장 포인터

OCW_C언어 기초

PowerPoint 프레젠테이션

歯메뉴얼v2.04.doc

Microsoft PowerPoint - C++ 5 .pptx

Transcription:

Raspberry Pi 입출력디바이스 II 1 제 05 강 입출력디바이스 II 터치스위치자석스위치움직임감지센서부저모듈 LED Array RGB LED 릴레이모듈초음파센서 ( 거리측정 ) 적외선센서및리모콘 ( 미작성 )

터치스위치 * IM120710023 터치스위치 : 유형... 토글형및비토글형 Raspberry Pi 입출력디바이스 II 2 : S( 디지털출력 ), V(5V), G(GND) : 토글형... 터치시이전상태의보신호출력 : 비토글형... 터치시 Low 신호출력, 비터치시 High 신호출력

Raspberry Pi 입출력디바이스 II 3 터치스위치 ( 계속 ) [ 실습 1] 터치스위치 /LED 제어 : 비토글형터치스위치를터치중인동안 LED ON하는프로그램 : 회로도 $ sudo nano touch_01.c //======================================= // touch_01.c // direct touch sensor //======================================= #include <stdio.h>

Raspberry Pi 입출력디바이스 II 4 #include <wiringpi.h> #define P_TCH 1 // BCM_GPIO 18 #define P_LED 4 // BCM_GPIO 23 int main(void) { printf("[p_tch testing...]\n"); if(wiringpisetup() == -1) return 1; pinmode(p_tch, INPUT); pinmode(p_led, OUTPUT); // input // output while(1) { if(digitalread(p_tch)==high) { digitalwrite(p_led, LOW); printf("."); else{ digitalwrite(p_led, HIGH); // not touch // touch

printf("\ntouched!!"); Raspberry Pi 입출력디바이스 II 5 return 0; $ make touch_01 $./touch_01

자석스위치 * 자석 ( 리드 ) 스위치 Raspberry Pi 입출력디바이스 II 6 : 한쪽은스위치이며, 다른한쪽은자석으로구성 : 자석을가까이하면스위치 ON되는형, : 자석을가까이하면스위치 Off되는형의 2유형 : 자석이붙어있을때 high 신호출력, 떨어졌을때 low 신호...

자석스위치 ( 계속 ) [ 실습 2] 자석스위치 /LED 제어 Raspberry Pi 입출력디바이스 II 7 : 자석이붙어있는동안 LED 를 ON 하는프로그램 $ sudo nano magnetic_01.c //======================================= // magnetic_01.c // LED ON while magnetic ON //======================================= #include <stdio.h> #include <wiringpi.h> #define P_LED 1 // BCM_GPIO #18 #define P_MAG 5 // BCM_GPIO #24 int main(void) { int status; printf("[led/mag testing...]\n");

Raspberry Pi 입출력디바이스 II 8 if(wiringpisetup() == -1) return 1; pinmode(p_led, OUTPUT); pinmode(p_mag, INPUT); printf("p_led ON while P_MAG ON...\n"); status = 0; while(1) { status = digitalread(p_mag); if(status==1) { digitalwrite(p_led, HIGH); printf("on...\n"); else { digitalwrite(p_led, LOW); printf("off...\n"); delay(10);

Raspberry Pi 입출력디바이스 II 9 return 0; $ make magnetic_01 $./magnetic_01

움직임감지센서 * SEN0171 PIR 센서 : 외형 Raspberry Pi 입출력디바이스 II 10 : 감지거리최대 7m 정도 : 3 핀인터페이스 ( 빨강 Vcc, 검정 Gnd, 초록감지신호선 )

움직임감지센서 ( 계속 ) [ 실습 3] 움직임감지센서 I : SEN0171 PIR 센서활용 : 적절히회로구현할것 Raspberry Pi 입출력디바이스 II 11 $ sudo nano motion_01.c //======================================= // motion_01.c // LED ON while detecting motion //======================================= #include <stdio.h> #include <wiringpi.h> #define P_LED 1 // BCM_GPIO #18 #define P_MOT 5 // BCM_GPIO #24 int main(void) {

Raspberry Pi 입출력디바이스 II 12 int status; printf("[led/mot testing...]\n"); if(wiringpisetup() == -1) return 1; pinmode(p_led, OUTPUT); pinmode(p_mot, INPUT); printf("p_led ON while P_MOT ON...\n"); status = 0; while(1) { status = digitalread(p_mot); if(status==1) { digitalwrite(p_led, HIGH); printf("on...\n"); else { digitalwrite(p_led, LOW); printf("off...\n");

Raspberry Pi 입출력디바이스 II 13 delay(10); return 0; $ make motion_01 $./motion_01

부저모듈 * 피에조부저 (SM-1212C) : 외형 Raspberry Pi 입출력디바이스 II 14 : 회로도

부저모듈 ( 계속 ) Raspberry Pi 입출력디바이스 II 15 * 음악연주를위한계이름에따른주파수

Raspberry Pi 입출력디바이스 II 16 부저모듈 ( 계속 ) * softtone.h 라이브러리 : 핀에주파수신호출력과관련한함수 extern int softtonecreate(int pin); : 주파수신호를출력하도록핀설정 extern void softtonewrite(int pin, int freq); : 특정주파수의신호를출력 extern void softtonestop(int pin); : 주파수신호의출력을정지

Raspberry Pi 입출력디바이스 II 17 부저모듈 ( 계속 ) [ 실습 4] 부저모듈제어 I : 주파수를가변하여음출력하는프로그램 $ sudo nano buzer_01.c //======================================= // buzer_01.c // //======================================= #include <stdio.h> #include <wiringpi.h> #include <softtone.h> // * #define P_BUZ 1 // BCM_GPIO #13 int main(void) { int freq;

Raspberry Pi 입출력디바이스 II 18 if(wiringpisetup() == -1) return 1; pinmode(p_buz, OUTPUT); softtonecreate(p_buz); freq = 262; // Do while(1) { softtonewrite(p_buz, freq); delay(1000); // 주파수발생 freq += 20; softtonestop(p_buz); delay(1000); // 음정지 return 0;

Raspberry Pi 입출력디바이스 II 19 $ make buzer_01 $./buzer_01

Raspberry Pi 입출력디바이스 II 20 LED 어레이 [ 실습 5] LED 어레이제어 : 4개 LED에이진수로 0~15까지반복표시하는프로그램 ( 비트필드, 구조체활용 ) : 회로연결 ( 소스참조 ), 도트매트릭스모듈활용가능 $ sudo nano ledary_01.c //======================================= // ledary_01.c // LED Array(4 LED) control //======================================= #include <stdio.h> #include <stdint.h> #include <wiringpi.h> #define P_LED_D0 26 // BCM_GPIO #12, LSB

#define P_LED_D1 27 // BCM_GPIO #16 #define P_LED_D2 28 // BCM_GPIO #20 #define P_LED_D3 29 // BCM_GPIO #21, MSB struct leds { unsigned int led0 : 1; // LSB unsigned int led1 : 1; unsigned int led2 : 1; unsigned int led3 : 1; // MSB unsigned int higher : 4; // higher nibble ; Raspberry Pi 입출력디바이스 II 21 union ucode { uint8_t val; struct leds pin; ; // bit-field void setup(void) { pinmode(p_led_d0, OUTPUT); pinmode(p_led_d1, OUTPUT); pinmode(p_led_d2, OUTPUT); pinmode(p_led_d3, OUTPUT);

Raspberry Pi 입출력디바이스 II 22 void out_data(union ucode acode) { digitalwrite(p_led_d0, acode.pin.led0); digitalwrite(p_led_d1, acode.pin.led1); digitalwrite(p_led_d2, acode.pin.led2); digitalwrite(p_led_d3, acode.pin.led3); int main(void) { union ucode acode; int i; printf("[led Array testing...]\n"); if(wiringpisetup() == -1) return 1; setup(); while(1) { for(i=0; i<16; i++) {

acode.val = i; out_data(acode); printf("... HEX : %0X, DEC : %2d \n", acode.val, acode.val); delay(1000); Raspberry Pi 입출력디바이스 II 23 return 0; $ gcc o ledary_01 ledary_01.c lwiringpi 혹은, $ make ledary_01 $./ledary_01

RGB LED * RGB LED : 140C05 RGB LED 모듈 Raspberry Pi 입출력디바이스 II 24 1) Common Anode 타입 : 다리가긴것이 + 2) Common Cathode 타입

RGB LED( 계속 ) [ 실습 6] RGB LED 제어 Raspberry Pi 입출력디바이스 II 25 : 몇가지색상을조합하여표시하는프로그램 : 각 LED를 ON하려면 Low 신호를출력하여함 $ sudo nano rgbled_01.c //======================================= // rgbled_01.c // led ON (Low signal) //======================================= #include <stdio.h> #include <wiringpi.h> #define P_LED_R 0 // BCM_GPIO #17 #define P_LED_G 2 // BCM_GPIO #27 #define P_LED_B 3 // BCM_GPIO #22

int main(void) { printf("[rgbled testing...]\n"); if(wiringpisetup() == -1) return 1; pinmode(p_led_r, OUTPUT); pinmode(p_led_g, OUTPUT); pinmode(p_led_b, OUTPUT); // all OFF digitalwrite(p_led_r, HIGH); digitalwrite(p_led_g, HIGH); digitalwrite(p_led_b, HIGH); delay(3000); while(1) { printf("rled ON...\n"); digitalwrite(p_led_r, LOW); digitalwrite(p_led_g, HIGH); digitalwrite(p_led_b, HIGH); delay(1000); Raspberry Pi 입출력디바이스 II 26

Raspberry Pi 입출력디바이스 II 27 printf("gled ON...\n"); digitalwrite(p_led_r, HIGH); digitalwrite(p_led_g, LOW); digitalwrite(p_led_b, HIGH); delay(1000); printf("bled ON...\n"); digitalwrite(p_led_r, HIGH); digitalwrite(p_led_g, HIGH); digitalwrite(p_led_b, LOW); delay(1000); printf("(r+g)led ON...\n"); digitalwrite(p_led_r, LOW); digitalwrite(p_led_g, LOW); digitalwrite(p_led_b, HIGH); delay(1000); printf("(r+g+b)led ON...\n"); digitalwrite(p_led_r, LOW); digitalwrite(p_led_g, LOW);

digitalwrite(p_led_b, LOW); delay(1000); Raspberry Pi 입출력디바이스 II 28 printf("all LED OFF...\n"); digitalwrite(p_led_r, HIGH); digitalwrite(p_led_g, HIGH); digitalwrite(p_led_b, HIGH); delay(2000); return 0; $ gcc o rgbled_01 rgbled_01.c lwiringpi 혹은, $ make rgbled_01 $./rgbled_01

Raspberry Pi 입출력디바이스 II 29 Relay 모듈 * 릴레이모듈 (DFR0017) : 외양 NC(Normally Closed), COM(Common), NO(Normally Open) : 유형 -구동전압에따라 5V, 12V 등 -채널개수에따라 1CH, 2CH, 4CH, 8CH 등 : 실습모듈 (5V 1CH 250ACV 10A) -5V 로구동, 고압회로는 250V...

Raspberry Pi 입출력디바이스 II 30 Relay 모듈 ( 계속 ) * 회로연결 -Normally Open 방식 : 고압회로단자를 COM, NO 단자에연결 : 릴레이에 High 신호출력으로 ON 상태 -Normally Closed 방식 : 고압회로단자를 NC, COM 단자에연결 : 릴레이에 Low 신호출력으로 ON 상태

Raspberry Pi 입출력디바이스 II 31 Relay 모듈 ( 계속 ) [ 실습 7] 릴레이모듈제어 I : Normally Open 방식 ( 고압회로는 NO와 COM 단자에연결 ) : 릴레이모듈에 High신호인가시릴레이 ON하는프로그램 $ sudo nano relay_01.c //======================================= // relay_01.c // Normally Open (COM, NO)... ON at High signal //======================================= #include <stdio.h> #include <wiringpi.h> #define P_RLY 29 // BCM_GPIO #21

// funciton definition void run(void) { digitalwrite(p_rly, HIGH); printf("on...\n"); delay(5000); Raspberry Pi 입출력디바이스 II 32 digitalwrite(p_rly, LOW); printf("off...\n"); delay(5000); int main(void) { printf("[relay testing...normally Open]\n"); if(wiringpisetup() == -1) return 1; pinmode(p_rly, OUTPUT); while(1) { run();

Raspberry Pi 입출력디바이스 II 33 return 0; $ make relay_01 $./relay_01 참고 ) Normally Closed 방식 (relay_02.c 소스참조 ) ( 고압회로는 NC 와 COM 단자에연결 )

초음파센서모듈 * 초음파센서모듈 (HC-SR04) : Ultrasonic Ranging Module(HC-SR04) Raspberry Pi 입출력디바이스 II 34 : 송신기가초음파전송한후, 수신기는그반향된신호를수신

초음파센서모듈 ( 계속 ) * 초음파센서제어절차 Raspberry Pi 입출력디바이스 II 35 1) 10us TTL 신호로 Trigger 2) 송신기는 8개 40Hz 버스트신호발사 ( 대기 ) 3) 수신기는반향신호수신 (High 레벨신호의지속시간측정 ) 4) 지속시간과음속활용하여거리계산 5) 충분한대기시간 ( >60ms )

초음파센서모듈 ( 계속 ) * wiringpi.h 라이브러리 Raspberry Pi 입출력디바이스 II 36 : 시간지연함수들이유용하게사용될수있음 - 시간지연함수 void delay(unsigned int howlong); void delaymicroseconds(unsigned int howlong); // millisec // microsec - 단위시간반환함수 unsigned int millis(void); unsigned int micros(void); // 현시각을 millisec 단위로 // 현시각을 microsec 단위로

초음파센서모듈 ( 계속 ) [ 실습 8] 초음파센서제어 Raspberry Pi 입출력디바이스 II 37 : 거리측정하는프로그램 : 회로연결 ( 소스참조 )... trig, echo 단자사용 $ sudo nano usonic_01.c //======================================= // usonic_01.c // HC-SR04 module //======================================= #include <stdio.h> #include <wiringpi.h> #define P_USO_TRIG 5 // Trigger Pulse, BCM_GPIO #24 #define P_USO_ECHO 4 // Echo Pulse, BCM_GPIO #23 int main(void) { long start, end;

Raspberry Pi 입출력디바이스 II 38 int duration; float distance; if(wiringpisetup() == -1) return 1; pinmode(p_uso_trig, OUTPUT); pinmode(p_uso_echo, INPUT); printf("[ultrasonic testing...]\n"); while(1) { // sending 2us signal digitalwrite(p_uso_trig, LOW); delaymicroseconds(2); // sending 10microSec high signal digitalwrite(p_uso_trig, HIGH); delaymicroseconds(10); digitalwrite(p_uso_trig, LOW); // 10us // wait for burst signal, 8x40kHz=8x25us=200us delaymicroseconds(200);

Raspberry Pi 입출력디바이스 II 39 // receiving echo signal while(digitalread(p_uso_echo)==low) // wait until 1 ; start = micros(); // us unit while(digitalread(p_uso_echo)==high) // wait until 0 ; end = micros(); // get High level duration(us) duration = end - start; // calculate the distance(cm) distance = duration / 58.; if(distance > 400) // invalid distance printf(""); else { printf("%d,%d duration:%d... ", start, end, duration); printf("distance : %.2f cm\n", distance);

Raspberry Pi 입출력디바이스 II 40 // delay for measurement cycle, > 60milliSec delay(100); $ make usonic_01 $./usonic_01

Raspberry Pi 입출력디바이스 II 41 응용과제 [ 응용 1] 부저모듈 : 동요 학교종 연주하는프로그램 $ sudo nano buzer_03.c //======================================= // buzer_03.c // deangdeangdeang... //======================================= #include <stdio.h> #include <wiringpi.h> #include <softtone.h> #define P_BUZ 1 // BCM_GPIO #13 #define Do 262 #define Re 294

Raspberry Pi 입출력디바이스 II 42 #define Mi 330 #define Pa 349 #define Sol 392 #define Ra 440 #define Si 494 #define Do1 523 // 학교종이땡땡땡음계및지속시간 int MusicData[] = {Sol, Sol, Ra, Ra, Sol, Sol, Mi, Sol, Sol, Mi, Mi, Re, Sol, Sol, Ra, Ra, Sol, Sol, Mi, Sol, Mi, Re, Mi, Do; int DelayTime[] = {400, 400, 400, 400, 400, 400, 800, 400, 400, 400, 400, 800, 400, 400, 400, 400, 400, 400, 800, 400, 400, 400, 400, 800; int main(void) { int i; printf("[music Play...]\n");

Raspberry Pi 입출력디바이스 II 43 if(wiringpisetup() == -1) return 1; pinmode(p_buz, OUTPUT); softtonecreate(p_buz); for(i=0; i<24; i++) { softtonewrite(p_buz, MusicData[i]); delay(delaytime[i]); softtonestop(p_buz); // 음정지 delay(1000); return 0; $ make buzer_03 $./buzer_03

응용과제 ( 계속 ) [ 응용 2] RGB LED 제어 : [ 실습6] 소스참조 : PWM 방식으로제어하도록재구현 (256x256x256 가지색상표시토록 ) Raspberry Pi 입출력디바이스 II 44 [ 응용 3] Relay 모듈 : Normally Closed 방식으로.. [ 응용 4] 여러모듈활용 : 몇개의모듈을조합한응용과제각자정의하여구현

Raspberry Pi 입출력디바이스 II 45

이하무시!!!! Raspberry Pi 입출력디바이스 II 46

움직임감지센서 ( 계속 ) * SEN0192 마이크로웨이브센서 - Raspberry Pi 입출력디바이스 II 47 - 감지거리최대 16m 정도 - 벽을통과하여움직임감지가능 -3 핀인터페이스 ( 빨강 Vcc, 검정 Gnd, 초록감지신호선 )

움직임감지센서 ( 계속 ) [ 실습 2] 움직임감지센서 II -SEN0192 마이크로웨이브센서활용 Raspberry Pi 입출력디바이스 II 48 //=======================================

Relay 모듈 ( 계속 ) HK4100F-DC5V-SHG Raspberry Pi 입출력디바이스 II 49

적외선센서및리모콘 * VS1838B 적외선센서 - 거리 Raspberry Pi 입출력디바이스 II 50 * 리모콘 * lirc 라이브러리