32
서울창조경제혁신센터 창조경제 IoT 해커톤 대회 2015.9.12 ~ 9.13 4일차 교육

창조경제 IoT 해커톤 교육 4일차

Embed Size (px)

Citation preview

Page 1: 창조경제 IoT 해커톤 교육 4일차

서울창조경제혁신센터

창조경제 IoT 해커톤대회

2015.9.12 ~ 9.13

4일차교육

Page 2: 창조경제 IoT 해커톤 교육 4일차

간단한 복습

Page 3: 창조경제 IoT 해커톤 교육 4일차

아두이노 함수 : 디지털 입출력void pinMode(digital_pin, mode)

• 매개변수

digital_pin : 설정하고자 하는 디지털 핀 번호

mode : INPUT, OUTPUT, INPUT_PULLUP

• 반환 값 : 없음

void digitalWrite(digital_pin, value)

• 매개변수

digital_pin : 출력 신호를 내보낼 디지털 핀 번호

value : HIGH, LOW

• 반환 값 : 없음

int digitalRead(digital_pin)

• 매개변수

pin : 입력 신호를 읽어 올 디지털 핀 번호

• 반환 값 : HIGH, LOW

Page 4: 창조경제 IoT 해커톤 교육 4일차

아두이노 함수 : 아날로그 입출력

void analogWrite(digital_pin, value)

• 매개변수

digital_pin : 출력 신호를 내보낼 디지털 핀 번호

value : 0 ~ 255 사이의 PWM 값

• 반환 값 : 없음

int analogRead(analog_pin)

• 매개변수

pin : (센서 등과 연결되어) 아날로그 입력 신호를 읽어 올 아날로그 핀 번호

• 반환 값 : 0 ~ 1023 사이의 아날로그 값

analogWrite() 함수는실제아날로그출력이아니라디지털핀에서출력되는전류량을아날로그처럼단계적으로조절하여출력해주는함수로 Digital Pin들이름앞에 ‘ ~ ‘ 표시가되어있는핀들만가능!

Page 5: 창조경제 IoT 해커톤 교육 4일차

아두이노 함수 : 시리얼 모니터

void Serial.begin(baud_rate);

• 매개변수

baud_rate : 소프트웨어 시리얼 통신 속도, 예. 9600

• 반환 값 : 없음

void Serial.println(string_value);

• 매개변수

string_value : 소프트웨어 시리얼 모니터에 출력할 문장(string)

• 반환 값 : 없음

String String(not_string_value);

• 매개변수

not_string_value : 문장(string) 형식(format)으로 변화되는 값

• 반환 값 : 문장(string)

Page 6: 창조경제 IoT 해커톤 교육 4일차

Bread Board (빵판) 내부 구조

<출처> http://binworld.kr/13

Page 7: 창조경제 IoT 해커톤 교육 4일차

Bread Board (빵판) 사용법

http://binworld.kr/13

Page 8: 창조경제 IoT 해커톤 교육 4일차

LED

http://www.societyofrobots.com/electronics_led_tutorial.shtml

Page 9: 창조경제 IoT 해커톤 교육 4일차

RGB LEDhttp://eeenthusiast.com/arduino-digital-inputs-rgb-led-example/

Page 10: 창조경제 IoT 해커톤 교육 4일차

LED

http://wiki.vctec.co.kr/opensource/arduino/rgbled

Cathode

Page 11: 창조경제 IoT 해커톤 교육 4일차

Tact Switch

Page 12: 창조경제 IoT 해커톤 교육 4일차

Tact Switch

https://www.e-cigarette-forum.com/forum/threads/question-about-tact-switches.236049/

Page 13: 창조경제 IoT 해커톤 교육 4일차

조도 센서 (CDS)http://arsviator.tistory.com/170

예제소스는Analog 0번핀에연결됨

이그림은참고용!!!

Page 14: 창조경제 IoT 해커톤 교육 4일차

온도 센서 (LM35)

<출처> http://blog.opid.kr/458

http://blog.opid.kr/458

※주의 : +5V 와 GND 를잘못연결하면

매우뜨거워화상의우려가있으니

주의할것!!!

☆ 온도 구하는 공식

LM35 = (5.0 * analog_value * 100.0) / 1024.0;

Page 15: 창조경제 IoT 해커톤 교육 4일차

모터 (DC 모터)

