Coding
Coding
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <Servo.h>
#include <SPI.h>
#include <MFRC522.h>
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
pinMode(motionSensor, INPUT);
pinMode(vibrationSensor, INPUT);
pinMode(flameSensor, INPUT);
pinMode(buzzerPin, OUTPUT);
Serial.println("Connecting to WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("Connected to WiFi");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
bot.sendMessage(CHAT_ID, "Terkoneksi ke jaringan", "");
// Initialize Servo
myServo.attach(servoPin);
// Initialize RFID
SPI.begin(); // Inisialisasi SPI bus dengan pin yang
sesuai
rfid.PCD_Init(); // Inisialisasi MFRC522
// Wait for sensor stabilization
Serial.println("Stabilizing sensors...");
delay(5000); // Tunggu 5 detik untuk stabilisasi sensor
if (text == "/servo") {
Serial.println("Servo command received");
bot.sendMessage(CHAT_ID, "Moving servo to 150
degrees for 8 seconds", "");
myServo.write(150);
delay(8000);
myServo.write(0);
delay(1000);
bot.sendMessage(CHAT_ID, "Servo moved back to 0
degrees", "");
}
}
}
void checkSensors() {
unsigned long currentTime = millis();
// Turn on buzzer
digitalWrite(buzzerPin, HIGH);
void loop() {
checkSensors();
int numNewMessages =
bot.getUpdates(bot.last_message_received + 1);
while (numNewMessages) {
Serial.println("Got response");
handleNewMessages(numNewMessages);
numNewMessages =
bot.getUpdates(bot.last_message_received + 1);
}
}