#include <Arduino.h>
// Deklarasi variabel
uint16_t plannedProductionTime = 480; // 480 menit (8 jam)
uint16_t downtime = 80; // 80 menit downtime
uint16_t totalOutput = 1000; // 1000 unit produk
uint16_t goodOutput = 950; // 950 unit produk baik
float idealCycleTime = 0.4; // 0.4 menit per unit
void setup() {
Serial.begin(115200);
// Hitung nilai actual operating time
uint16_t actualOperatingTime = plannedProductionTime - downtime;
// Hitung Availability
float availability = (float)actualOperatingTime / plannedProductionTime;
// Hitung Performance
float performance = ((float)totalOutput * idealCycleTime) / actualOperatingTime;
// Hitung Quality
float quality = (float)goodOutput / totalOutput;
// Hitung OEE
float oee = availability * performance * quality;
// Cetak hasil ke Serial Monitor
Serial.println("=== OEE Calculation ===");
Serial.print("Availability: "); Serial.println(availability * 100, 2);
Serial.print("Performance: "); Serial.println(performance * 100, 2);
Serial.print("Quality: "); Serial.println(quality * 100, 2);
Serial.print("OEE: "); Serial.println(oee * 100, 2);
}
void loop() {
// Tidak ada loop karena hanya melakukan perhitungan sekali
}