« I2L 2022 Groupe1 » : différence entre les versions
Ligne 1 : | Ligne 1 : | ||
= Proposition de système = | = Proposition de système = | ||
Notre proposition : | |||
* Créer un pad numérique avec 12 touches, les chiffres (de 0 à 9), le point, la touche verrou numérique et trois led (rouge, bleu, vert). | |||
Les propositions acceptées : | |||
* La touche "verrou numérique" permet d'avoir une double signification des touches (numérique/flèches de direction), avec une LED de contrôle de l'activation du verrou. | * La touche "verrou numérique" permet d'avoir une double signification des touches (numérique/flèches de direction), avec une LED de contrôle de l'activation du verrou. | ||
* Un mini-simon est disponible en mode autonome, trois leds (rouge, bleu et vert) associées aux touches 1, 2 et 3. | * Un mini-simon est disponible en mode autonome, trois leds (rouge, bleu et vert) associées aux touches 1, 2 et 3. | ||
Ligne 16 : | Ligne 19 : | ||
* Prog SE | * Prog SE | ||
** | ** [[:Fichier:Projet SystemeEmbarque-LUFA V1.zip]] . | ||
* Prog USB | * Prog USB | ||
** LUFA | ** LUFA | ||
= Carte = | = Carte = | ||
Schéma du système embarqué sur Kicad :[[Fichier:I2L-2022-G1-schema.pdf|thumb|400px|Schéma|néant]] | |||
[[Fichier:I2L-2022-G1-PCB.pdf|thumb|400px|Carte|néant]]Carte soudée : | |||
[[Fichier:Carte soudée.jpg|néant|vignette]] | |||
== Problèmes rencontrés == | |||
Nous avons tout d'abord rencontré un problème sur la difficulté du projet, en effet par rapport à d'autre groupe, l'idée d'un clavier numérique de 12 touches étaient trop "simple". | |||
Nous avons donc accepté la contre proposition émise. | |||
Ensuite le problème que nous avons rencontré a été de distinguer la mode clavier du mode simon. Dans la première version du code le simon ce lance lorsque on le connecte au pc et ensuite il passe en mode clavier. | |||
Ce problème est résolu dans la version finale. | |||
= Compilation = | == Compilation == | ||
=== Utilitaires === | === Utilitaires === | ||
Ligne 147 : | Ligne 152 : | ||
Programme C : [[File:I2L-2022-G1-programme.zip]]. | Programme C : [[File:I2L-2022-G1-programme.zip]]. | ||
Programme V1: [[:Fichier:Projet SystemeEmbarque-LUFA V1.zip]] . | |||
Programme version finale: |
Version du 12 juin 2023 à 13:58
Proposition de système
Notre proposition :
- Créer un pad numérique avec 12 touches, les chiffres (de 0 à 9), le point, la touche verrou numérique et trois led (rouge, bleu, vert).
Les propositions acceptées :
- La touche "verrou numérique" permet d'avoir une double signification des touches (numérique/flèches de direction), avec une LED de contrôle de l'activation du verrou.
- Un mini-simon est disponible en mode autonome, trois leds (rouge, bleu et vert) associées aux touches 1, 2 et 3.
Contre-proposition
Pas de souci sur le principe. Mais étant donné que le code pour votre carte est le plus simple à réaliser vous devez ajouter une fonctionnalité supplémentaire.
Je vous propose les difficultés suivantes :
- une touche "verrou numérique" qui permet d'avoir une double signification des touches (numérique/flèches de direction), avec une LED de contrôle de l'activation du verrou
- un jeu en mode autonome (quand le périphérique est alimenté sans être connecté à un bus USB), par exemple un mini-simon avec les 3 LED associées aux touches 1,2 et 3.
Programmes
- Prog SE
- Prog USB
- LUFA
Carte
Schéma du système embarqué sur Kicad :
Carte soudée :
Problèmes rencontrés
Nous avons tout d'abord rencontré un problème sur la difficulté du projet, en effet par rapport à d'autre groupe, l'idée d'un clavier numérique de 12 touches étaient trop "simple".
Nous avons donc accepté la contre proposition émise.
Ensuite le problème que nous avons rencontré a été de distinguer la mode clavier du mode simon. Dans la première version du code le simon ce lance lorsque on le connecte au pc et ensuite il passe en mode clavier.
Ce problème est résolu dans la version finale.
Compilation
Utilitaires
https://winavr.sourceforge.net/
https://github.com/mariusgreuel/avrdude/releases
- gcc-avr
- avr-libc
- dfu-programmer
- DFU/USB
Compilation par ligne de commande:
compilation :
avr-gcc -mmcu=atmega328p -DF_CPU=8000000UL -c -Wall -I. -Os timer.c -o timer.o (8000000 au lieu de 16000000)
- fichier .c → fichier .o
édition des liens :
avr-gcc -mmcu=atmega328p -g -lm -Wl,--gc-sections -o timer.elf timer.o (.elf exécutable)
- fichier .c → fichier .elf
téléversement :
avr-objcopy -j .text -j .data -O ihex timer.elf timer.hex
- fichier .elf → fichier .hex
commande dfu-programmer :
dfu-programmer atmega16u2 erase dfu-programmer atmega16u2 flash timer.hex dfu-programmer atmega16u2 reset
Tableau des touches
cables | ||||||
---|---|---|---|---|---|---|
colonne 1 | colonne 2 | colonne 3 | ||||
port | touche | port | touche | port | touche | |
PB7 | 7 | PB5 | 8 / flèche vers le haut | PB3 | 9 | |
PB6 | 4 / flèche vers la gauche | PB4 | 5 | PB2 | 6 / flèche vers la droite | |
PD4 | 1 | PD6 | 2 / flèche vers le bas | PB1 | 3 | |
PD3 | verrou num | PD5 | 0 | PB0 | . / ; |
Tableau des leds
port | led | touches | bit | ||
---|---|---|---|---|---|
led 1 | PD0 | rouge | chiffres ou flèches | 0x01 | |
led 2 | PD1 | bleu | verrou num | ||
led 3 | PD2 | vert |
Fichiers
Projet KiCAD : Fichier:I2L-2022-CARUYER-MONBORREN.zip.
Programme C : Fichier:I2L-2022-G1-programme.zip.
Programme V1: Fichier:Projet SystemeEmbarque-LUFA V1.zip .
Programme version finale: