BASIC4MCU | 질문게시판 | 초음파센서 3개 블루투스
페이지 정보
작성자 뚝딱뚝딱 작성일2022-11-06 16:04 조회3,250회 댓글0건본문
초음파센서 3개를통해 얻은 정보를 앱인벤터 내에 정보를 보내려고하는데
#include <SoftwareSerial.h>
SoftwareSerial HC06(2, 3); // RX, TX
int trigPin2 = 4;
int echoPin2 = 5;
int trigPin3 = 6;
int echoPin3 = 7;
int trigPin4 = 8;
int echoPin4 = 9;
//변수를 설정합니다.
long duration2, distance2;
long duration3, distance3;
long duration4, distance4;
void setup() {
pinMode(trigPin2, OUTPUT); // trigPin을 출력으로
pinMode(echoPin2, INPUT); // echoPin을 입력이다.
pinMode(trigPin3, OUTPUT); // trigPin을 출력으로
pinMode(echoPin3, INPUT); // echoPin을 입력이다.
pinMode(trigPin4, OUTPUT);
pinMode(echoPin4, INPUT);
Serial.begin(9600); // 시리얼 포트를 시작합니다.
HC06.begin(9600);
}
int duration = 0;
void loop() {
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2= duration2*0.034/2;
if (distance2 >= 500 || distance2 <= 0){
Serial.println("Out of range");
}
else {
Serial.print("Sensor2 : ");
Serial.print(distance2);
Serial.println("cm");
HC06.println(duration);
}
delay(2000);
digitalWrite(trigPin3, LOW);
delayMicroseconds(2);
digitalWrite(trigPin3, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin3, LOW);
duration3 = pulseIn(echoPin3, HIGH);
distance3= duration3*0.034/2;
if (distance3 >= 500 || distance3 <= 0){
Serial.println("Out of range");
}
else {
Serial.print("Sensor3 : ");
Serial.print(distance3);
Serial.println("cm");
}
delay(2000);
digitalWrite(trigPin4, LOW);
delayMicroseconds(2);
digitalWrite(trigPin4, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin4, LOW);
duration4 = pulseIn(echoPin4, HIGH);
distance4= duration4*0.034/2;
if (distance4 >= 500 || distance4 <= 0){
Serial.println("Out of range");
}
else {
Serial.print("Sensor4 : ");
Serial.print(distance4);
Serial.println("cm");
Serial.println("");
}
delay(2000);
}
이렇게 써도 맞는걸까요?
댓글 0
조회수 3,250등록된 댓글이 없습니다.