Projet d'Exploration Informatique Index du Forum
Projet d'Exploration Informatique
Les élèves de 6TT Informatique vous présentent leurs projets de fin d'études
 
Projet d'Exploration Informatique Index du ForumFAQRechercherS’enregistrerConnexion

:: PEI - #25 Développement de l'alarme ! ::

 
Poster un nouveau sujet   Répondre au sujet    Projet d'Exploration Informatique Index du Forum -> Les projets de l'année 2017-2018 ->
Sujet précédent :: Sujet suivant  
Auteur Message
Haytam
6TT-2017

Hors ligne

Inscrit le: 09 Jan 2017
Messages: 33
Localisation: Bxl
Masculin

MessagePosté le: Lun 21 Mai - 16:58 (2018)    Sujet du message: PEI - #25 Développement de l'alarme ! Répondre en citant

Bonjour,


Durant cette semaine, je me suis attardé à la programmation ainsi qu'à la conception de la boite.
Pour ce qui s'agit de la boite, j'ai fais un croquis avec les différentes mesures des modules.


Voici mon avancée :


 
Code:


/*
* Alarme Anti-Intrusion 
* d'Haytam Oulad Omar
*/

//Importation des deux librairies pour l'écran ainsi que le clavier.
#include <LiquidCrystal_I2C.h> 
#include <Keypad.h>

//On définit le port de l'écran et la taille de l'écran
LiquidCrystal_I2C lcd(0x3F,16,2); 

//On définit les pins pour nous faciliter la tâche plus tard.
#define buzzer 8
#define trigPin 9
#define echoPin 10

//On définit les différentes variables pour les capteurs, l'écran etc...
long duration;
int distance, initialDistance, currentDistance, i;
int ecranAccueil =0;
String password="1234";
String tempPassword;
boolean activated = false; // Variable booléenne qui définit si l'alarme est activée ou non
boolean isActivated; // Moment durant lequel l'alarme est activée
boolean activerAlarme = false;
boolean alarmeActive = false;
boolean entrerPassword; // Moment durant lequel on tape son mot de passe
boolean passChangerMode = false;
boolean passChanger = false;

//On définit les colonnes et les lignes du clavier
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keypressed;
//On définit les touches du clavier
char keyMap[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {3, 2, 1, 0}; //Ce sont les pins des lignes
byte colPins[COLS] = {7, 6, 5, 4}; //Ce sont les pins des colonnes

//Cette variable sert à reprendre la touche appuyé
Keypad myKeypad = Keypad( makeKeymap(keyMap), rowPins, colPins, ROWS, COLS); 

void setup() { 
  lcd.init();     //On initialise l'écran LCD              
  lcd.init();
  lcd.backlight(); //On éteint l'écran et on le rallume
  pinMode(buzzer, OUTPUT); // On définit le buzzer ainsi que le trigpin en OUTPUT (Sortie)
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT); // On définit le echopin en INPUT (Entrée)
}

void loop() {
  if (activerAlarme) {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("L'alarme va");
    lcd.setCursor(0,1);
    lcd.print("s'activer dans");
   
    int declencheur = 9; // Déclencheur sur 9 secondes.
    while (declencheur != 0) { //Tant que la variable declencheur n'est pas égale à 0
      lcd.setCursor(15,1); //On écrit à la caractère 15, ligne 1
      lcd.print(declencheur); //Le nombre sur lequel declencheur est
      declencheur--; //On soustrait 1 de la variable declencheur
      tone(buzzer, 700, 100); //On fait un petit bruit avec le buzzer. (Esthétique)
      delay(1000); //On attend une seconde avant que le code recommence.
    }
    lcd.clear(); //On efface tout ce qu'il se trouve sur l'écran
    lcd.setCursor(0,0); //On écrit sur la caractère 0, ligne 0
    lcd.print("Alarme Activé !"); //Alarme Activé !
    lcd.setCursor(0,1);
    lcd.print("Recherche...")
    initialDistance = getDistance(); //On lance la fonction getDistance pour savoir la distance entre l'alarme et le prochain obstacle fixe
    activerAlarme = false; //On met la variable en false pour dire que l'alarme ne peut pas être activer 2 fois en même temps.
    alarmeActive = true; //On met la variable en true pour dire que l'alarme est activée.
  }
  //A continuer
}

#Fonction getDistance (pour connaître la distance d'un objet en mouvement.
long getDistance(){

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // On active le trigpin pendant 10 microsecondes et on le désactive.
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // On lit les données recus par le trigpin par le echopin
  temps = pulseIn(echoPin, HIGH);

  // On calcule la distance
  distance = temps*0.034/2;

  return distance;
}



Pour l'instant, si je branche tout et que je lance le script, rien ne se passera car pour l'instant la fonction loop est vide.


J'avance bien, si tout se passe bien, pour la semaine prochaine j'aurai terminé mon alarme.


Bien à vous.
_________________
~Haytam
Revenir en haut
Skype
Publicité






MessagePosté le: Lun 21 Mai - 16:58 (2018)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Projet d'Exploration Informatique Index du Forum -> Les projets de l'année 2017-2018 -> Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Portail | Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Texno x0.3 © theme by Larme D'Ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com