« SE3Groupe2024-5 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Ligne 83 : | Ligne 83 : | ||
[[Fichier:Video pcb(1).mp4|gauche|vignette|Communication USB entre ISP et PC visualisée via minicom]]</div> | [[Fichier:Video pcb(1).mp4|gauche|vignette|Communication USB entre ISP et PC visualisée via minicom]]</div> | ||
<div style="clear: both;"> | |||
== Tests == | == Tests == |
Version du 26 mars 2025 à 11:52
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