Page 16: 창조경제 IoT 해커톤 교육 4일차

DC 모터

<출처> http://www.devicemart.co.kr/21857

구동 3V DC 모터 (소형)

Page 17: 창조경제 IoT 해커톤 교육 4일차

Single DC Motor Driver : DRV8838

http://www.devicemart.co.kr/1170534

3.3V3.3 or 5V

Page 18: 창조경제 IoT 해커톤 교육 4일차

Single DC Motor Driver : DRV8838

Page 19: 창조경제 IoT 해커톤 교육 4일차

Single DC Motor Driver : DRV8838

Page 20: 창조경제 IoT 해커톤 교육 4일차

Single DC Motor Driver : DRV8838

Page 21: 창조경제 IoT 해커톤 교육 4일차

DC 모터 제어 예제

int EN_pin = 3;int PH_pin = 4;

void setup() {pinMode(EN_pin, OUTPUT);pinMode(PH_pin, OUTPUT);

}

void loop() {digitalWrite(EN_pin, HIGH); // ForwarddigitalWrite(PH_pin, LOW); // Forwarddelay(3000);

digitalWrite(EN_pin, LOW); // StopdigitalWrite(PH_pin, LOW); // Stopdelay(3000);

digitalWrite(EN_pin, HIGH); // ReversedigitalWrite(PH_pin, HIGH); // Reversedelay(3000);

digitalWrite(EN_pin, LOW); // StopdigitalWrite(PH_pin, LOW); // Stopdelay(3000);

}

drv8838_test.ino

Page 22: 창조경제 IoT 해커톤 교육 4일차

블루투스

Page 23: 창조경제 IoT 해커톤 교육 4일차

<출처> http://www.yuden.co.jp/ut/solutions/ble/

Page 24: 창조경제 IoT 해커톤 교육 4일차

블루투스 모듈 : HC-06

아두이노용으로가장많이사용됨!

Page 25: 창조경제 IoT 해커톤 교육 4일차

블루투스 모듈 : HC-06

For Software Serial

Page 26: 창조경제 IoT 해커톤 교육 4일차

블루투스 예제 (1)#include <SoftwareSerial.h>

SoftwareSerial BTSerial(2, 3); // RX : 2, TX : 3

void setup() {

Serial.begin(9600);

BTSerial.begin(9600);

BTSerial.write("AT+NAMEfunfunyooBT"); // BT module name : “funfunyooBT"

}

void loop() {

if (BTSerial.available()) // BT -> Arduino -> Serial Monitor

Serial.write(BTSerial.read());

if (Serial.available()) // Serial Monitor -> Arduino -> BT

BTSerial.write(Serial.read());

}

bt_test.ino

Page 27: 창조경제 IoT 해커톤 교육 4일차

블루투스 : PC 연결 방법

Page 28: 창조경제 IoT 해커톤 교육 4일차

블루투스 : PC 연결 방법

Page 29: 창조경제 IoT 해커톤 교육 4일차

블루투스 : PC 연결 방법

Page 30: 창조경제 IoT 해커톤 교육 4일차

블루투스 : PC 연결 방법

http://www.hw-group.com/products/hercules/index_en.html

Page 31: 창조경제 IoT 해커톤 교육 4일차

블루투스 예제 (2) : LED On/Off#include <SoftwareSerial.h>

SoftwareSerial BTSerial(2, 3); // RX : 2, TX : 3int led_pin = 9;

void setup() {Serial.begin(9600);BTSerial.begin(9600);BTSerial.write("AT+NAMEfunfunyooBT"); // BT module name : “funfunyooBT"pinMode(led_pin, OUTPUT);

}

void loop() {if ( BTSerial.available()) // BT -> recv_data -> Serial Monitor{

unsigned char recv_data = BTSerial.read();Serial.write("Received Data : ");Serial.write(recv_data);

if (recv_data == '1'){

digitalWrite(led_pin, HIGH);Serial.write(" (LED ON)");

}

else if (recv_data == '0'){

digitalWrite(led_pin, LOW);Serial.write(" (LED OFF)");

}

elseSerial.write(" (Wrong Data! Please Input 1 or 0)");

Serial.write('\n');}

}

bt_led.ino

Page 32: 창조경제 IoT 해커톤 교육 4일차

Share Knowledge & Share Spirit

유 명 환, [email protected]