« SE3 PSE Binome2023-2 » : différence entre les versions

De projets-se.plil.fr
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:20240408 140701.mp4|vignette|Soudure]]


[[Fichier:Schematique manette.pdf|vignette|left|500px|Schématique manette]]
[[Fichier:Schematique manette.pdf|vignette|left|500px|Schématique manette]]
Ligne 14 : Ligne 13 :
[[Fichier:Visualisation du PCB.png|vignette|right|500px|Visualisation du PCB]]
[[Fichier:Visualisation du PCB.png|vignette|right|500px|Visualisation du PCB]]


[[Fichier:20240408 140701.mp4|vignette|Soudure]]
[[Fichier:Soudure composants.jpg|alt=Principaux composants soudés sur la carte|vignette|Principaux composants soudés sur la carte ]]
[[Fichier:Soudure composants.jpg|alt=Principaux composants soudés sur la carte|vignette|Principaux composants soudés sur la carte ]]
[[Fichier:Mode dfu détecté.jpg|vignette|mode dfu détecté]]
[[Fichier:Mode dfu détecté.jpg|vignette|mode dfu détecté]]

Version du 10 avril 2024 à 12:41

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

Schématique manette
Routage PCB
Visualisation du PCB


Principaux composants soudés sur la carte
Principaux composants soudés sur la carte
mode dfu détecté

Fichier:Projet manette carte electronique.zip

Carte PCB
Utilisation arduino
Utilisation arduino pour détecter le mode dfu

Partie informatique

Programme en C pour allumer les leds:

#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; 
}