delay(500);
lcd.setCursor(0,1); lcd.print(" "); lcd.setCursor(0,1); lcd.print(voltageRMS); lcd.print(" V AC"); zmpt101b voltage sensor library for proteus
In this post, I’ll walk you through why this library is essential, where to find it, and how to simulate a complete energy monitoring system step-by-step. Before we jump into simulation, let’s recap the hardware. The ZMPT101B is a PCB module built around a precision voltage transformer (ZMPT101B). It takes high AC voltage (up to 250V AC) and outputs a low AC signal (0-5V) proportional to the input. Most importantly, it provides galvanic isolation between the mains side and your microcontroller. delay(500); lcd
void loop() // Sample multiple times to find peak float maxV = 0; for(int i=0; i<200; i++) readValue = analogRead(A0); // 0-1023 float voltage = (readValue / 1023.0) * 5.0; // Convert to 0-5V if(voltage > maxV) maxV = voltage; delayMicroseconds(100); It takes high AC voltage (up to 250V
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); float voltageRMS = 0; float readValue = 0; float Vref = 2.5; // Output offset of ZMPT101B (adjust based on simulation)