Translate

Monitor Daya Tegangan Arus DC dan RPM

Monitor Daya Tegangan Arus DC dan RPM


        Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat memonitor daya (tegangan dan arus) DC dengan menggunakan arduino. alat ini sangat sederhana yaitu hanya monitor tegangan arus dan rpm lalu menampilkannya ke lcd. untuk lebih jelasnya berikut adalah koding dan komponennya.


a. Arduno Uno




b. Sensor Tegangan DC




c. Sensor Arus Acs712




d. Sensor RPM





e. Program Arduino IDE

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

volatile byte half_revolutions;
unsigned int rpm;
unsigned long timeold;

int adcteg;
float tegangan;
int adcarus;
float v;
float arus;
boolean state=false;
char c;
float daya;

int teganganx;
int arusx;
int rpmx;

void setup(){
  
Serial.begin(9600);

attachInterrupt(0, rpm_fun, RISING);
half_revolutions = 0;
rpm = 0;
timeold = 0;
 
lcd.begin();  
lcd.clear();
lcd.noCursor();

}

void loop() {
     
adcteg = analogRead(A0);
tegangan = adcteg * (5.0 / 1023.0) * 4.8;

adcarus = analogRead(A1);
v = adcarus * (4.8 / 1023.0);
arus = (v - 2.4)/0.1;
daya = tegangan * arus;

detachInterrupt(0);  
rpm = 30*1000/(millis() - timeold)*half_revolutions;
timeold = millis();
half_revolutions = 0;
attachInterrupt(0, rpm_fun, RISING);

lcd.setCursor(0,0);
lcd.print("V=");
lcd.print(tegangan);
lcd.print("  ");
lcd.setCursor(9,0);
lcd.print("R=");
lcd.print(rpm,DEC);
lcd.print("   ");
lcd.setCursor(0,1);
lcd.print("I=");
lcd.print(arus);
lcd.print("   ");
lcd.setCursor(9,1);
lcd.print("P=");
lcd.print(daya,1);
lcd.print("   ");

teganganx = tegangan * 100;
arusx = arus * 100;
rpmx = rpm * 1;

delay(1000);

}

void rpm_fun()
{
   half_revolutions++;
}
 
 

f. VIDEO HASILNYA





No comments:

Post a Comment