아두이노 프로젝트
블루투스로 온도계와 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 ( )
{
}
}
}