« 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 1 : Ligne 1 :
= 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:20240408 140701.mp4|vignette|Soudure]]
[[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 ]]
Ligne 8 : Ligne 17 :
[[Fichier:Routage PCB.png|vignette|center|Routage PCB]]
[[Fichier:Routage PCB.png|vignette|center|Routage PCB]]
[[Fichier:Carte PCB.jpg|vignette|center|Carte PCB]]
[[Fichier:Carte PCB.jpg|vignette|center|Carte PCB]]
== Partie informatique ==


==='''Programme en C pour allumer les leds:'''===
==='''Programme en C pour allumer les leds:'''===

Version du 10 avril 2024 à 12:38

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

Principaux composants soudés sur la carte
Principaux composants soudés sur la carte
Utilisation arduino
Utilisation arduino pour détecter le mode dfu
Visualisation du PCB
mode dfu détecté
Schématique manette

Fichier:Projet manette carte electronique.zip

Routage PCB
Carte PCB


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