BASIC4MCU | 질문게시판 | 아두이노 앱인벤터 센서값
페이지 정보
작성자 15ef 작성일2020-11-20 17:10 조회9,532회 댓글3건본문
#include
#include
#include
#include
Servo myservo;
LiquidCrystal_I2C lcd(0x27,16,2);
#define ECHO 2
#define TRIG 3
int Tx = 12; //전송 보내는핀
int Rx = 11; //수신 받는핀
SoftwareSerial bluetooth(Tx,Rx);
int angle = 0;
int lot=3;
void setup(){
pinMode(TRIG,OUTPUT);
pinMode(ECHO,INPUT);
Serial.begin(9600);
bluetooth.begin(9600);
lcd.init();
lcd.backlight();
lcd.begin(16,2);
myservo.attach(9);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(10,OUTPUT);
digitalWrite(5,1);
digitalWrite(7,1);
digitalWrite(10,1);
digitalWrite(4,0);
digitalWrite(6,0);
digitalWrite(8,0);
}
void loop(){
if(bluetooth.available()){
mode=bluetooth.read();
if(mode=='a'){digitalWrite(8,1);
digitalWrite(10,0); }
}
//------------------------------------------------------------------------------
digitalWrite(TRIG,HIGH);delayMicroseconds(10);
digitalWrite(TRIG,LOW);
long duration=pulseIn(ECHO,HIGH);long distance=duration / 58.2;
if(distance < 10){myservo.write(90);
}
else{
myservo.write(0); }
//------------------------------------------------------------------------------
int a=analogRead(A0);
int b=analogRead(A1);
int c=analogRead(A2);
//
lot=0;
if(a<500){bluetooth.write('a');
digitalWrite(4,1);
digitalWrite(5,0);
delay(1000);} // 차량 있을 때
else{bluetooth.write('b');
digitalWrite(4,0);
digitalWrite(5,1);
lot++;
delay(1000);} // 차량 없을 때
//
if(b < 500){bluetooth.write('c');
digitalWrite(6,1);
digitalWrite(7,0);
delay(1000);} // 차량 있을 때
else{bluetooth.write('d');
digitalWrite(6,0);
digitalWrite(7,1);
lot++;
delay(1000);
} // 차량 없을 때
//
if(c < 500){bluetooth.write('e');
digitalWrite(8,1);
digitalWrite(10,0);
delay(1000);
} // 차량 있을 때
else{
bluetooth.write('f');
digitalWrite(8,0);
digitalWrite(10,1);
lot++;
delay(1000);} // 차량 없을 때
//
lcd.setCursor(0,0);lcd.print("parking lot : ");
lcd.print(lot);
delay(100);
}
그전에 질문에 해대서 잘 이해하고 수정했습니다. 위에는 앱인벤터 사진입니다.
제가 앱인벤터를 사용해서 센서값을 받아들여 이미지를 변화를 주고 싶어서 센서값을 받아 블루투스로 어플에 보내고, 변화까지는 해봤습니다. 아직 어려워서 센서값을 딜레이로 주어서 1개씩만 받게되어서 많이 이상하게 보이는데, 즉각적으로 반응하기위해서 센서값을 3개로 분할하거나 빠르게 바꾸는 효율적인 방법이 있을까요??
댓글 3
조회수 9,532master님의 댓글
master 작성일딜레이를 없애거나 줄이면 빠르게 반응합니다.
15ef님의 댓글
15ef 작성일
딜레이를 줄이거나 없애봤을 때 값들이 빠르게 들어와서 bdfbdf, aceace처럼 인식을 하는 것 같아서 이미지 변화가 없는거 같습니다....
데이터를 분할하는 방법이 있을까요???ㅜㅜ
master님의 댓글
master
숫자 경우 초당 5회~10회 정도면 사람이 인식하기에 충분합니다.
그림 같은 경우에는 그보다 느려도 충분하리라고 생각합니다.
//
채널별로 2개의 값 중 하나는 반드시 입력되므로
이미지도 채널별로 나눠서 각각 출력하세요