SE4Binome2024-1
Lien git : https://gitea.plil.fr/lgrevin/PICO_Binome1.git
Réalisation d'un shield arduino
Nous avons réalisé un bouclier pour Arduino Uno afin d'implémenter un système d'ordonnancement, ce qui nous permettra de simuler le fonctionnement d'une carte mère.
Ce bouclier est conçu pour connecter jusqu’à 5 périphériques SPI via des connecteurs IDC HE10 (8 broches), en intégrant des lignes spécifiques pour la réinitialisation et l’interruption de chaque périphérique, assurant ainsi un contrôle optimal.
En plus des connexions SPI, le bouclier comprend également une mémoire, avec deux options de stockage possibles : une carte micro-SD via un connecteur Molex 10431 ou une puce mémoire AT45DB641E, laissant la flexibilité de choisir celle qui sera soudée selon les besoins. Un convertisseur de niveau (74LV125) est également intégré pour assurer la compatibilité de tension entre l’Arduino (5V) et les mémoires (3,3V), garantissant une communication stable entre les composants.
Schématique et Routage
Shield Brasé
Vérification des Leds et de la Carte SD
Code Arduino pour vérifier si les Leds fonctionnent :
https://gitea.plil.fr/lgrevin/PICO_Binome1/src/branch/main/VerificationArduino/verif.c
Nous avons écris un petit programme Arduino pour allumer les leds alternativement et donc vérifier leurs fonctionnement.
Vérification de la détection de la carte SD :
Pour vérifier si la carte SD est bien détecté nous avons utilisé un programme exemple de l'arduino :
https://gitea.plil.fr/lgrevin/PICO_Binome1/src/branch/main/Verification_Shield_et_Arduino/SD.ino
Nous avons rencontré des difficultés pour détecter la carte SD. Nous avons essayé plusieurs solutions, notamment en vérifiant l’horloge de notre Shield. Pour cela, nous avons soudé des fils aux ports GND et SCK de la puce mémoire et envoyé un code SPI à l’Arduino pour analyser le signal à l’oscilloscope, mais cela n’a pas permis d’identifier le problème. Après avoir revérifié les soudures et repassé le fer à souder sur plusieurs connexions, nous avons finalement découvert qu’une résistance mal soudée était la source du problème.
Code ordonnanceur
Un ordonnanceur sert à gérer l'exécution des tâches dans un système temps réel, en assurant qu'elles s'exécutent dans un ordre optimal et respectent les délais. Cela garantit que les processus critiques reçoivent les ressources nécessaires pour fonctionner sans interruption, optimisant la performance et la réactivité du système.
https://gitea.plil.fr/lgrevin/PICO_Binome1/src/branch/main/Ordonnanceur
Réalisation d'une carte clavier
Nous avons choisi de faire une matrice de touche pour réaliser la carte clavier.
Cette matrice contient 8 colonnes et 4 lignes soit un total de 32 boutons. Nous avons également choisi d'ajouter des leds RGB une sur chaque ligne et chaque colonne qui seront controlés par 2 controleurs de leds
Datasheet des LEDs RGB:
https://docs.rs-online.com/988a/0900766b80e2903e.pdf
Consommation de la carte clavier
La Puissance totale maximale est de 5,55W.
Composant | Courant | Puissance |
---|---|---|
12xLEDS RGB | 12x(30x3) mA | 5,4W |
ATMega328p | 15 mA | 75 mW |
LED d'alim | 15 mA | 75 mW |
TOTAL | 1,11A | 5,55W |
Schématique & Routage