#include "thingProperties.
h"
#include <DHT.h>
#define DHTpin 6
#define DHTTYPE DHT22
DHT dht(DHTpin, DHTTYPE);
unsigned long startTime = 0;
unsigned long stopTime = 0;
bool counting = LOW;
int workState = 0;
String cardID = "";
String content = "";
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
[Link](9600);
delay(1500);
// Prosedur untuk menambahkan library DHT
[Link]();
// Kode untuk mendefinisikan fungsi pin
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(7, INPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
// Kode untuk menghubungkan Arduino Nano 33 dengan IoT Cloud
initProperties();
[Link](ArduinoIoTPreferredConnection);
// Kode untuk mendeteksi status koneksi
setDebugMessageLevel(2);
[Link]();
[Link]();
mfrc522.PCD_Init();
}
void loop() {
[Link]();
// Kode untuk mengambil data temperatur
float temp = [Link]();
temperature = temp;
// Kode yang memonitor status mesin
if (digitalRead(2) == HIGH) {
machineState = 1;
if (digitalRead(3) == HIGH) {
machineState = 2;
}
else {
machineState = 1;
}
}
else {
machineState = 0;
}
// Kode yang mengatur mekanisme perhitungan waktu spindle menyala
if (machineState == 2 && counting == LOW) {
//Mulai hitung spindle nyala
startTime = millis(); //Waktu mulai kecatat
counting = HIGH; //Status yang kasih tau kalau lagi ngitung waktu
}
if (machineState != 2 && counting == HIGH) {
counting = LOW; //Status yang kasih tau kalau lagi ga ngitung waktu
processingTime = processingTime + ((millis() - startTime) / 1000);
startTime = millis();
}
//Perintah terkait dengan status kerja
if (mfrc522.PICC_IsNewCardPresent()) {
if (mfrc522.PICC_ReadCardSerial()) {
delay(1000);
workState = workState + 1;
}
}
//Perintah perekaman waktu kerja
if (workState == 1) {
workStart = millis();
[Link]("1");
}
else if (workState > 1) {
workingTime = workingTime + ((millis() - workStart) / 1000);
workStart = millis();
workState = 0;
[Link]("0");
}
//Perekaman waktu setup time
setupTime = workingTime - processingTime;
//Menyalakan dan mematikan LED 1 dan LED 2
if (temperature >= 40) {
delay(10000)
if (temperature >= 40) {
digitalWrite(8,HIGH);
delay(10000)
if (temperature >= 40) {
digitalWrite(9,HIGH);
}
}
}
else {
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
}