//-- inisialisasi Koneksi WIFI
#include <WiFi.h>
#include <WiFiClient.h>
//-Inisialisasi Blynk
#include <BlynkSimpleEsp32.h>
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPLN1elUrsK"
#define BLYNK_DEVICE_NAME "I0T4 8"
#define BLYNK_AUTH_TOKEN "fxA5bSryRTGTB6_ngLyeYjdnOKFxWtBl"
//Auth
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
//-- inisialisasi OLED 128X64 px
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
//const int lebar = 128;
//const int tinggi = 64;
//const int reset =4;
Adafruit_SSD1306 display(128, 64, &Wire, 4);
//-- inisialiasi sensor tegangan
#define sensor_pin 36
int sensor_raw;
float sensor_value;
float tegangan;
float R1 =30100; //nilai 30.1 Kilo Ohm
float R2 = 7500; // NILAI 7.5 ohm
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(1);
display.setTextSize(1);
display.display();
}
void loop() {
Blynk.run();
sensor_raw = analogRead(sensor_pin);
//Rumus pembagi tegangan
sensor_value = sensor_raw = 3.3/4096;
sensor_value = sensor_value / (R2/ (R2+R1));
tegangan = sensor_value;
tampilkan_tegangan_pada_oled();
Serial.print("Tegangan : ");
Serial.println(tegangan);
//kirim data
Blynk.virtualWrite(V0, tegangan);
delay(500);
}
void tampilkan_tegangan_pada_oled()
{
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(1);
display.setTextSize(1);
display.setCursor(3,5);
display.println("TEGANGAN :");
display.setCursor(68,5);
display.print(tegangan);
display.setCursor(100,5);
display.println("V");
display.display();
}