« SE3Groupe2024-5 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Ligne 61 : | Ligne 61 : | ||
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ | ||
LD_FLAGS = | LD_FLAGS = | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="c" line="1" start="1"> | |||
char* ReportString = NULL; | |||
static bool ActionSent = false; | |||
static bool button = false; | |||
/* Device must be connected and configured for the task to run */ | |||
if (USB_DeviceState != DEVICE_STATE_Configured) | |||
return; | |||
/* Determine if a joystick action has occurred */ | |||
if (!(PIND & 0x40)){ | |||
if(!button){ | |||
ReportString = "BOUTON PRESSE\r\n"; | |||
ActionSent=false; | |||
} | |||
button=true; | |||
} | |||
else button=false; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Version du 26 mars 2025 à 11:35
Description
Objectif
Concevoir et réaliser un mini sonar à partir d'un émetteur-récepteur ultrason, avec un traitement des données effectué par un micro-contrôleur. Les données seront ensuite communiquées par ondes radio à un ordinateur. Le système devra être capable de fonctionner aussi bien sur batterie que connecté en USB à un ordinateur, et devra au minimum comporter des LED d'indication.
Cahier des charges
- Contrôle et traitement des informations de l'émetteur-récepteur ultrason
- Pilotage par moteur de l'angle de l'émetteur-récepteur ultrason
- Retour de l'information par des LED sur la carte
- Gestion de l'alimentation par USB
- Communication sans fil avec un ordinateur
- Gestion de l'alimentation sur batterie
- Interface pour visualiser les informations sur ordinateur
Spécification techniques
- angle de détection large (-90°,90°)
- deux émetteurs/récepteurs à ultrason HC-SR04
- Recharge par USB
- transmission des données par onde radio via un module RF (NRFL2401)
- Batteries Li-ion
- une LED tricolore, pour notamment informer des différents niveaux de batterie
- un afficheur 7 segments pour le débogage
- interface machine via une application python
- microcontroleur atmega
Carte électronique
Schématique
Routage
Réalisation
Matériel
CD4543 en DIP-16
Programmation
Programmateur AVR
Tests allumage des LEDs
MCU = atmega8u2
ARCH = AVR8
BOARD = NONE
F_CPU = 16000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = VirtualSerial
SRC = $(TARGET).c Descriptors.c $(LUFA_SRC_USB)
LUFA_PATH = ../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/
LD_FLAGS =
char* ReportString = NULL;
static bool ActionSent = false;
static bool button = false;
/* Device must be connected and configured for the task to run */
if (USB_DeviceState != DEVICE_STATE_Configured)
return;
/* Determine if a joystick action has occurred */
if (!(PIND & 0x40)){
if(!button){
ReportString = "BOUTON PRESSE\r\n";
ActionSent=false;
}
button=true;
}
else button=false;
Tests
Rendus
Archive GIT
Autres rendus
Projet KiCad programmateur AVR : Fichier:SE3-2024-G5-prog-kicad.zip