« I2L 2022 Groupe1 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
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

Schéma
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 . / ;
Clavier.jpg

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.