3 Software Serial 7 LED OnOff 8 OnOff

  • Slides: 33
Download presentation

3 아두이노 코 드 Software Serial

3 아두이노 코 드 Software Serial

프로젝트 7 : 앱으로 아두이노 보드의 LED On/Off 8 주제 � � 앱에서 On/Off

프로젝트 7 : 앱으로 아두이노 보드의 LED On/Off 8 주제 � � 앱에서 On/Off 버튼으로 아두이노의 LED 켜고 끄기 스케치 코드 #include <Software. Serial. h> // 2, 3번 핀을 이용 Software. Serial bluetooth(2, 3); // 2<-->BT의 TX, 3<-->BT의 RX int led. Pin = 8; void setup( ) { bluetooth. begin(9600); // 반드시 필요함 pin. Mode(led. Pin, OUTPUT); }; void loop() { if (bluetooth. available()){ byte read = bluetooth. read(); if (read == 1) digital. Write(led. Pin, HIGH); else if (read == 2) digital. Write(led. Pin, LOW); } }

9

9

프로젝트 8 : 앱에서 버튼으로 아두이노의 LED 밝기 조절 10 주제 � � 앱에서

프로젝트 8 : 앱에서 버튼으로 아두이노의 LED 밝기 조절 10 주제 � � 앱에서 Increase 버튼으로 아두이노의 LED 밝기 조절 스케치 코드 #include <Software. Serial. h> // 2, 3번 핀을 이용 Software. Serial bluetooth(2, 3); // 2<-->BT의 TX, 3<-->BT의 RX int led. Pin = 5; void setup( ) { bluetooth. begin(9600); // 반드시 필요함 pin. Mode(led. Pin, OUTPUT); } void loop() { if (bluetooth. available()) { byte read = bluetooth. read(); analog. Write(led. Pin, read); } }

11

11

프로젝트 10 : 온도 센서 값을 앱에서 읽기 23 주제 � 앱에서 아두이노가 보낸

프로젝트 10 : 온도 센서 값을 앱에서 읽기 23 주제 � 앱에서 아두이노가 보낸 센서 값을 받아 사용자에게 출력 스케치 � � 블루투스 : 디지털 2, 3번 라인 온도 센서 : 아날로그 2번으로 입력 LM 35 2 3 GND 5 V #include <Software. Serial. h> // 2, 3번 핀을 이용 Software. Serial bluetooth(2, 3); // 2<-->BT의 TX, // 3<-->BT의 RX int analog. Pin = 2; void setup( ) { bluetooth. begin(9600); // 반드시 필요함 }; void loop() { int val = analog. Read(analog. Pin); // val는 0~1023 사이의 숫자임 int cel = (val/1024. 0)*5000/10; // degree로 변환 cel = cel*255. 0/30; } bluetooth. write((byte)cel); delay(1000); // 1초마다 한 번씩 전송

프로젝트 11 : 초음파 센서 값을 앱에서 읽기 26 스케치 � � � 블루투스

프로젝트 11 : 초음파 센서 값을 앱에서 읽기 26 스케치 � � � 블루투스 : 디지털 2, 3번 라인 Echo 신호 : 디지털 7번핀 Trig 신호 : 디지털 8번핀 #include <Software. Serial. h> // 2, 3번 핀을 이용 Software. Serial bluetooth(2, 3); // 2<-->BT의 TX, // 3<-->BT의 RX int echo. Pin = 7; int trig. Pin = 8; int distance = 0; void setup( ) { bluetooth. begin(9600); // 반드시 필요함 pin. Mode(echo. Pin, INPUT); pin. Mode(trig. Pin, OUTPUT); }; void loop() { digital. Write(trig. Pin, LOW); delay. Microseconds(2); digital. Write(trig. Pin, HIGH); delay. Microseconds(10); // 340 m/s의 음파는 1 cm 당 29 us가 걸린다. // 1 cm의 왕복 시간은 58 us 임 // 총 시간(us)을 58로 나누면 몇 cm인지 알 수 있음 distance = pulse. In(echo. Pin, HIGH); distance = distance / 58; // cm 단위의 거리 2 3 GND // 0에서 100 cm 까지만 처리 if(distance > 100) distance = 100; 5 V } bluetooth. write((byte)distance); delay(200); // 0. 2초마다 거리 값 전송

회로 구성 및 스케치 코드 29 void setup( ) { pin. Mode(4, OUTPUT); //

회로 구성 및 스케치 코드 29 void setup( ) { pin. Mode(4, OUTPUT); // IN 1 pin. Mode(9, OUTPUT); // IN 2 pin. Mode(5, OUTPUT); // EN } void loop() { // 정방향 회전 모드 지정 digital. Write(4, HIGH); digital. Write(9, LOW); // 회전 속도 최고 digital. Write(5, HIGH); delay(1000); // 회전 속도 최저. 정지 digital. Write(5, LOW); delay(1000); D 4 D 5 // 역방향 회전 모드 지정 digital. Write(4, LOW); digital. Write(9, HIGH); GND D 9 5 V // 회전 속도 최고 digital. Write(5, HIGH); delay(1000); 빵판 } // 회전 속도 최저. 정지 digital. Write(5, LOW); delay(1000);

스케치 코드 32 #include <Software. Serial. h> Software. Serial bluetooth(2, 3); // 2<-->BT의 TX,

스케치 코드 32 #include <Software. Serial. h> Software. Serial bluetooth(2, 3); // 2<-->BT의 TX, // 3<-->BT의 RX void setup( ) { bluetooth. begin(9600); pin. Mode(4, OUTPUT); pin. Mode(9, OUTPUT); pin. Mode(5, OUTPUT); } // // } // 회전 속도 최고 digital. Write(5, HIGH); 반드시 필요함 IN 1 IN 2 EN int speed = 255; void loop() { if (bluetooth. available()) { byte read = bluetooth. read(); //Serial. print(read); if(read == 1) { // 정방향 회전 모드 지정 digital. Write(4, HIGH); digital. Write(9, LOW); // 회전 속도 최고 digital. Write(5, HIGH); else if(read == 2) { // 역방향 회전 모드 지정 digital. Write(4, LOW); digital. Write(9, HIGH); } else if(read == 3) { // 천천히 speed -= 50; if(speed < 0) speed = 0; analog. Write(5, speed); } else if(read == 0) { digital. Write(5, LOW); // 속도 0 digital. Write(4, LOW); // 중지(4번, 5번이 모두 LOW이면 중지) digital. Write(9, LOW); // 중지 } } }

33

33