BE 2025 Groupe1: Difference between revisions
No edit summary |
|||
| (18 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
== Proposition d'objet == | |||
Après mûres réflexions, nous avons choisi de nous orienter vers la création d'un jeu Simon. Le jeu culte de mémoire dont le but et de réaliser la plus longue série de notes musicales successives. | |||
== Carte électronique == | |||
Carte réalisée en utilisant le logiciel <code>KiCAD</code> : [[File:2025_BE_G1_kicad.zip|ma carte électronique]]. | |||
Schéma électronique de la carte : | |||
[[File:2025_BE_G1_schema.pdf|thumb|center|400px|Mon schéma électronique]] | |||
Résultat du routage : | |||
[[File:GRP1 ROUTAGE.png|center|thumb|403x403px|Mon routage]] | |||
Photo de la carte soudée : | |||
[[File:2025_BE_G1_realisation.jpg|thumb|center|400px|Ma carte]] | |||
Vidéo très courte et en basse résolution de la carte en fonctionnement : | |||
[[Media:2025_BE_G1_demo.mp4]] | |||
== Travail effectué == | |||
=== Séance 1 : recherche de sujet === | |||
Séance 2 : | === Séance 2 : création du schéma === | ||
En nous inspirant des travaux de camarades des années précédentes nous sommes arrivées à réaliser notre | En nous inspirant des travaux de camarades des années précédentes nous sommes arrivées à réaliser notre schéma électronique, nous avons également compris l'ensemble du matériel dont nous auront besoin. | ||
Principaux composants : | Principaux composants : | ||
*5 Boutons (4 Jeu + RESET) | |||
*5 Leds (4 Jeu + Indication fonctionnement) | |||
*écran Led 8 pins | |||
*système audio 8 bits | |||
*microcontrôleur ATmega32U4 | |||
=== Séances 3 à 6 : routage de la carte === | |||
Fichier led.c : | |||
<nowiki>#</nowiki>include <avr/io.h> | |||
<nowiki>#</nowiki>define LED 3 | |||
<nowiki>#</nowiki>define BOUTON 0 | |||
int main(void){ | |||
DDRB |= (1 << 4); // Sortie pour la LED | |||
DDRC &= ~(1 << 1); // Entrée pour le bouton | |||
PORTC |= (1 << 1); // Configuration de la résistance de tirage | |||
while(1){ | |||
if(!(PINC & (1 << 1))) PORTB &= ~(1 << 4); // LED éteinte } | |||
else PORTB |= (1 << 4); // LED allumée | |||
} | |||
} | |||
Ficher makefile : | |||
export CC = avr-gcc | |||
export LD = avr-gcc | |||
export MCU = atmega328p | |||
export FCPU = 16000000 | |||
export TARGET_ARCH = -mmcu=$(MCU) | |||
export CFLAGS = -Wall -I. -DF_CPU=$(FCPU) -Os | |||
export LDFLAGS = -g $(TARGET_ARCH) -lm -Wl,--gc-sections | |||
TERM = /dev/ttyACM0 | |||
PGMERISP = -c stk500v1 -b 115200 -P $(TERM) | |||
export DUDE = /usr/bin/avrdude -F -v -p $(MCU) | |||
TARGET = led | |||
C_SRC = $(wildcard *.c) | |||
OBJS = $(C_SRC:.c=.o) | |||
all: $(TARGET).hex | |||
clean: | |||
rm -f $(TARGET).o $(TARGET).hex $(TARGET).elf | |||
$(TARGET).elf: $(OBJS) | |||
$(LD) $(LDFLAGS) -o $@ $(OBJS) | |||
$(TARGET).hex: $(TARGET).elf | |||
avr-objcopy -j .text -j .data -O ihex $(TARGET).elf $(TARGET).hex | |||
upload: $(TARGET).hex | |||
stty -F $(TERM) hupcl # reset | |||
$(DUDE) $(PGMERISP) -U flash:w:$(TARGET).hex | |||
size: $(TARGET).elf | |||
= | avr-size --format=avr --mcu=$(MCU) $(TARGET).elf | ||
Latest revision as of 16:54, 13 February 2026
Proposition d'objet
Après mûres réflexions, nous avons choisi de nous orienter vers la création d'un jeu Simon. Le jeu culte de mémoire dont le but et de réaliser la plus longue série de notes musicales successives.
Carte électronique
Carte réalisée en utilisant le logiciel KiCAD : File:2025 BE G1 kicad.zip.
Schéma électronique de la carte :
Résultat du routage :
Photo de la carte soudée :
Vidéo très courte et en basse résolution de la carte en fonctionnement :
Travail effectué
Séance 1 : recherche de sujet
Séance 2 : création du schéma
En nous inspirant des travaux de camarades des années précédentes nous sommes arrivées à réaliser notre schéma électronique, nous avons également compris l'ensemble du matériel dont nous auront besoin.
Principaux composants :
- 5 Boutons (4 Jeu + RESET)
- 5 Leds (4 Jeu + Indication fonctionnement)
- écran Led 8 pins
- système audio 8 bits
- microcontrôleur ATmega32U4
Séances 3 à 6 : routage de la carte
Fichier led.c :
#include <avr/io.h>
#define LED 3
#define BOUTON 0
int main(void){
DDRB |= (1 << 4); // Sortie pour la LED
DDRC &= ~(1 << 1); // Entrée pour le bouton
PORTC |= (1 << 1); // Configuration de la résistance de tirage
while(1){
if(!(PINC & (1 << 1))) PORTB &= ~(1 << 4); // LED éteinte }
else PORTB |= (1 << 4); // LED allumée
}
}
Ficher makefile :
export CC = avr-gcc
export LD = avr-gcc
export MCU = atmega328p
export FCPU = 16000000
export TARGET_ARCH = -mmcu=$(MCU)
export CFLAGS = -Wall -I. -DF_CPU=$(FCPU) -Os
export LDFLAGS = -g $(TARGET_ARCH) -lm -Wl,--gc-sections
TERM = /dev/ttyACM0
PGMERISP = -c stk500v1 -b 115200 -P $(TERM)
export DUDE = /usr/bin/avrdude -F -v -p $(MCU)
TARGET = led
C_SRC = $(wildcard *.c)
OBJS = $(C_SRC:.c=.o)
all: $(TARGET).hex
clean:
rm -f $(TARGET).o $(TARGET).hex $(TARGET).elf
$(TARGET).elf: $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS)
$(TARGET).hex: $(TARGET).elf
avr-objcopy -j .text -j .data -O ihex $(TARGET).elf $(TARGET).hex
upload: $(TARGET).hex
stty -F $(TERM) hupcl # reset
$(DUDE) $(PGMERISP) -U flash:w:$(TARGET).hex
size: $(TARGET).elf
avr-size --format=avr --mcu=$(MCU) $(TARGET).elf