Micro projet 4 14 mai 2015 Fauquembergue Victor El Bakkali Douglas
Sommaire Définition du projet Découpe fonctionnelle Pseudo Code Implémentation Améliorations
Sommaire Définition du projet Découpe fonctionnelle Pseudo Code Implémentation Améliorations
Définition du projet Description : Le but de ce projet est de concevoir un programme capable de traduire un message court en Morse.
Définition du projet Description : Le but de ce projet est de concevoir un programme capable de traduire un message court en Morse. Contraintes : Le message doit être transmis grâce à la LED de l Arduino.
Sommaire Définition du projet Découpe fonctionnelle Pseudo Code Implémentation Améliorations
Découpe fonctionnelles Etablir un alphabet Morse
Découpe fonctionnelles Etablir un alphabet Morse Attendre que l utilisateur rentre une chaine de caractères et analyser chaque caractère(s)
Découpe fonctionnelles Etablir un alphabet Morse Attendre que l utilisateur rentre une chaine de caractères et analyser chaque caractère(s) Chercher la traduction dans l alphabet
Découpe fonctionnelles Etablir un alphabet Morse Attendre que l utilisateur rentre une chaine de caractères et analyser chaque caractère(s) Chercher la traduction dans l alphabet Retranscrire la traduction du message en impulsion lumineuse
Sommaire Définition du projet Découpe fonctionnelle Pseudo Code Implémentation Améliorations
Pseudo Code Etablir un alphabet Morse : Alphabet [ ]= { «.-», «-», «-.-.» avec le reste de l alphabet } Ce qu il faut comprendre ici c est que la première case comprenant «.-» correspond à la traduction en Morse de la lettre A. Tiré du site wikipédia à la page Morse
Pseudo Code Attendre que l utilisateur rentre une chaine de caractères : Si il y a des nouveaux caractères en attente de traitement Lettre <- dernier caractère en attente Afficher lettre Analyser lettre Sinon afficher «En attente de votre message à traduire»
Pseudo Code Chercher la traduction dans l alphabet : Si lettre = lettre majuscule Chercher sa traduction dans «l alphabet majuscule» et Retranscrire trad-lettre Sinon si lettre = lettre minuscule Chercher sa traduction dans «l alphabet minuscule» et Retranscrire trad-lettre Sinon si lettre = symbole Chercher sa traduction dans «l alphabet symbole» et Retranscrire trad-lettre Sinon si lettre = chiffre Chercher sa traduction dans «l alphabet chiffre» et Retranscrire trad-lettre Sinon si lettre = (espace) Laisser un délai de 5 temps Sinon Afficher «lettre n a pas de traduction»
Pseudo Code Retranscrire la traduction en pulsion lumineuse : Initialiser séquence Tant que séquence correspond à un «.» ou un «-» faire: Allumer la LED Si séquence = «.» laisser un délai de 1 temps Si séquence = «-» laisser un délai de 3 temps Eteindre la LED et laisser un délai de 1 temps Si c est le dernier point ou tiret d un caractère laisser un délai supplémentaire de 2 temps
Sommaire Définition du projet Découpe fonctionnelle Pseudo Code Implémentation Améliorations
Implémentation (code Arduino) Introduction code Ascii Norme de codage de caractères en informatique ancienne et connue L Arduino l utilise et notre programme également Chaque caractères de ce code correspond à un numéro de 0 à 127. Les 32 premiers sont des commandes de contrôle, le reste comprend les chiffres arabes, lettres latines majuscules et minuscules sans accents et quelques symboles de ponctuations. Tiré du site Wikipédia à la page code ASCII
Implémentation (code Arduino) Initialisation des variables utilisées :
Implémentation (code Arduino) Etablir un alphabet Morse :
Implémentation (code Arduino) Attendre que l utilisateur rentre une chaine de caractères et analyser chaque caractère(s) :
Implémentation (code Arduino) Chercher la traduction dans l alphabet : Explications : C est ici que le code ASCII entre en jeu. La fonction Trimorse va regarder si le caractère analysé est une majuscule par exemple, c est-à-dire si le caractère si situe entre la lettre A ou Z dans le code ASCII. Dans le code ASCII la lettre A=65 et Z= 90. Si par exemple le caractère analysé est le O (=79 en ASCII) alors la programme va soustraire A de O. On aura alors la place correspondant dans un alphabet classique (O= 15 ème place de l alphabet), dès lors le programme va chercher dans l alphabet initialisé au début du programme la 14 ème place du tableau pour y chercher la traduction de O en morse. Cela fonctionne de la même manière pour tout les caractères.
Implémentation (code Arduino) Chercher la traduction dans l alphabet : Explications : C est ici que le code ASCII entre en jeu. La fonction Trimorse va regarder si le caractère analysé est une majuscule par exemple, c est-à-dire si le caractère si situe entre la lettre A ou Z dans le code ASCII. Dans le code ASCII la lettre A=65 et Z= 90. Si par exemple le caractère analysé est le O (=79 en ASCII) alors la programme va soustraire A de O. On aura alors la place correspondant dans un alphabet classique (O= 15 ème place de l alphabet), dès lors le programme va chercher dans l alphabet initialisé au début du programme la 14 ème place du tableau pour y chercher la traduction de O en morse. Cela fonctionne de la même manière pour tout les caractères.
Implémentation (code Arduino) Retranscrire la traduction du message en impulsion lumineuse :
Améliorations La possibilité de rentrer un message à traduire quand on veux
Améliorations La possibilité de rentrer un message à traduire quand on veux Un alphabet élargie au maximum pour retranscrire le mieux possible le message
Améliorations La possibilité de rentrer un message à traduire quand on veux Un alphabet élargie au maximum pour retranscrire le mieux possible le message Le programme est rendu configurable pour pouvoir facilement changer la durée d 1 temps lumineux
Améliorations La possibilité de rentrer un message à traduire quand on veux Un alphabet élargie au maximum pour retranscrire le mieux possible le message Le programme est rendu configurable pour pouvoir facilement changer la durée d 1 temps lumineux Une fonction Repet est ajouté et activable en rajoutant simplement < ou > à la fin du message rentré
Améliorations La possibilité de rentrer un message à traduire quand on veux Un alphabet élargie au maximum pour retranscrire le mieux possible le message Le programme est rendu configurable pour pouvoir facilement changer la durée d 1 temps lumineux Une fonction Repet est ajouté et activable en rajoutant simplement < ou > à la fin du message rentré jusqu à temps que quelque chose d autre soit rentré (dans le moniteur) Une fonction Repepet est ajouté qui répète un message prédéfini à l avance dans le programme ce qui permettra de se servir du programme sans avoir besoin de l ordinateur à côté.
Améliorations Fonction Repet :
Améliorations «Fonction» Repet :
Améliorations Fonction SignalRepet :
Améliorations Initialisation de la fonction Repepet :
Améliorations Fonction Repepet :