메이킹 일지 (진행 중)/겨울철 조류 온수 보급 프로젝트

겨울철 조류 온수 보급 프로젝트 - 3. 센서 교체 및 블링크 수정

  • -

 

https://bker001.tistory.com/414

 

겨울철 조류 온수 보급 프로젝트 - 2. 블링크와 연동 / 코딩

https://bker001.tistory.com/412 겨울철 조류 온수 보급 프로젝트 - 1. 개요&블링크 이 프로젝트의 시작도 여느때와 같이 하나의 영상이었습니다. 바로 https://www.youtube.com/watch?v=gOkyFpREeko 이 영상 저는 이

bker001.tistory.com

 

 

저번 글에서 끝낼 때는 물의 온도를 보다 정확히 측정할 수 있는 센서 (DS18B20)를 기다린다고 말씀드렸었습니다

한참 기다리니 잘 도착했습니다.

 

 

 

 

같이 주문한 Esp32도 잘 와서 이어 새로 전부 맞게 회로를 쫘봤습니다.

맨처음에는 아래같은 사진을 보고 4.7k옴 저항이 필요한 줄 알고 있었는데, 자체적인 중간 터미널이 있으면 이것이 포함되어 있음을 나중에 알게 되어 회로를 수정해줬습니다.

 

 

 

https://esp32io.com/tutorials/esp32-temperature-sensor

 

 

 

 

이렇게 온도에 따라서 잘 따라노는 것을 볼 수 있습니다.

코드는 아까 DS센서를 참고한 사이트에서 따왔고 여기에 추가 Blynk 사이트에 활용가능하게 다시 수정해주면서 만들었습니다.

 

 

#include <OneWire.h>
#include <DallasTemperature.h>

#define SENSOR_PIN  17 // ESP32 pin GPIO17 connected to DS18B20 sensor's DATA pin

OneWire oneWire(SENSOR_PIN);
DallasTemperature DS18B20(&oneWire);

float tempC; // temperature in Celsius
float tempF; // temperature in Fahrenheit

void setup() {
  Serial.begin(9600); // initialize serial
  DS18B20.begin();    // initialize the DS18B20 sensor
}

void loop() {
  DS18B20.requestTemperatures();       // send the command to get temperatures
  tempC = DS18B20.getTempCByIndex(0);  // read temperature in °C
  tempF = tempC * 9 / 5 + 32; // convert °C to °F

  Serial.print("Temperature: ");
  Serial.print(tempC);    // print the temperature in °C
  Serial.print("°C");
  Serial.print("  ~  ");  // separator between °C and °F
  Serial.print(tempF);    // print the temperature in °F
  Serial.println("°F");

  delay(500);
}

 

 

 

 

이제 수정을 통해 히터에 수동으로 파워를 줄 수도 있고, TEMP라는 버튼을 통해 조건으로 측정한 물온도가 20도 이하일때 히터가 켜지며 20도 이상까지 올라가게 코딩해놨습니다

 

이제 슬슬 거의 끝나가는데 여기에도 PCB와 실험을 통해 프로젝트를 마무리해야겠습니다!

반응형
Contents

포스팅 주소를 복사했습니다!

이 글이 도움이 되었다면 추천 부탁드립니다!