Télécharger la présentation
1
Présentation de l’andronessness
2
Définition L’andronessness est classé parmi les robots explorateur. Leurs rôle est d’exploiter les endroits que l’homme n’est pas capable d’atteindre . Par exemple les endroits ou on a une forte température, ou un champs nucléaire… Le robot explorateur était envoyer sur la lune pour prélever des échantions
3
Relation entre andronessness et Android
L’idée principale c’est d’exploiter les capteurs intégrés dans l’Androphone pour avoir une vision très claire de l’environnement qui entoure le robot: L’accéléromètre :pour connaitre l’accélération du robot sur les 3 axes X,Y et Z Le capteur champs magnétique: donne l’évolution du champs magnétique Compas magnétique: l’angle de rotation Température Baromètre: donne la pression Caméra: l’image de l’environnement en temps réel
4
Principe de fonctionnement
5
Principe de fonctionnement
La commande passe du pc vers Xbee par un protocole de communication série RS232 puis elle seras transmis du Xbee émetteur par Xbee récepteur par le protocole Zigbee .le microcontrôleur pic reçoive la commande grâce au protocole UART puis le pic commande les 4 servomoteur
6
Principe de fonctionnement
Le pc envoie une chaine de 9 caractères: 8 pour la commande et un caractère # pour délimiter la chaine C1 C2 C3 C4 C5 C6 C8 C9 V1[0] V1[1] V1[2] sens1 V2[0] V2[1] V2[2] sens2
7
Principe de fonctionnement
Si on veut tourner le robot à gauche au augmente la vitesse des roues de droite et on diminue celle des roues de gauche . De même si on veut tourner le robot à droite VG>VD Si sens=1 alors les moteurs tourne en avant si sens=0 les moteurs tournes en arrière On a 2 commande * une pour les moteurs de droite * une pour les moteur de gauche
8
Initialisation et le main
Déclaration & Initialisation Fonction main char commande[9]; char vit1[3]; char vit2[3]; unsigned char v1=0,v2=0; //Déclaration de variable void init(){ uart1_init(9600); pwm1_init(10000); pwm2_init(10000); pwm1_set_duty(0); pwm2_set_duty(0), pwm1_start(); pwm2_start(); } } void main() { init(); while(1){ if(uart1_data_ready()==1){ uart1_read_text(commande,"#",255); extractData(); } } }
9
Fonction de traitement
extractData(){ unsigned char i=0; for(i=0;i<3;i++){ vit1[i]=commande[i]; } v1=(vit1[0]-48)*100+(vit1[1]-48)*10+(vit1[2]-48); for(i=4;i<7;i++){ vit2[i-4]=commande[i]; } v2=(vit2[0]-48)*100+(vit2[1]-48)*10+(vit2[2]-48); if(commande[3]==1){ portb.rb1=0; portb.rb2=1; } else{ portb.rb1=1; portb.rb2=0; } if(commande[7]==1){ portb.rb3=0; portb.rb4=1; } else{ portb.rb3=0; portb.rb4=1; } pwm1_set_duty(v1); pwm2_set_duty(v2); }
12
Merci pour votre attention
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.