SE4 2022/2023 EC2
Aller à la navigation
Aller à la recherche
Objectifs
Il vous est demandé de :
- comparer la taille des binaires d'un programme affichant sur 4 lignes un même texte compiler via l'IDE arduino et via AVR-GCC;
- de réaliser un prototype de système comportant un Arduino Uno, un écran LCD 2 ou 4 lignes à contrôleur HD44780 et les quelques composants nécessaires ;
- vous devez écrire un programme C pour gérer le contrôleur HD44780 à partir de l'ATMega328p, vous utilisez le compilateur
avr-gcc
pour générer l'exécutable ; - votre projet doit être constitué d'un répertoire comprenant un makefile et la source C, le makefile doit implanter les cibles clean, all et upload ;
- en utilisant vos fonctions pour le contrôleur HD44780 vous ferez en sorte que les données reçues sur le port série de l'Arduino soient affichées sur l'écran ;
- vous sélectionnerez les 5 séquences VT100 qui vous paraissent les plus importantes et vous les implanterez dans votre code.
Matériel nécessaire
Le matériel nécessaire consiste en un kit Arduino Uno.
Travail réalisé
Comparaison:
Texte à afficher:
Lorem ipsum dolor
sit amet,consectetur
adipiscing elit, sed
do eiusmod tempor
Tailles :
Arduino IDE:
1820 octets de stockage flash
AVR-GCC:
850 octets de stockage flash
Séquences VT100:
Les séquences VT100 que j'ai sélectionnée sont:
cursorhome Move cursor to upper left corner Echap+H
cursorup Move cursor up one line Echap+A
cursordn Move cursor down one line Echap+B
cursorrt Move cursor right one char Echap+C
cursorlf Move cursor left one char Echap+D
Librairie HD44780 pour AVRGCC et AVR uC:
La librairie permet de :
- choisir les pins pour chaques broches de données.
- choisir le mode 2 lignes ou 4 lignes pour l'écran.
- choisir le mode 4bits ou 8bits pour le bus de données parralèles.
- choisir le type de curseur entre :
- "no_CURSOR" qui n'affiche rien sur la position ou l'on se trouve sur l'écran.
- "underlined" qui affiche un soulignage de la position actuelle.
- "blinking" qui fait clignoter la case sur laquelle on se trouve.
- "underlined_blinking" la somme de underlined et blinking.
- implémente une fonction LCDSetup qui permet d'initialiser l'écran avec le paramètres ci-dessus.
- implémente une fonction ShiftUp qui permet de se déplacer vers le haut sur l'écran
- implémente une fonction ShiftDwon qui permet de se déplacer vers le bas sur l'écran.
- implémente une fonction ShiftRight qui permet de se déplacer vers la droite sur l'écran.
- implémente une fonction ShiftLeft qui permet de se déplacer vers la gauche sur l'écran.
- implémente une fonction LCDon qui permet d'activer l'affichage.
- implémente une fonction LCDoff qui permet de désactiver l'affichage.
- implémente une fonction NewLine qui permet de passer au début de la ligne suivante.
- implémente une fonction WriteChar qui permet d'écrire un caractère sur la case ou l'on se trouve.
- implémente une fonction LCDgotoXY qui permet de se déplacer à une position voulue sur l'écran.
La configuration doit être faite dans le fichier lcd_hd44780.h