« I2L 2022 Groupe1 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 45 : | Ligne 45 : | ||
commade des dfu programmer : avrdude -F -v -p atmega328p -c stk500v1 -b 115200 -P /dev/ttyACM0 -U flash:w:timer.hex | commade des dfu programmer : avrdude -F -v -p atmega328p -c stk500v1 -b 115200 -P /dev/ttyACM0 -U flash:w:timer.hex | ||
= Tableau des touches = | |||
{| | |||
|+ | |||
! rowspan="5" | | |||
! colspan="3" | | |||
|- | |||
|PB7 = 7 | |||
|PB5 = 8 | |||
|PB3 = 9 | |||
|- | |||
|PB6 = 4 | |||
|PB4 = 5 | |||
|PB2 = 6 | |||
|- | |||
|PD4 = 1 | |||
|PD6 = 2 | |||
|PB1 = 3 | |||
|- | |||
|PD3 = verrou num | |||
|PD5 = 0 | |||
|PB0 = . | |||
|} | |||
= Fichiers = | = Fichiers = | ||
[[File:I2L-2022-CARUYER-MONBORREN.zip|Projet KiCAD]] | [[File:I2L-2022-CARUYER-MONBORREN.zip|Projet KiCAD]] |
Version du 25 mai 2023 à 09:22
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
Programmes
- Prog SE
- LED
- Boutons
- Prog USB
- LUFA
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
commade des dfu programmer : avrdude -F -v -p atmega328p -c stk500v1 -b 115200 -P /dev/ttyACM0 -U flash:w:timer.hex
Tableau des touches
PB7 = 7 | PB5 = 8 | PB3 = 9 | |
PB6 = 4 | PB4 = 5 | PB2 = 6 | |
PD4 = 1 | PD6 = 2 | PB1 = 3 | |
PD3 = verrou num | PD5 = 0 | PB0 = . |