SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
서울창조경제혁신센터
창조경제 IoT 해커톤 대회
2015.9.12 ~ 9.13
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
아두이노 함수 : 아날로그 입출력
void analogWrite(digital_pin, value)
• 매개변수
 digital_pin : 출력 신호를 내보낼 디지털 핀 번호
 value : 0 ~ 255 사이의 PWM 값
• 반환 값 : 없음
int analogRead(analog_pin)
• 매개변수
 pin : (센서 등과 연결되어) 아날로그 입력 신호를 읽어 올 아날로그 핀 번호
• 반환 값 : 0 ~ 1023 사이의 아날로그 값
analogWrite() 함수는 실제
아날로그 출력이 아니라 디지털 핀에
서 출력되는 전류량을 아날로그처럼
단계적으로 조절하여 출력해주는 함
수로 Digital Pin들 이름 앞에 ‘ ~ ‘ 표
시가 되어 있는 핀들만 가능!
아두이노 함수 : 시리얼 모니터
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)
Bread Board (빵판) 내부 구조
<출처> http://binworld.kr/13
Bread Board (빵판) 사용법
http://binworld.kr/13
LED
http://www.societyofrobots.com/electronics_led_tutorial.shtml
RGB LED
http://eeenthusiast.com/arduino-digital-inputs-rgb-led-example/
LED
http://wiki.vctec.co.kr/opensource/arduino/rgbled
Cathode
Tact Switch
Tact Switch
https://www.e-cigarette-forum.com/forum/threads/question-about-tact-switches.236049/
조도 센서 (CDS)
http://arsviator.tistory.com/170
예제 소스는
Analog 0번 핀에
연결됨
이 그림은 참고용!!!
온도 센서 (LM35)
<출처> http://blog.opid.kr/458
http://blog.opid.kr/458
※ 주의 : +5V 와 GND 를 잘못 연결하면
매우 뜨거워 화상의 우려가 있으니
주의할 것!!!
☆ 온도 구하는 공식
LM35 = (5.0 * analog_value * 100.0) / 1024.0;
모터 (DC 모터)
DC 모터
<출처> http://www.devicemart.co.kr/21857
구동 3V DC 모터 (소형)
Single DC Motor Driver : DRV8838
http://www.devicemart.co.kr/1170534
3.3V3.3 or 5V
Single DC Motor Driver : DRV8838
Single DC Motor Driver : DRV8838
Single DC Motor Driver : DRV8838
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); // Forward
digitalWrite(PH_pin, LOW); // Forward
delay(3000);
digitalWrite(EN_pin, LOW); // Stop
digitalWrite(PH_pin, LOW); // Stop
delay(3000);
digitalWrite(EN_pin, HIGH); // Reverse
digitalWrite(PH_pin, HIGH); // Reverse
delay(3000);
digitalWrite(EN_pin, LOW); // Stop
digitalWrite(PH_pin, LOW); // Stop
delay(3000);
}
drv8838_test.ino
블루투스
<출처> http://www.yuden.co.jp/ut/solutions/ble/
블루투스 모듈 : HC-06
아두이노 용으로 가장 많이 사용됨!
블루투스 모듈 : HC-06
For Software Serial
블루투스 예제 (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
블루투스 : PC 연결 방법
블루투스 : PC 연결 방법
블루투스 : PC 연결 방법
블루투스 : PC 연결 방법
http://www.hw-group.com/products/hercules/index_en.html
블루투스 예제 (2) : LED On/Off
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); // RX : 2, TX : 3
int 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)");
}
else
Serial.write(" (Wrong Data! Please Input 1 or 0)");
Serial.write('n');
}
}
bt_led.ino
Share Knowledge & Share Spirit
유 명 환, funfun.yoo@gmail.com

Contenu connexe

Tendances

코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄Eunhee Ha
 
Aperture : 8. 스위치를 이용한 led 제어하기
Aperture : 8. 스위치를 이용한 led 제어하기Aperture : 8. 스위치를 이용한 led 제어하기
Aperture : 8. 스위치를 이용한 led 제어하기Hyemin Song
 
