« I2L 2022 Groupe1 » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 19 : | Ligne 19 : | ||
* Prog USB | * Prog USB | ||
** LUFA | ** LUFA | ||
= Carte = | |||
[[Fichier:I2L-2022-G1-schema.pdf|thumb|400px|left|Schéma]] | |||
[[Fichier:I2L-2022-G1-PCB.pdf|thumb|400px|right|Carte]] | |||
<div style="clear: both;" /> | |||
Carte soudée : | |||
[[Fichier:I2L-2022-G1-carte-soudée.png|thumb|600px|center]] | |||
= Compilation = | = Compilation = | ||
Ligne 82 : | Ligne 93 : | ||
|PB2 | |PB2 | ||
|6 / flèche vers la droite | |6 / flèche vers la droite | ||
|- | |-- | ||
|PD4 | |PD4 | ||
|1 | |1 |
Version du 6 juin 2023 à 18:45
Proposition de système
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).
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.
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
- LED
- Boutons
- Prog USB
- LUFA
Carte
Carte soudée :
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
Archive 1 : Fichier:I2L-2022-CARUYER-MONBORREN.zip.
Archive 2 : Fichier:I2L-2022-G1-programme.zip.