#include <Adafruit_NeoPixel.h>
#include <U8g2lib.h>
#include <Wire.h>
const int pirPins[] = {18, 19}; // Definieer de pinnen voor de PIR-sensoren
const int aantalPIR = sizeof(pirPins) / sizeof(pirPins[0]);
int alarm_status = 0; // Alarm status initialiseren
void setup() {
Serial.begin(115200);
keypad_Setup(); // Roep de keypad setup functie aan
led_Setup(); // Roep de led setup functie aan
buzzer_Setup(); // Roep de buzzer setup functie aan
paniekknop_Setup(); // Roep de paniekknop setup functie aan
read_sensor_Setup();// Roep de read sensors setup functie aan
oled_Setup();// Roep de oled setup functie aan
pir_setup();// Roep de oled setup functie aan
rotary_encoder_Setup(); // Roep de rotary encoder setup functie aan
relais_Setup();// Roep de relais setup functie aan
}
void loop() {
//lees_Keypad(); // Roep de lees_keypad functie aan
//paniekknop(); // Roep de paniekknop functie aan
controleer_read_sensors(); // Roep de read sensoren functie aan
//lees_rotary_encoder();
if (alarm_status == 1) {
lees_Keypad(); // Roep de lees_keypad functie aan
} else if (alarm_status == 2) {
lees_Keypad(); // Roep de lees_keypad functie aan
knipperen();
for (int i = 0; i < aantalPIR; i++) {
leesPIR(i);
}
} else if (alarm_status == 3) {
lees_Keypad(); // Roep de lees_keypad functie aan
knipperen();
relais_schakelen(); // Roep de functie aan om het relais te schakelen
alarm_sirene_aan();
//stuur(0); // Zet de LED uit als knipperen is uitgeschakeld
} else if (alarm_status == 4) {
instellingen_scherm();
} else if (alarm_status == 5) {
pir_scherm();
} else if (alarm_status == 6) {
gebruiker_toevoegen_scherm();
} else if (alarm_status == 7) {
gebruiker_verwijderen_scherm();
} else {
start_scherm(); // Correcte aanroep van start_scherm
schakel_neopixels_uit();
alarm_sirene_uit();
stuur_relais(0); // Zet de relais uit
stuur(0); // Zet de LED uit als knipperen is uitgeschakeld
}
delay(10); // Vertraging van 10 milliseconden om de simulatie te verbeteren
}