아두이노 프로젝트

블루투스로 온도계와 lcd연결하기(★★★★★)

ByteCraftCreations 2023. 10. 23. 19:28

유튜브 : https://youtu.be/IeTETtdmhB4

안녕하세요 Byte Craft입니다.

 

이번 시간에는 블루투스 모듈을 이용하여 온습도계로 읽은 값을

 

멀리 떨어진 곳에 lcd로 출력하는 예제를 해보겠습니다.

먼저 온습도계에 해당하는 부분의 블루투스 모듈을 세팅하겠습니다.

 

VCC 5V
GND GND
Tx 7
Rx 8

회로 연결할 때 Tx와 Rx는 통신핀인데 아래 코드에서 제가 설정한 것입니다.

 

그대로 따라 하셔도 되고 조건에 따라 바꿔서 사용하시면 됩니다.

 

아래 코드 그대로 복사해서 아두이노에 붙여넣어 주세요

블루투스 세팅

#include <SoftwareSerial.h> 

SoftwareSerial BT(7, 8); //  (TX,RX) 연결순서

void setup(){
Serial.begin(9600);
BT.begin(9600);
}

void loop(){

  while (BT.available())
  { 
   byte data = BT.read();
   Serial.write(data);
  }  
 
  while (Serial.available())
  {
    byte data = Serial.read();
    BT.write(data); 
  }
}

초기화, 재부팅, 이름 변경 정도만 해주시면 됩니다.

 

이제 이 아두이노에 온습도계를 달고 세팅을 하겠습니다.

 

연결 회로도와 설명은 유튜브를 참고해주세요

 

온도계쪽

#include <SoftwareSerial.h> 
#include <DFRobot_DHT11.h>

#define DHT11_PIN 13  

DFRobot_DHT11 DHT;  
SoftwareSerial BT(7, 8); //  (TX,RX) 연결순서

void setup()
{
  BT.begin(9600);
}

void loop()
{
  DHT.read(DHT11_PIN);

}

온도계쪽 세팅이 끝났으면 lcd쪽 세팅하겠습니다. 

 

유튜브 참고해서 회로 연결 해주시고

 

먼저 블루투스를 연결하겠습니다. 

 

 

lcd쪽

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <SoftwareSerial.h> 

SoftwareSerial BT(7, 8); // 소프트웨어 시리얼 (TX,RX) 
LiquidCrystal_I2C lcd(0x27, 16, 2);
 void setup() {
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);
  BT.begin(9600);

  lcd.setCursor(0, 0);
  lcd.print("Temp:");
  lcd.setCursor(0, 1);
  lcd.print("Humidity:");
}
void loop() {
  if (BT.available()) 
  {

    if ( ) 
    {

    } 
    else if ( )
    {

    }
  }
}