programmation dun robot pour les tpe

programmation dun robot pour les tpe - C - Programmation

Marsh Posté le 29-01-2012 à 19:55:01    

Je suis en première et si vous le savez dans quelques mois nous aurons les TPE je travaille donc avec mon groupe sur la voiture autonome nous avons commence la fabriquation du robot mais depuis plusieurs semaines nous restons bloqués au niveau du programme et nos professeurs n'arrive pas non plus à nous aider je m'en remet donc à votre aide.Ce programme doit donc suivre une ligne noirs à l'aide de capteurs et de même de s'arreter en cas d'obstacle passant devant le robot.La ligne noir représente les lignes blanches de la route avec lesquelles la voiture se dirige et l'obstacle simule un piéton.Nous avons donc commencer le programme nous arrivons à le faire nous rajoutons ue partie du programme permettant de suivre la ligne noir maois cela ne marche pas et nous trouvons pas d'erreur.Voici ce programme:  
'Paramétrage et Déclarations  
'Déclaration du µC  
$regfile = "attiny2313.dat"  
'Paramétrage de la fréquence d'horloge  
$crystal = 16000000  
'Configuration des entrées-sorties  
Config Pinb.0 = Input  
Config Pinb.1 = Input  
Config Portb.3 = Output  
Config Portb.4 = Output  
Config Portd.2 = Output  
Config Portd.3 = Output  
Config Pind.6 = Input  
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64  
'Création des mnémoniques  
Bp_start Alias Pind.6 'Bouton poussoir : 0 = appuyé, 1 = relâché  
Mg Alias Pwm1a 'Commande du moteur gauche (de 0 à 255)  
Md Alias Pwm1b 'Commande du moteur droit (de 0 à 255  
Led1 Alias Portd.2 'LED 1  
Led2 Alias Portd.3 'LED 2  
Captg Alias Pinb.0 'Capteur gauche  
Captd Alias Pinb.1 'Capteur droit  
Dim I As Byte 'Variable I servant au test de démarrage progressif  
Portd = 255  
'PROGRAMME PRINCIPAL  
'Extinction des deux LED  
Reset Led1  
Reset Led2  
'Programme de test des moteurs  
'Moteur droit seul  
Md = 255  
Mg = 0 'on allume la led1 pour suivre le déroulement du programme  
Set Led1  
'Attente d'une action sur le bouton poussoir  
Bitwait Bp_start , Reset 'attente de l'appui sur le bouton poussoir  
Waitms 200 'temporisation de 200 ms afin d'éliminer les rebonds sur le bouton poussoir  
Bitwait Bp_start , Set 'attente qu'on relâche le bouton poussoir  
'Moteur gauche seul  
Md = 0  
Mg = 255  
Reset Led1 'on éteint la led1 et on allume la led2  
Set Led2 'pour suivre le déroulement du programme  
'Attente d'une action sur le bouton poussoir  
Bitwait Bp_start , Reset 'attente de l'appui sur le bouton poussoir  
Waitms 200 'temporisation de 200 ms afin d'éliminer les rebonds  
Bitwait Bp_start , Set 'attente qu'on relâche le bouton poussoir  
'LIGNE DROITE (les deux moteurs à fond)  
Mg = 255 'Moteur Gauche à 255  
Md = 255 'Moteur Droit à 255  
Reset Led2  
Set Led1  
'TEMPORISATION de 5 secondes  
Wait 5  
'Arrêt des deux moteurs pendant 2 secondes  
Mg = 0  
Md = 0  
Wait 2  
Reset Led1  
Set Led2  
'démarrage progressif des moteurs  
For I = 0 To 255 'On augmente la vitesse des deux moteurs de 1 toutes  
Mg = I 'les 20 millisecondes  
Md = I 'afin d'obtenir un démarrage progressif  
Waitms 20 'il faut augmenter l'attente pour un démarrage plus doux  
Next I 'ou la diminuer pour un démarrage plus brutal  
Wait 5 'les deux moteurs restent à fond pendant 5 secondes  
'Arrêt des deux moteurs  
Mg = 0  
Md = 0  
Reset Led1  
Reset Led2  
End 'fin du programme  
Si vous voyez un défaut merci de nous donner votre avis ou un quelquonque conseil et nous somme bloqués aussi pour faire la suite du programme permettant au robot de s'arreter ceci grace à un autre capteur.  
Je vous remercie d'avance.

Reply

Marsh Posté le 29-01-2012 à 19:55:01   

Reply

Marsh Posté le 28-02-2012 à 20:41:20    

Vous utilisez quel hardware?
Qu'est-ce qui marche pas : ça compile pas, ça fait rien du tout (aucun moteur ne bouge)
Et le langage, ça fait tout sauf C. On dirait du Basic
 
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed