« SE3 PSE Binome2023-2 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 8 : | Ligne 8 : | ||
== '''Partie électronique''' == | == '''Partie électronique''' == | ||
=== Fichier Kicad === | |||
[[Fichier:Projet manette carte electronique.zip|center|vignette|0x0px]] | [[Fichier:Projet manette carte electronique.zip|center|vignette|0x0px]] | ||
Ligne 32 : | Ligne 33 : | ||
== '''Partie informatique''' == | == '''Partie informatique''' == | ||
=== | === Implémentation d'un programme en C pour allumer les LEDs d'un PCB === | ||
Implémentation d'un programme pour allumer les LEDs d'un PCB | |||
#include <avr/io.h> | #include <avr/io.h> | ||
Ligne 55 : | Ligne 54 : | ||
[[Fichier:Clignotement des leds.mp4|vignette|left|Clignotement des leds]] | [[Fichier:Clignotement des leds.mp4|vignette|left|Clignotement des leds]] | ||
=== Détection du mode DFU === | |||
==== Utilisation de la carte Arduino Uno afin de détecter le mode DFU ==== | |||
[[Fichier: | [[Fichier:Utilisation arduino uno.jpg|alt=Utilisation arduino |vignette|left|500px|Utilisation arduino pour détecter le mode dfu]] | ||
[[Fichier: | [[Fichier:Mode dfu détecté.jpg|vignette|right|500px|mode dfu détecté]] | ||
<p style="clear: both;" /> |
Version du 10 avril 2024 à 13:05
Sujet : Manette de jeu
Cahier des charges
Concevoir une manette de jeu vidéo, afin de pouvoir jouer à Space Invader, codé en informatique. Utilisation d'au moins 3 boutons poussoirs pour aller à gauche, à droite, et tirer des missiles en haut sur les monstres. Utilisation de LEDs afin de savoir le nombre de vies restant à l'utilisateur.
Partie électronique
Fichier Kicad
Fichier:Projet manette carte electronique.zip
Kicad : schématique, routage et gerber
Schématique et routage
Fichier Gerber
PCB sans composants
Soudure des principaux composants
Partie informatique
Implémentation d'un programme en C pour allumer les LEDs d'un PCB
#include <avr/io.h> #include <stdio.h> #include <util/delay.h> int main(){ CLKSEL0 = 0b00010101; // sélection de l'horloge externe CLKSEL1 = 0b00001111; // minimum de 8Mhz CLKPR = 0b10000000; // modification du diviseur d'horloge (CLKPCE=1) CLKPR = 0; // 0 pour pas de diviseur (diviseur de 1) DDRD |=0x03; // car on souhaite déclarer en sortie les ports 0 et 1 ce qui correspond à 3 en hexa while(1){ PORTD ^=0x03; // le xor permet d'allumer et éteindre les leds successivement _delay_ms(1000); // tps en ms } return 0; }