Skip to Content
Proje ListesiOrta7. Soğuk Zincir Alarmı

7. Soğuk Zincir Alarmı

DS18B20 sıcaklığını izleyin. PxServ’deki maksimum sıcaklık eşiği aşılırsa buzzer’ı etkinleştirip alarm durumunu gönderin.

Seviye: Orta · Süre: 45 dakika

Kapsam uyarısı

Bu proje eğitim amaçlıdır; gıda, ilaç veya yasal izlenebilirlik gerektiren soğuk zincirlerde kalibre cihaz, kesintisiz kayıt, bağımsız alarm ve doğrulanmış süreç gerekir.

Gerekenler ve bağlantılar

  • ESP32, DS18B20, 4,7 kΩ direnç, aktif buzzer
  • OneWire ve DallasTemperature kütüphaneleri
ParçaESP32
DS18B20 DQGPIO 4; DQ ile 3V3 arasına 4,7 kΩ
DS18B20 VDD / GND3V3 / GND
Buzzer SIGGPIO 23

Tam kod

#include <PxServ.h> #include <OneWire.h> #include <DallasTemperature.h> const char* WIFI_SSID = "wifi_ssid"; const char* WIFI_PASSWORD = "wifi_sifre"; const char* PXSERV_API_KEY = "pxserv_api_anahtariniz"; const int ONE_WIRE_PIN = 4; const int BUZZER_PIN = 23; PxServ client(PXSERV_API_KEY); OneWire oneWire(ONE_WIRE_PIN); DallasTemperature sensors(&oneWire); float maxTemperature = 8.0; void setup() { Serial.begin(115200); pinMode(BUZZER_PIN, OUTPUT); digitalWrite(BUZZER_PIN, LOW); sensors.begin(); PxServ::connectWifi(WIFI_SSID, WIFI_PASSWORD); } void loop() { PxServ::Callback threshold = client.getData("soguk-zincir/maksimum"); if (threshold.status == 200) maxTemperature = threshold.data.toFloat(); sensors.requestTemperatures(); float temperature = sensors.getTempCByIndex(0); if (temperature == DEVICE_DISCONNECTED_C) { digitalWrite(BUZZER_PIN, HIGH); client.setData("soguk-zincir/durum", "sensor-hatasi"); delay(5000); return; } bool alarm = temperature > maxTemperature; digitalWrite(BUZZER_PIN, alarm ? HIGH : LOW); client.setData("soguk-zincir/sicaklik", String(temperature, 2)); client.setData("soguk-zincir/esik", String(maxTemperature, 1)); client.setData("soguk-zincir/durum", alarm ? "alarm" : "normal"); delay(10000); }

Test

Önce eşiği mevcut oda sıcaklığının altında belirleyerek alarmı, sonra üzerinde belirleyerek normal durumu test edin. Sensörü çıkararak sensor-hatasi durumunun üretildiğini doğrulayın.

Teknik referans: DS18B20 üretici sayfası ve veri sayfası 

Son güncelleme