Rabu Sensor PH 4502C
Alat dan bahan
ESP32
Sensor PH
Kabel jumper female to female
kabel data type c
Sensor yang dipakai
Wiring
Kode yang dipakai
int pH_Value;
float Voltage;
void setup()
{
Serial.begin(9600);
pinMode(pH_Value, INPUT);
}
void loop()
{
pH_Value = analogRead(34);
Voltage = pH_Value * (3.3 / 4095.0);
Serial.println(Voltage);
delay(500);
}
Hasil dari kaliberasi
larutan PH 10 yang akan dipakai untuk tes pada sensor PH
Kode yang dipakai
#include <Wire.h>
float calibration_value = 21.34 + 1.0;
unsigned long int avgval;
int buffer_arr[10], temp;
float ph_act;
// Tentukan pin analog untuk sensor pH
#define PH_SENSOR_PIN 34 // GPIO34 contoh, bisa ganti ke pin analog lain
void setup() {
Wire.begin();
Serial.begin(115200); // Baudrate umum ESP32
delay(2000);
}
void loop() {
// Baca data analog
for (int i = 0; i < 10; i++) {
buffer_arr[i] = analogRead(PH_SENSOR_PIN);
delay(30);
}
// Urutkan data (bubble sort)
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 10; j++) {
if (buffer_arr[i] > buffer_arr[j]) {
temp = buffer_arr[i];
buffer_arr[i] = buffer_arr[j];
buffer_arr[j] = temp;
}
}
}
// Ambil rata-rata dari data tengah
avgval = 0;
for (int i = 2; i < 8; i++)
avgval += buffer_arr[i];
// Konversi ke voltase ESP32
float volt = (float)avgval * 3.3 / 4095.0 / 6;
ph_act = -5.70 * volt + calibration_value;
// Tampilkan di Serial Monitor
Serial.print("pH Value: ");
Serial.println(ph_act);
delay(1000); // Delay untuk kestabilan pembacaan
}
Hasil di serial Monitor
Sensor PH dapat mengukur sesuai larutan PH Secara akurat
Komentar
Posting Komentar