Ce projet utilise un FPGA pour créer un radar 2D à ultrasons. Le système utilise des capteurs à ultrasons pour détecter des objets et afficher leur position sur une interface graphique. En ajoutant un moniteur VGA, il est possible de voir où se trouvent les objets, de se connecter via UART à un ordinateur, de recevoir et de traiter ces données, ainsi que de voir la progression de la cartographie sur un ensemble de LED NeoPixel. Pour illustrer son fonctionnement, vous pouvez consulter le rapport joint au projet ainsi que la vidéo suivante : Demonstration
- FPGA DE10-Lite
- Capteurs à ultrasons
- Quartus 18.1
- Servomoteur MG90s
- Convertisseur Serial-USB
- Écran VGA
- NeoPixel 12 LEDS
- Câbles de connexion
- Ordinateur avec un port USB
- Clonez le dépôt du projet :
git clone https://github.com/votre-utilisateur/FPGA-Ultrasonic-2D-Radar.git cd FPGA-Ultrasonic-2D-Radar/
- Ouvrez le logiciel Quartus 18.1 et connectez le FPGA à l'ordinateur.
- Ouvrez le projet
DE10_Lite_computer_YD/DE10_Lite_Computer.qpf
dans Quartus. - (Optionnel) Compilez le projet pour générer le fichier binaire pour le FPGA.
- Ouvrez le menu
Tools/Programmer
et programmez le DE10-Lite.
- Ouvrez Eclipse IDE via le menu
Tools/Nios II Soft. Build Tools for Eclipse
. - Il y a un projet pour chaque composant ainsi que le projet final :
└── 📁Projet_Complet └── 📁DE10_Lite_Computer_YD └── 📁software └── 📁demo └── 📁demo_bsp └── 📁NeoPixel_Testing └── 📁NeoPixel_Testing_bsp └── 📁Servo_Commandes └── 📁Servo_Commandes_bsp └── 📁Telemetre_7_seg └── 📁Telemetre_7_seg_bsp └── 📁UART_Controle └── 📁UART_Controle_bsp └── 📁VGA_Controle └── 📁VGA_Controle_bsp
- Pour chaque projet
_bsp
, générez le BSP via le menu NIOS II. - Pour chaque projet cible, faites le build puis exécutez sur NIOS II.
- Connectez les composants aux ports appropriés du FPGA comme suit :
- Le radar commencera à détecter les objets et à afficher leur position en temps réel.
Pour simuler, il faut :
- Avoir le logiciel Modelsim.
- Pour chaque IP, accédez au dossier modelsim comme suit :
└── 📁DE10_Lite_Exemple_IP └── 📁db └── 📁incremental_db └── 📁modelsim └── sim_avalon.do └── sim.do └── 📁output_files └── Exemple_IP.qpf ...
- Exécutez
do sim.do
oudo sim_avalon.do
.
Nous accueillons les contributions de la communauté pour améliorer ce projet. Pour contribuer, veuillez suivre les étapes suivantes :
- Fork le dépôt.
- Clone votre fork localement :
git clone https://github.com/votre-utilisateur/FPGA-Ultrasonic-2D-Radar.git cd FPGA-Ultrasonic-2D-Radar/
- Créez une nouvelle branche pour votre fonctionnalité ou correction de bug :
git checkout -b ma-nouvelle-fonctionnalite
- Faites vos modifications et committez-les :
git add . git commit -m "Ajout d'une nouvelle fonctionnalité"
- Poussez votre branche vers votre fork sur GitHub :
git push origin ma-nouvelle-fonctionnalite
- Ouvrez une Pull Request sur le dépôt original.
Pour toute question ou assistance supplémentaire, veuillez contacter :
- Nom : Daniel FERREIRA LARA
- Email : daniel.ferreira_lara@etu.sorbonne-universite.fr
Je suis toujours heureux de recevoir des retours et des suggestions pour améliorer notre projet.