BASIC4MCU | 질문게시판 | 아두이노 블루투스(hc-06)사용중 질문있습니다.
페이지 정보
작성자 띵꽁 작성일2022-05-20 22:35 조회1,380회 댓글0건첨부파일
본문
블루투스와 앱인벤터를 이용해서 네오픽셀을 제어하는데 성공은했는데
블루투스에 이때 온습도기(DHT11)을 사용해서 온도가 0~10,10~20,20~30,30~40,40~50 이렇게 색을 파란색에서 빨간색으로 가게 하고싶은데 이게 보니까
블루투스를 연결해서 제어를 해버리면 그때부터 블루투스를통한 인식이 우선이고 제대로 안되더라구요....
제발 부탁드립니다. 도와주십시요...ㅠㅠ
첨부파일은 앱인벤터로 만든 앱 입니다.
아래는 현재까지 제가 작성한 코딩입니다.
#include <SoftwareSerial.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
#define LED_COUNT 16
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
int delayval=20;
SoftwareSerial bluetooth(2,3);
#include <Wire.h>
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 7
#define DHYTPYE DHT11
hd44780_I2Cexp lcd;
DHT dht (DHTPIN, DHYTPYE);
void setup() {
pixels.begin();
bluetooth.begin(9600);
lcd.begin(16, 2);
dht.begin();
Serial.begin(9600);
}
byte r = 0, g = 0, b = 0;
void loop() {
float humi, temp;
temp = dht.readTemperature();
humi = dht.readHumidity();
if(isnan(humi) || isnan(temp)){
Serial.println("Failed to read the DHT sensor!");
return;
}
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print("temp: ");
lcd.print(temp);
lcd.setCursor (0, 1);
lcd.print("humi: ");
lcd.print (humi);
delay(300);
if(bluetooth.available()>2){
r = bluetooth.read();
g = bluetooth.read();
b = bluetooth.read();
bluetooth.flush();
for(int i=LED_COUNT;i>=0; i--){
pixels.setPixelColor(i, pixels.Color(0,0,0));
pixels.show();
delay(delayval);
}
delay(delayval);
for(int i=0; i<LED_COUNT; i++){
pixels.setPixelColor(i, pixels.Color(r,g,b));
pixels.show();
delay(delayval);
}
}
}
댓글 0
조회수 1,380등록된 댓글이 없습니다.