Sommaire du site
Projets Arduino
Projet Réveil-Matin
- Horloge Réveil-Matin (Partie I)
Définition du cahier des charges du projet et présentation de la logique du fonctionnement de l'application sous forme d'automate à état fini. - Projet Réveil-Matin (partie II)
Présentation du schéma de câblage du projet. - Projet Réveil-Matin (partie III) - Architecture de l'application (classe Clock).
Définition de la classe Clock déterminant l'architecture de l'application. - Projet Réveil-Matin (partie IV) - Implémentation de la classe Clock.
Programmation de l'automate présenté dans la première partie dans la classe Clock. - Projet Réveil-Matin (partie V) - Gestion de l'heure (classe Time).
Programmation de la classe Time permettant d'une part de gérer l'heure au format HH:MN:SS, et d'autre part de disposant des outils permettant le réglage et la remise à l'heure de l'horloge. - Projet Réveil-Matin (partie VI) - Générateur de tics (classe ClockTime).
Programmation d'un générateur de tics temps réel. - Projet Réveil-Matin (partie VII) - Gestion de l'affichage de l'horloge (classe ClockDisplay).
Programmation de la classe ClockDisplay permettant de définir un système d'affichage totalement découplé de la classe Clock. Ce qui permet d'utiliser plusieurs techniques d'affichage sans avoir à reprogrammer celle-ci. - Projet Réveil-Matin (partie VIII) - Gestion de l'alarme (classe ClockAlarm).
Programmation de la classe ClockAlarm permettant de définir un système d'alarme totalement découplé de la classe Clock selon le même principe traité pour la classe ClockDisplay. - Projet Réveil-Matin (partie IX) - Affichage sur un écran LCD.
Application de la classe ClockDisplay pour afficher l'heure sur un écran LCD (module LCD 1602). Cet exemple utilise la bibliothèque standard LiquidCrystal. - Projet Réveil-Matin (partie X) - Amélioration de la classe ClockTime.
Nouvelle version de la classe ClockTime, basée sur l'utilisation de la classe DoubleLong pour lever la limite des 50 jours contrainte par la fonction millis() du fait qu'elle renvoie un résultat sur 32 bits. - Projet Réveil-Matin (partie XI) - Affichage sur un afficheur à LED.
Application de la classe ClockDisplay pour afficher l'heure sur un afficher à LED à 4 digits 5641AS. - Projet Réveil-Matin (partie XII) - Retour sur l'affichage LCD.
Amélioration de la classe LCDClockDisplay pour ne mobiliser pour l'affichage que trois pins de l'Arduino en appliquant la technique de pilotage d'un LCD avec un convertisseur 74HC595.
Technologies
- Gestion des événements en C++ sur Arduino.
Définition des interfaces basées sur le Design Pattern Observer pour permettre la gestion d'événements en C++ sur l'Arduino. - Utilisation du gestionnaire d'événements : Classe Timer.
Exemple d'utilisation du gestionnaire d'événements pour générer des tics d'horloge à intervalles réguliers. - Calculer sur des grands nombres.
Présentation du calcul sur des grands nombres (sur plusieurs octets). Application à la classe DoubleLong permettant de calculer sur 64 bits. - Piloter 16 LEDs en ne mobilisant que 3 pins sur l'Arduino.
Exemple de chaînage de deux convertisseurs 74HC595 pour piloter 16 LED en ne mobilisant que trois pins sur l'Arduino. - Piloter un écran LCD avec un 74HC595 sur Arduino.
Exemple de pilotage d'un module LCD 1602 en ne monopolisant que trois pins sur l'Arduino en le couplant avec un convertisseur 74HC595. - Le bus I2C.
Description de l'utilisation du bus I2C de l'Arduino en le connectant à un convertisseur numérique/analogique, analogique numérique PCF8591. - Piloter un écran LCD sur le bus I2C de l'Arduino avec un PCF8574.
Exemple de pilotage d'un module LCD 1602 par le bus I2C pour libérer toutes les pins numériques de l'Arduino. - Piloter un clavier matriciel sur le bus I2C avec un PCF8574.
Exemple de pilotage d'un clavier matriciel 16 touche par le bus I2C, laissant ainsi libres toutes les pins numériques de l'Arduino.
Programmation des composants
- Bibliothèque Button
Câblage et programmation d'un bouton en utilisant le gestionnaire d'événements pour gérer les interactions des utilisateurs. - Circuit intégré 74HC595 (classe IC74hc595).
Définition de la classe IC74hc595 permettant de programmer le convertisseur Série/parallèle 74HC595 qui permet d'étendre le nombre de sorties numériques de l'Arduino en ne monopolisant que 3 pins sur celui-ci. - Afficheur à LED 7 segments (classe SegmentLedDisplay).
Définition de la classe SegmentLedDisplay permettant de programmer un afficheur LED à sept segments 5161AS piloté par un convertisseur 74HC595. - Afficheur à LED - 4 digits.
Application du chaînage de deux convertisseurs 74HC595 pour piloter un afficheur LED à 4 digits 5641AS en ne monopolisant que trois pins sur l'Arduino. - Circuit intégré PCF8591 (classe ICpcf8591).
Définition de la classe ICpcf8591 pour programmer le convertisseur numérique/analogique, analogique/numérique PCF8591. - Circuit intégré PCF8574 (classe ICpcf8574).
Définition de la classe ICpcf8574 pour programmer le convertisseur numérique/analogique, analogique/numérique PCF8574. - Piloter un clavier matriciel 16 touches (classe MatrixKeypad).
Câblage et programmation d'un clavier matriciel 16 touche en utilisant le gestionnaire d'événements pour gérer les interactions des utilisateurs.
Commentaires
Enregistrer un commentaire