« 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 5 : Ligne 5 :
Utilisation d'au moins 3 boutons poussoirs pour aller à gauche, à droite, et tirer des missiles en haut sur les monstres.
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.
Utilisation de LEDs afin de savoir le nombre de vies restant à l'utilisateur.
== '''Lien GIT''' ==
https://archives.plil.fr/sdeparis/projet_manette_sd_ah.git


== '''Partie électronique''' ==
== '''Partie électronique''' ==

Version du 14 avril 2024 à 09:50

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.

Lien GIT

https://archives.plil.fr/sdeparis/projet_manette_sd_ah.git

Partie électronique

Kicad

Fichier Kicad

Fichier:Projet manette carte electronique.zip

Schématique et routage

Schématique manette
Routage PCB

Fichier Gerber

Visualisation du PCB

Soudure

PCB sans composants

Carte PCB

Soudure des principaux composants

Principaux composants soudés sur la carte
Principaux composants soudés sur la carte

Partie programmation

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

Détection du mode DFU sur notre carte

Utilisation de la carte Arduino Uno afin de détecter le mode DFU

Utilisation arduino
Utilisation arduino pour détecter le mode dfu
mode dfu détecté