Phần 3: Cài đặt Arduino IDE và kiểm tra cảm biến
Hướng dẫn cài ESP32 board, thư viện cần thiết và kiểm tra raw ADC/DS18B20 trước khi ghép hệ thống.
Phần 3: Cài đặt Arduino IDE và kiểm tra cảm biến
Trước khi viết chương trình hoàn chỉnh, nên kiểm tra từng cảm biến riêng lẻ. Cách này giúp phát hiện sớm lỗi dây, lỗi nguồn, sai chân hoặc cảm biến không hoạt động.
3.1. Cài ESP32 board trong Arduino IDE
- Mở File > Preferences.
- Thêm URL sau vào Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Vào Tools > Board > Boards Manager.
- Tìm
esp32và cài package esp32 by Espressif Systems. - Chọn board ESP32 Dev Module.
3.2. Cài thư viện
Cài các thư viện sau trong Library Manager:
OneWireDallasTemperaturePubSubClientcho phần MQTTArduinoJsoncho phần MQTT
3.3. Kiểm tra raw ADC
Upload chương trình kiểm tra ADC để xem tín hiệu analog từ TDS, pH và turbidity có thay đổi hay không.
#define PIN_TDS 34
#define PIN_PH 35
#define PIN_TURBIDITY 32
void setup() {
Serial.begin(115200);
delay(1000);
analogReadResolution(12);
analogSetAttenuation(ADC_11db);
Serial.println("ESP32 ADC Raw Test");
}
void loop() {
int rawTds = analogRead(PIN_TDS);
int rawPh = analogRead(PIN_PH);
int rawTurbidity = analogRead(PIN_TURBIDITY);
Serial.print("TDS Raw: ");
Serial.print(rawTds);
Serial.print(" | pH Raw: ");
Serial.print(rawPh);
Serial.print(" | Turbidity Raw: ");
Serial.println(rawTurbidity);
delay(1000);
}
Kết quả mong đợi:
TDS Raw: 1230 | pH Raw: 2045 | Turbidity Raw: 2870
3.4. Kiểm tra DS18B20
#include <OneWire.h>
#include <DallasTemperature.h>
#define PIN_ONE_WIRE 4
OneWire oneWire(PIN_ONE_WIRE);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
delay(1000);
sensors.begin();
Serial.println("DS18B20 Temperature Test");
}
void loop() {
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
delay(1000);
}
Nếu nhận giá trị -127.00 °C, thường là thiếu điện trở kéo lên, sai chân DATA hoặc dây bị lỏng.
