Bonjour,
je suis débutante en Arduino et j'ai un problème dans mon projet qui peut être au niveau de mon programme.
Mon projet est une alarme avec une carte arduino, capteur PIR, un buzzer, une touchpad TTP224 et un écran LCD.
Voici le programme que j'ai fait :
#include <LiquidCrystal.h> // includes the LiquidCrystal Library
#include <Wire.h> // library for Touchpad
#define buzzer 8
#define PIR 13
int screenOffMsg = 0;
String motdepasse = "1234";
String tempPassword;
boolean activated = false; // State of the alarm
boolean isActivated;
boolean activateAlarm = false;
boolean alarmActivated = false;
boolean enteredPassword; // State of the entered password to stop the alarm
const int TouchPin1 = 12;
const int TouchPin2 = 11;
const int TouchPin3 = 10 ;
const int TouchPin4 = 9 ;
int buttonState = 0;
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)
void setup() {
lcd.begin(16, 2);
pinMode(buzzer, OUTPUT); // Set buzzer as an output
pinMode(PIR, INPUT); //la broche du capteur est mise en entree
pinMode(TouchPin1, INPUT);
pinMode(TouchPin2, INPUT);
pinMode(TouchPin3, INPUT);
pinMode(TouchPin4, INPUT);
lcd.print("St 1 2 3 4");
}
void loop() {
if (activateAlarm) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("L'alarme va");
lcd.setCursor(0, 1);
lcd.print("s'activer dans");
int countdown = 9; // 9 seconds count down before activating the alarm
while (countdown != 0) {
lcd.setCursor(13, 1);
lcd.print(countdown);
countdown--;
tone(buzzer, 700, 100);
delay(1000);
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Alarm Activated!");
activateAlarm = false;
alarmActivated = true;
}
if (!alarmActivated) {
if (screenOffMsg == 0 ) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("A - Activate");
}
if (digitalRead (TouchPin1)) { //If 1 is pressed, activate the alarm
tone(buzzer, 1000, 200);
activateAlarm = true;
} else
noTone(buzzer);
}
if ( tempPassword == motdepasse ) {
activated = false;
alarmActivated = false;
noTone(buzzer);
screenOffMsg = 0;
}
else if (tempPassword != motdepasse) {
lcd.setCursor(0, 1);
lcd.print("Wrong! Try Again");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" *** ALARM *** ");
lcd.setCursor(0, 1);
lcd.print("Pass>");
}
buttonState = digitalRead(PIR);//lecture du capteur
if (buttonState == HIGH) //si quelquechose est detecte
tone(buzzer, 1000, 700);
}
Pour l'instant, seulement mon buzzer marche
Si vous avez des idées, merci d'avance