Aperture : 7. 7세그먼트를 이용해 숫자 출력하기
Aperture : 7. 7세그먼트를 이용해 숫자 출력하기Aperture : 7. 7세그먼트를 이용해 숫자 출력하기
Aperture : 7. 7세그먼트를 이용해 숫자 출력하기Hyemin Song
 
Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기Hyemin Song
 
광운대[바람] 2.vhdl 기본문법
광운대[바람] 2.vhdl 기본문법광운대[바람] 2.vhdl 기본문법
광운대[바람] 2.vhdl 기본문법NAVER D2
 
Aperture : 5. 초음파센서를 이용한 거리 측정하기
Aperture : 5. 초음파센서를 이용한 거리 측정하기Aperture : 5. 초음파센서를 이용한 거리 측정하기
Aperture : 5. 초음파센서를 이용한 거리 측정하기Hyemin Song
 
손으로 만드는 아두이노
손으로 만드는 아두이노손으로 만드는 아두이노
손으로 만드는 아두이노Kisoon Eom
 
광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl introNAVER D2
 
TestBCD2016-2(Answer)
TestBCD2016-2(Answer)TestBCD2016-2(Answer)
TestBCD2016-2(Answer)Yong Heui Cho
 
Verilog 모듈 연결하기
Verilog 모듈 연결하기Verilog 모듈 연결하기
Verilog 모듈 연결하기Jihyun Lee
 
원준갓의 IoT 수업
원준갓의 IoT 수업원준갓의 IoT 수업
원준갓의 IoT 수업Won Jun Song
 
