IOGS_France
/
IeTI_nRF24
Program to test nrF24 module / RF transmission
Diff: voiture_auto.cpp
- Revision:
- 2:68d03c147aff
- Parent:
- 1:b96e529849d1
--- a/voiture_auto.cpp Tue Dec 14 15:03:53 2021 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ -/****************************************************************************/ -/* Autonomous Vehicle / based on RC vehicle Lancia Delta */ -/****************************************************************************/ -/* LEnsE / Julien VILLEMEJANE / Institut d'Optique Graduate School */ -/****************************************************************************/ -/* Library - voiture_auto.cpp file */ -/****************************************************************************/ -/* Tested on Nucleo-L476RG / 4th nov 2021 */ -/****************************************************************************/ - -#include "mbed.h" -#include "voiture_auto.h" - -/* Entrées - Sorties */ -// Chassis -PwmOut direction(PB_13); // Servomoteur de direction -PwmOut moteur(PC_9); // Motorisation / ESC -AnalogIn pot_dir(PC_5); -// Capteurs -AnalogIn capt1(PC_2); -AnalogIn capt2(PC_3); -AnalogIn capt3(PC_0); -AnalogIn capt4(PC_1); -AnalogIn capt5(PB_0); -AnalogIn capt6(PA_4); - -/* Variables globales */ -int angle_roues, vitesse; -char data = 'd'; -float distance_c[6] = {0}; - -/* Initialisation de la voiture */ -void initVoiture(void){ - // Initialisation moteur et direction - direction.period_ms(20); //période de réception du servomoteur - direction.pulsewidth_us(1300); //première commande du servomoteur -> tout droit - moteur.period_ms(20); //période de réception du moteur - moteur.pulsewidth_us(1500); // 1500 -> point mort - wait_us(2000000); -} - -/* Test Direction */ -void testDirection(void){ - for(angle_roues = 1100; angle_roues < 1500; angle_roues+=10){ - direction.pulsewidth_us(angle_roues); - wait_us(100000); - } - angle_roues = 1300; - direction.pulsewidth_us(angle_roues); -} - -/* Réglage Direction */ -void setDirection(void){ - // TO DO -} - -/* Test Vitesse */ -void testVitesse(void){ - // Marche Avant progressive - for(vitesse = 1500; vitesse < 1600; vitesse+=10){ - moteur.pulsewidth_us(vitesse); - wait_us(100000); - } - wait_us(1000000); - // Arrêt - vitesse = 1500; - moteur.pulsewidth_us(vitesse); - wait_us(100000); - // Marche arrière - insdispensable / voir régulateur vitesse - vitesse = 1400; - moteur.pulsewidth_us(vitesse); - wait_us(100000); - // Arrêt - insdispensable - vitesse = 1500; - moteur.pulsewidth_us(vitesse); - wait_us(100000); - // Marche arrière progressive - for(vitesse = 1500; vitesse > 1400; vitesse-=10){ - moteur.pulsewidth_us(vitesse); - wait_us(100000); - } - wait_us(1000000); - // Arrêt - vitesse = 1500; - moteur.pulsewidth_us(vitesse); -} - -/* Récupération des données des capteurs */ -void collectData(void){ - distance_c[0] = capt1.read()*3.3; - distance_c[1] = capt2.read()*3.3; - distance_c[2] = capt3.read()*3.3; - distance_c[3] = capt4.read()*3.3; - distance_c[4] = capt5.read()*3.3; - distance_c[5] = capt6.read()*3.3; -} - -/* Affichage des données des capteurs */ -void printData(void){ - for(int i = 0; i < 6; i++){ - debug_pc.printf("\tD%d = %lf\r\n", i, distance_c[i]); - } - debug_pc.printf("\r\n"); -} \ No newline at end of file