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

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Ligne 1 : Ligne 1 :
= Proposition de système =
= 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).
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
** LED
** [[:Fichier:Projet SystemeEmbarque-LUFA V1.zip]] .
** Boutons
* 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]]


[[Fichier:I2L-2022-G1-schema.pdf|thumb|400px|left|Schéma]]
== Problèmes rencontrés ==
[[Fichier:I2L-2022-G1-PCB.pdf|thumb|400px|right|Carte]]
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".


<div style="clear: both;" />
Nous avons donc accepté la contre proposition émise.


Carte soudée :
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.


[[Fichier:I2L-2022-G1-carte-soudée.png|thumb|600px|center]]
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

Carte

Schéma du système embarqué sur Kicad :

Schéma
Carte

Carte soudée :

Carte soudée.jpg

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 . / ;
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

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: