BASIC4MCU | 질문게시판 | 아두이노 블루투스 값 읽어들이는 부분
페이지 정보
작성자 juhy124 작성일2021-06-09 21:34 조회2,785회 댓글1건본문
이렇게 앱 설정 해놓고
i를 블루투스에서 받은 숫자로 저장하는 코드를 만들려고 하는데
char로 i를 선언하면 시리얼 모니터로 확인을 하면 아무 값도 뜨질 않고
int 로 i를 선언하면 -1이 계속 뜨는데 제대로 0,1을 읽어들이려면 어떻게 수정해야할까요?
#include
#include
#define LED 11SoftwareSerial BTSerial(2,3);
Adafruit_NeoPixel pixels(1,LED,NEO_GRB+NEO_KHZ800);
int Buzzer = 6;
int PIR = 7;
int state;
unsigned long t;
char i;
unsigned long previous = 0;
void setup()
{
BTSerial.begin(9600);
Serial.begin(9600);
pinMode(PIR, INPUT);
pinMode(LED, OUTPUT);
pinMode(Buzzer, OUTPUT);
pixels.begin();
pixels.show();
}void loop()
{
state = (digitalRead(7)==HIGH?1:0);
unsigned long current = millis();
t = previous - current;
previous = current;
if(BTSerial.available())
{
i = BTSerial.read();
Serial.println(i);
}
if(state == 1)
{
if(t<5000)
{
if(i=='0')
{
pixels.setPixelColor(0,0,50,0);
pixels.show();
digitalWrite(Buzzer,LOW);
}
else
{
pixels.setPixelColor(0,0,0,0);
pixels.show();
digitalWrite(Buzzer,LOW);
}
}
else
{
pixels.setPixelColor(0,50,0,0);
pixels.show();
digitalWrite(Buzzer,HIGH);
if(i='0')
{
pixels.setPixelColor(0,0,50,0);
pixels.show();
digitalWrite(Buzzer,LOW);
}
}
}
if(state == 0)
{
pixels.setPixelColor(0,0,0,0);
pixels.show();
digitalWrite(Buzzer,LOW);
}*/
}
댓글 1
조회수 2,785master님의 댓글
master 작성일
*/ 이 것은 보이는데 어째서 /*가 안보일까요?
//
if(BTSerial.available()){
i = BTSerial.read();
Serial.println(i);
}
(앱인벤터에서 정수 0,1을 보내든, 아니면 문자'0','1'을 보내든 상관없이) char든 int든 시리얼모니터에 안보이거나 -1이 출력될리가 없어보입니다.