Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27,16,2);
- double sensorValue1 = 0;
- double sensorValue2 = 0;
- int crosscount = 0;
- int climb_flag = 0;
- int val[100];
- int max_v = 0;
- double VmaxD = 0;
- double VeffD = 0;
- double Veff = 0;
- int xCoord = 0;
- void setup() {
- Serial.begin(9600);
- lcd.init();
- lcd.backlight();
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("Daradici Levente");
- lcd.setCursor(2,1);
- lcd.print("AC Voltmeter");
- delay(3000);
- lcd.clear();
- }
- void loop() {
- for ( int i = 0; i < 100; i++ ) {
- sensorValue1 = analogRead(A0);
- if (analogRead(A0) > 511) {
- val[i] = sensorValue1;
- }
- else {
- val[i] = 0;
- }
- delay(1);
- }
- max_v = 0;
- for ( int i = 0; i < 100; i++ )
- {
- if ( val[i] > max_v )
- {
- max_v = val[i];
- }
- val[i] = 0;
- }
- if (max_v != 0) {
- VmaxD = max_v;
- VeffD = VmaxD / sqrt(2);
- Veff = (((VeffD - 420.76) / -90.24) * -210.2) + 210.2;
- }
- else {
- Veff = 0;
- }
- Serial.print("Voltage: ");
- Serial.println(Veff);
- VmaxD = 0;
- if (Veff < 1000) { xCoord = 8; }
- if (Veff < 100) { xCoord = 9; }
- if (Veff < 10) { xCoord = 10; }
- lcd.clear();
- lcd.setCursor(xCoord,1);
- lcd.print(Veff);
- lcd.setCursor(15,1);
- lcd.print("V");
- delay(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement