BASIC4MCU | 질문게시판 | 앱인벤터 질문있습니다
페이지 정보
작성자 제임스키드 작성일2019-11-14 13:44 조회6,450회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=10720
본문
아두이노 코드 질문입니다
#include#include#include#include#define DHTPIN A1#define relay 10#define relayA 11#define DHTTYPE DHT22DHT dht(DHTPIN,DHTTYPE);bool flag=0;int h,t,gas,gas2;int TxPin = 2;int RxPin = 3;char crt1, crt2;int i;SoftwareSerial BTSerial(TxPin, RxPin);void setup(){Serial.begin(9600);pinMode(A0,INPUT); pinMode(A2,INPUT);pinMode(relay,OUTPUT); pinMode(relayA,OUTPUT);BTSerial.begin(9600);}//void loop(){h=dht.readHumidity();t=dht.readTemperature();gas=analogRead(A0);gas2=analogRead(A2);//---------------------------if(BTSerial.available()) //블루투스에서 신호가 있으면,Serial.write(BTSerial.read()); //블루투스를 읽어 시리얼 모니터에 출력if(BTSerial.available()>0){ //시리얼 모니터(PC)에서 신호가 있으면,crt1 = BTSerial.read();crt2 = BTSerial.read();}if(crt1 == 'A'){digitalWrite(relay,HIGH);}if(crt2 == 'B'){digitalWrite(relay,LOW);}if((gas<400)&&(h<60)){Serial.println(h);Serial.print("%");Serial.println(gas);BTSerial.write(Serial.read()); //시리얼 모니터 입력 내용을 블루투스에 출력BTSerial.print("습도: ");BTSerial.print(h);BTSerial.println("% ");BTSerial.print("가스 ");BTSerial.print(gas);digitalWrite(relay,LOW);}else{digitalWrite(relay,HIGH);if(h > 60){Serial.println(h);Serial.println("humidity.WARNING");BTSerial.print(h);BTSerial.print("습도 warning ");delay(10000);BTSerial.print("% ");}if(gas>400){ Serial.print(gas);Serial.println("gas.WARNING");BTSerial.print(gas);BTSerial.print("gas warning ");delay(15000);}}if(gas<400){if(flag){ flag=0;Serial.print("perfume");delay(10000);digitalWrite(relayA,HIGH);for(i=0;i<100;i++){delay(100);}digitalWrite(relayA,LOW);}}else{ flag=1; }delay(1000);}앱인벤터로 릴레이를 제어하고 싶은데 블루투스 통신은 되는데 제어가 안되네요.블루투스 연결하고 버튼2 누르면 시리얼 모니터에 A만 뜰뿐 릴레이가 HIGH되거나 LOW되지 않는데 이런방식으로 하는게 아닌가요? 어떤 방식으로 코드를 짜야할까요?? 아니면 블럭을 잘못 만든건가요?아니면 블루투스가 연결되었을때 loop하나 블루투스가 연결되지 않았을때 loop 하나 조건문으로 만들어서 제어해야 하나요??
댓글 0
조회수 6,450등록된 댓글이 없습니다.