#include #include #include #include #include #include #include #include "CTBot.h" // Deklarasi Konstanta dan Objek const char *ssid = "Arif"; const char *password = "sijisiji"; String token = "6882219025:AAH8wwvnLPwEnN7GqlpXzkgOP0Fwq6FqJdM"; const int RST_PIN = D4; const int SS_PIN = D8; const int pinBuzz = D0; const int pinCamera = D3; const int lcdColumns = 16; const int lcdRows = 2; LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows); CTBot myBot; MFRC522 rfid(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; WiFiClient wifiClient; HTTPClient http; // melakukan persiapan void setup() { delay(1000); Serial.begin(115200); lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("SYSTEM ABSENSI "); lcd.setCursor(0, 1); lcd.print(" KARYAWAN "); pinMode(pinCamera, OUTPUT); digitalWrite(pinCamera, HIGH); pinMode(pinBuzz, OUTPUT); digitalWrite(pinBuzz, HIGH); WiFi.mode(WIFI_OFF); delay(1000); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.println(""); Serial.print("Connecting"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); myBot.wifiConnect(ssid, password); myBot.setTelegramToken(token); if (myBot.testConnection()) Serial.println("\ntestConnection OK"); else Serial.println("\ntestConnection NOK"); SPI.begin(); rfid.PCD_Init(); digitalWrite(pinBuzz, LOW); delay(1000); digitalWrite(pinBuzz, HIGH); Serial.println("Ready"); lcd.clear(); lcd.setCursor(0, 0); lcd.print(" TEMPELKAN "); lcd.setCursor(0, 1); lcd.print("KARTU DISINI"); myBot.sendMessage(1263710714, "SYSTEM ABSENSI KARYAWAN"); } // melakukan looping void loop() { if (!rfid.PICC_IsNewCardPresent()) return; if (!rfid.PICC_ReadCardSerial()) return; String content = ""; for (byte i = 0; i < 4; i++) { content += (rfid.uid.uidByte[i] < 0x10 ? "0" : "") + String(rfid.uid.uidByte[i], HEX) + (i != rfid.uid.size - 1 ? "" : ""); } content.trim(); content.toUpperCase(); digitalWrite(pinBuzz, LOW); delay(500); digitalWrite(pinBuzz, HIGH); HTTPClient http; String getData, Link; getData = "?Data='" + content + "'"; Link = "http://192.168.197.197/rfidcam/esp.php" + getData; http.begin(wifiClient, Link); int httpCode = http.GET(); if (httpCode == 200) { Serial.println(content); if (content.equals("58B694A4")) { myBot.sendMessage(1263710714, "gesang budiarso berhasil melakukan absensi"); } else if (content.equals("48430FA4")) { myBot.sendMessage(1263710714, "Deny juliarto berhasil melakukan absensi"); } else if (content.equals("648D25A1")) { myBot.sendMessage(1263710714, "adimitra baratama berhasil melakukan absensi"); } else if (content.equals("43ACDA0F")) { myBot.sendMessage(1263710714, "Adi Bisono berhasil melakukan absensi"); } else if (content.equals("E2CEB61B")) { myBot.sendMessage(1263710714, "aditya koeswojo berhasil melakukan absensi"); } else if (content.equals("F2062B1B")) { myBot.sendMessage(1263710714, "Giovani Maria berhasil melakukan absensi"); } else if (content.equals("78D523A4")) { myBot.sendMessage(1263710714, "gerry prawira berhasil melakukan absensi"); } else if (content.equals("18C5D2A4")) { myBot.sendMessage(1263710714, "devin wirawan berhasil melakukan absensi"); } else if (content.equals("F344A7AA")) { myBot.sendMessage(1263710714, "adi sasono berhasil melakukan absensi"); } else if (content.equals("3893BEA4")) { myBot.sendMessage(1263710714, "devie hendrastuti berhasil melakukan absensi"); } else if (content.equals("28F235A4")) { myBot.sendMessage(1263710714, "dermawan berhasil melakukan absensi"); } else if (content.equals("B793BD66")) { myBot.sendMessage(1263710714, "GINAWAN CHONDRO berhasil melakukan absensi"); } else if (content.equals("98F5F9A4")) { myBot.sendMessage(1263710714, "Denny Wijaya berhasil melakukan absensi"); } else if (content.equals("E2B18B1B")) { myBot.sendMessage(1263710714, "GITA IRAWAN berhasil melakukan absensi"); } else if (content.equals("E28DF41B")) { myBot.sendMessage(1263710714, "Gino Junior berhasil melakukan absensi"); } else if (content.equals("71B5381B")) { myBot.sendMessage(1263710714, "HARIJANTO KOESDJOJO berhasil melakukan absensi"); } } lcd.clear(); lcd.setCursor(0, 0); lcd.print(" Absen Berhasil "); digitalWrite(pinCamera, LOW); delay(500); digitalWrite(pinCamera, HIGH); delay(2000); http.end(); rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); Serial.println("Ready"); lcd.setCursor(0, 0); lcd.print(" SCAN "); lcd.setCursor(0, 1); lcd.print(" YOUR CARD "); }