[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features Summary[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features SummaryChris Ohk
 
3D 프린터와 아두이노
3D 프린터와 아두이노3D 프린터와 아두이노
3D 프린터와 아두이노Chiwon Song
 
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기Chris Ohk
 
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard LibraryDongMin Choi
 
C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부Gwangwhi Mah
 
메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)JongyoonWon1
 
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungeescor7910
 
2 1. variables & data types
2 1. variables & data types2 1. variables & data types
2 1. variables & data types웅식 전
 

Tendances (20)

코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄
 
Aperture : 8. 스위치를 이용한 led 제어하기
Aperture : 8. 스위치를 이용한 led 제어하기Aperture : 8. 스위치를 이용한 led 제어하기
Aperture : 8. 스위치를 이용한 led 제어하기
 
Aperture : 7. 7세그먼트를 이용해 숫자 출력하기
Aperture : 7. 7세그먼트를 이용해 숫자 출력하기Aperture : 7. 7세그먼트를 이용해 숫자 출력하기
Aperture : 7. 7세그먼트를 이용해 숫자 출력하기
 
Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기
 
광운대[바람] 2.vhdl 기본문법
광운대[바람] 2.vhdl 기본문법광운대[바람] 2.vhdl 기본문법
광운대[바람] 2.vhdl 기본문법
 
Aperture : 5. 초음파센서를 이용한 거리 측정하기
Aperture : 5. 초음파센서를 이용한 거리 측정하기Aperture : 5. 초음파센서를 이용한 거리 측정하기
Aperture : 5. 초음파센서를 이용한 거리 측정하기
 
손으로 만드는 아두이노
손으로 만드는 아두이노손으로 만드는 아두이노
손으로 만드는 아두이노
 
광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro
 
TestBCD2016-2(Answer)
TestBCD2016-2(Answer)TestBCD2016-2(Answer)
TestBCD2016-2(Answer)
 
Verilog 모듈 연결하기
Verilog 모듈 연결하기Verilog 모듈 연결하기
Verilog 모듈 연결하기
 
원준갓의 IoT 수업
원준갓의 IoT 수업원준갓의 IoT 수업
원준갓의 IoT 수업
 
[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features Summary[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features Summary
 
3D 프린터와 아두이노
3D 프린터와 아두이노3D 프린터와 아두이노
3D 프린터와 아두이노
 
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
 
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
 
C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부
 
메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)
 
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungee
 
2 1. variables & data types
2 1. variables & data types2 1. variables & data types
2 1. variables & data types
 
P.E.S
P.E.SP.E.S
P.E.S
 

En vedette

[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼
[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼
[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼Codingclub
 
신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노sookmyungvisual
 
[JCLP Season 01] Maker Project Day 1 - 1
[JCLP Season 01] Maker Project Day 1 - 1[JCLP Season 01] Maker Project Day 1 - 1
[JCLP Season 01] Maker Project Day 1 - 1Junhyuk Lee
 
[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬
[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬
[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬Codingclub
 
아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)gongdigi24
 
Victoria's Secret Angels Campaign
Victoria's Secret Angels CampaignVictoria's Secret Angels Campaign
Victoria's Secret Angels CampaignJohn White
 

En vedette (6)

[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼
[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼
[아두이노 워크샵 1차] 아두이노 소개 / LED / 피에조 부저 / 버튼
 
신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노
 
[JCLP Season 01] Maker Project Day 1 - 1
[JCLP Season 01] Maker Project Day 1 - 1[JCLP Season 01] Maker Project Day 1 - 1
[JCLP Season 01] Maker Project Day 1 - 1
 
[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬
[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬
[알고리즘 스터디 3주차]기수정렬/계수정렬/버킷정렬
 
아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)
 
Victoria's Secret Angels Campaign
Victoria's Secret Angels CampaignVictoria's Secret Angels Campaign
Victoria's Secret Angels Campaign
 

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

TestBCD2018-2(answer)
TestBCD2018-2(answer)TestBCD2018-2(answer)
TestBCD2018-2(answer)Yong Heui Cho
 
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서tcaesvk
 
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.chcbaram
 
[2] 아두이노 활용 실습
[2] 아두이노 활용 실습[2] 아두이노 활용 실습
[2] 아두이노 활용 실습Chiwon Song
 
아두이노 RC카 만들기
아두이노 RC카 만들기아두이노 RC카 만들기
아두이노 RC카 만들기Chiwon Song
 
ADC(nanheekim)
ADC(nanheekim)ADC(nanheekim)
ADC(nanheekim)Nanhee Kim
 

Similaire à 창조경제 IoT 해커톤 교육 4일차 (10)

Avr lecture2
Avr lecture2Avr lecture2
Avr lecture2
 
Avr lecture3
Avr lecture3Avr lecture3
Avr lecture3
 
TestBCD2018-2(answer)
TestBCD2018-2(answer)TestBCD2018-2(answer)
TestBCD2018-2(answer)
 
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서
 
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
 
[2] 아두이노 활용 실습
[2] 아두이노 활용 실습[2] 아두이노 활용 실습
[2] 아두이노 활용 실습
 
아두이노 RC카 만들기
아두이노 RC카 만들기아두이노 RC카 만들기
아두이노 RC카 만들기
 
Ch11
Ch11Ch11
Ch11
 
ADC(nanheekim)
ADC(nanheekim)ADC(nanheekim)
ADC(nanheekim)
 
Make: 센서
Make: 센서Make: 센서
Make: 센서
 

Plus de 유명환 FunFun Yoo

Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?유명환 FunFun Yoo
 
[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...
[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...
[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...유명환 FunFun Yoo
 
4th kcd 만물상_유명환_20141115
4th kcd 만물상_유명환_201411154th kcd 만물상_유명환_20141115
4th kcd 만물상_유명환_20141115유명환 FunFun Yoo
 
Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??유명환 FunFun Yoo
 
우분투 한국 커뮤니티 나눔모임 발표 2013-02-23
우분투 한국 커뮤니티 나눔모임 발표 2013-02-23우분투 한국 커뮤니티 나눔모임 발표 2013-02-23
우분투 한국 커뮤니티 나눔모임 발표 2013-02-23유명환 FunFun Yoo
 

Plus de 유명환 FunFun Yoo (9)

Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?
 
[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...
[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...
[제5회 KCD] 한국에서 커뮤니티를 운영한다는 건...
 
Hacking IoT
Hacking IoTHacking IoT
Hacking IoT
 
Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)
 
Maker 오해와 진실
Maker 오해와 진실Maker 오해와 진실
Maker 오해와 진실
 
4th kcd 만물상_유명환_20141115
4th kcd 만물상_유명환_201411154th kcd 만물상_유명환_20141115
4th kcd 만물상_유명환_20141115
 
Hello std.io 유명환_20140125
Hello std.io 유명환_20140125Hello std.io 유명환_20140125
Hello std.io 유명환_20140125
 
Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??
 
우분투 한국 커뮤니티 나눔모임 발표 2013-02-23
우분투 한국 커뮤니티 나눔모임 발표 2013-02-23우분투 한국 커뮤니티 나눔모임 발표 2013-02-23
우분투 한국 커뮤니티 나눔모임 발표 2013-02-23
 

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

  • 1. 서울창조경제혁신센터 창조경제 IoT 해커톤 대회 2015.9.12 ~ 9.13 4일차 교육
  • 3. 아두이노 함수 : 디지털 입출력 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
  • 4. 아두이노 함수 : 아날로그 입출력 void analogWrite(digital_pin, value) • 매개변수  digital_pin : 출력 신호를 내보낼 디지털 핀 번호  value : 0 ~ 255 사이의 PWM 값 • 반환 값 : 없음 int analogRead(analog_pin) • 매개변수  pin : (센서 등과 연결되어) 아날로그 입력 신호를 읽어 올 아날로그 핀 번호 • 반환 값 : 0 ~ 1023 사이의 아날로그 값 analogWrite() 함수는 실제 아날로그 출력이 아니라 디지털 핀에 서 출력되는 전류량을 아날로그처럼 단계적으로 조절하여 출력해주는 함 수로 Digital Pin들 이름 앞에 ‘ ~ ‘ 표 시가 되어 있는 핀들만 가능!
  • 5. 아두이노 함수 : 시리얼 모니터 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)
  • 6. Bread Board (빵판) 내부 구조 <출처> http://binworld.kr/13
  • 7. Bread Board (빵판) 사용법 http://binworld.kr/13
  • 13. 조도 센서 (CDS) http://arsviator.tistory.com/170 예제 소스는 Analog 0번 핀에 연결됨 이 그림은 참고용!!!
  • 14. 온도 센서 (LM35) <출처> http://blog.opid.kr/458 http://blog.opid.kr/458 ※ 주의 : +5V 와 GND 를 잘못 연결하면 매우 뜨거워 화상의 우려가 있으니 주의할 것!!! ☆ 온도 구하는 공식 LM35 = (5.0 * analog_value * 100.0) / 1024.0;
  • 17. Single DC Motor Driver : DRV8838 http://www.devicemart.co.kr/1170534 3.3V3.3 or 5V
  • 18. Single DC Motor Driver : DRV8838
  • 19. Single DC Motor Driver : DRV8838
  • 20. Single DC Motor Driver : DRV8838
  • 21. 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); // Forward digitalWrite(PH_pin, LOW); // Forward delay(3000); digitalWrite(EN_pin, LOW); // Stop digitalWrite(PH_pin, LOW); // Stop delay(3000); digitalWrite(EN_pin, HIGH); // Reverse digitalWrite(PH_pin, HIGH); // Reverse delay(3000); digitalWrite(EN_pin, LOW); // Stop digitalWrite(PH_pin, LOW); // Stop delay(3000); } drv8838_test.ino
  • 24. 블루투스 모듈 : HC-06 아두이노 용으로 가장 많이 사용됨!
  • 25. 블루투스 모듈 : HC-06 For Software Serial
  • 26. 블루투스 예제 (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
  • 27. 블루투스 : PC 연결 방법
  • 28. 블루투스 : PC 연결 방법
  • 29. 블루투스 : PC 연결 방법
  • 30. 블루투스 : PC 연결 방법 http://www.hw-group.com/products/hercules/index_en.html
  • 31. 블루투스 예제 (2) : LED On/Off #include <SoftwareSerial.h> SoftwareSerial BTSerial(2, 3); // RX : 2, TX : 3 int 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)"); } else Serial.write(" (Wrong Data! Please Input 1 or 0)"); Serial.write('n'); } } bt_led.ino
  • 32. Share Knowledge & Share Spirit 유 명 환, funfun.yoo@gmail.com