« SE4Binome2023-5 » : différence entre les versions

De projets-se.plil.fr
Aller à la navigation Aller à la recherche
Ligne 35 : Ligne 35 :
Nous avons écris un programme d'ordonnancement qui permet de faire clignoter 2 Leds (Led1 et Led2) avec une durée différente.   
Nous avons écris un programme d'ordonnancement qui permet de faire clignoter 2 Leds (Led1 et Led2) avec une durée différente.   


 
Les temps ne sont pas réels, c'est pour ça que l'objectif est d'endormir les tâches.  
VIDEO LEDS QUI CLIGNOTENT
Les temps ne sont pas réels, c'est pour ça que l'objectif est d'endormir les tâches.
 
== Carte FPGA/VHDL ==
== Carte FPGA/VHDL ==
== Carte électronique numérique ==
== Carte électronique numérique ==
Ligne 54 : Ligne 50 :
* une matrice de touches de 4 par 8, ce qui nous fait 32 touches soient les 26 lettres de l'alphabet + 6 autre touches,  
* une matrice de touches de 4 par 8, ce qui nous fait 32 touches soient les 26 lettres de l'alphabet + 6 autre touches,  
* 2 Leds de test + 1 Led d'alimentation,  
* 2 Leds de test + 1 Led d'alimentation,  
* une ISP.
* une ISP pour communiquer avec la carte mère
 
* la programmation de notre microcontrôleur se fera via un AVR ISP
Les résistances de pull up serviront  avoir un 1L par défaut puisque les lignes sont des sorties sur lesquelles nous écriront un 0L sur chaque sortie l'une après l'autre. Les colonnes sont des entrées, lorsqu'on lira un 0L sur une des colonnes, alors il suffira de voir laquelle des lignes est à 0L et ainsi connaitre le bouton qui est appuyé.


Les résistances de pull up serviront  à avoir un 1L par défaut puisque les lignes sont des sorties sur lesquelles nous écriront un 0L sur chaque sortie l'une après l'autre. Les colonnes sont des entrées, lorsqu'on lira un 0L sur une des colonnes, alors il suffira de voir laquelle des lignes est à 0L et ainsi connaitre le bouton qui est appuyé.
[[Fichier:Premier test clavier.mp4|néant|cadre]]
[[Fichier:Schematique clavier.png|sans_cadre]]  
[[Fichier:Schematique clavier.png|sans_cadre]]  


Voici le routage de la schématique : Tous les condensateurs se trouvent à côté d'un VCC, le crystal se situe également à côté de ses Pins et nous avons pris soin d'avoir des tailles égales sur XTAL1 et XTAL2 du Crystal.   
Voici le routage de la schématique : Tous les condensateurs se trouvent à côté d'un VCC, le crystal est au plus proche du microcontrôleur et nous avons pris soin d'avoir des longueurs de pistes égales sur XTAL1 et XTAL2 du Crystal.   





Version du 7 décembre 2023 à 10:00


Voici le lien de notre Git : https://archives.plil.fr/mnorman1/PICO.git Puis le zip de notre routage (vérifié par M. Redon) : Fichier:Gerber B5.zip

Ordonnanceur

Soudure

Nous avons commencé par souder le redresseur de niveau, le lecteur de carte puis les résistances et les Leds :

SHIELD.png

Également, nous avons partiellement soudé la carte de Leds suivante :

CartePin.png

Puis, nous avons soudé entièrement la carte 7 segments comme suit :

7 segments.png

Et pour finir, la carte Shield est entièrement soudée :

Shield.pngBack.png


Câble pont Shield Arduino

En parallèle, nous avons réalisé les câbles qui se situent entre la carte Shield et la carte Arduino :

Câbles.png


Programmation

Nous avons écris un programme d'ordonnancement qui permet de faire clignoter 2 Leds (Led1 et Led2) avec une durée différente.

Les temps ne sont pas réels, c'est pour ça que l'objectif est d'endormir les tâches.

Carte FPGA/VHDL

Carte électronique numérique

Type de carte choisie

Nous avons choisi de travailler sur la carte fille clavier "matrice de touches"

Schéma Électronique

Voici le schéma électronique fini de notre carte

Nous avons opté pour :

  • une matrice de touches de 4 par 8, ce qui nous fait 32 touches soient les 26 lettres de l'alphabet + 6 autre touches,
  • 2 Leds de test + 1 Led d'alimentation,
  • une ISP pour communiquer avec la carte mère
  • la programmation de notre microcontrôleur se fera via un AVR ISP

Les résistances de pull up serviront à avoir un 1L par défaut puisque les lignes sont des sorties sur lesquelles nous écriront un 0L sur chaque sortie l'une après l'autre. Les colonnes sont des entrées, lorsqu'on lira un 0L sur une des colonnes, alors il suffira de voir laquelle des lignes est à 0L et ainsi connaitre le bouton qui est appuyé.

Premier test clavier.mp4

Schematique clavier.png

Voici le routage de la schématique : Tous les condensateurs se trouvent à côté d'un VCC, le crystal est au plus proche du microcontrôleur et nous avons pris soin d'avoir des longueurs de pistes égales sur XTAL1 et XTAL2 du Crystal.


Routage fini.png

Suite à une erreur dans la schématique sur le crystal, il a été nécessaire de tourner à 90° pour le souder, sans ça on créait un court-circuit qui ne permet plus d'utiliser la carte.

3d view.png3d view bottom.png


Après avoir reçu la carte imprimée, nous l'avons directement soudée avec tous les composants. On retrouve finalement l'allure d'un réél clavier avec toutes les touches (ici 32) :


PHOTO CARTE SOUDEE


Afin de vérifier si la carte fonctionne, on a utilisé un Arduino Uno pour pouvoir téléverser un programme sur la carte du clavier. Pour se faire, on a inséré un programme Arduino "ArduinoISP" pour "transformer" la carte Arduino en ISP. Après ça, nous avons chargé le programme exemple "Blink" qui permet de faire clignoter des Leds. Nous avons alors fait clignoté la Led 8 :

Led allumee clavier.png


Après de multiples test au niveau programmation sur les boutons, rien ne fonctionnait. Alors nous avons vérifié si nos soudures étaient bonnes grâce au multimètre. Alors nous avons remarqué que chaque pin du bouton (les 4). Nous nous sommes alors rendu compte que nous avons fait une erreur lors de la création de nos footprint. Nos boutons étaient mal soudés et il a fallut dessouder puis ressouder chaque boutons en les tournant de 90°, ça n'a pas été facile puisqu'il a fallut plier et bouger les pins pour que le bouton rentre bien dans les trous.

Finalement, nous avons fait un petit code qui permet d'allumer une led lorsque l'on appuie sur le bouton en bas à gauche de la carte afin de tester nos boutons.

VIDEO BOUTON ET LED