Objectif : Nous avons tous vu des robots. A qui obéissent-ils?
Ce chapitre utilise le langage de programmation qbasic.
I Qu'est-ce que la robotique? | ||
En robotique on commande une machine à partir d'un ordinateur. | Si le robot est muni de capteurs, les commandes peuvent dépendre des conditions du moment (température, pression, obstacle, etc...) | |
Le mot robot vient du tchèque "robota", qui signifie "travail forcé". | En 1920, l'écrivain Tchèque Karel Capek créa ce mot dans ses romans. Capek imaginait l'homme soumis à ses créations. |
Si le robot a fait couler beaucoup d'encre et s'il est le sujet de science fiction par excellence, ce dernier ne peut faire que ce qu'on lui a appris, à travers le programme informatique auquel il se soumet. |
Dans la pratique, les robots sont utilisés:
|
Un robot fonctionne grâce à un programme informatique. Les informations peuvent être transmises par :
|
|
Q 1: Définir un robot en 3 lignes, à partir de ce
paragraphe. Citer au moins un exemple de robot utilisé dans l'industrie (vu à la "télé"). |
||
II La carte Candibus (ou Candiplus) | |||||||||||||||||||||||||||||||||||||||||||||||||||
La carte Candibus possède une prise à 25 bornes
visible à l'arrière de l'ordinateur. L'une de ces bornes est reliée à la masse. Les autres sont groupées par huit (Port A, B et C). |
![]() |
Vue du connecteur à brancher sur la prise à l'arrière de la carte Candibus. |
|||||||||||||||||||||||||||||||||||||||||||||||||
Ci-contre le bornier, à relier à la
prise (25 bornes) à l'arrière de l'ordinateur. On n'utilisera que les 8 bornes du port A et la masse. Ces 8 bornes peuvent être utilisées en entrée ou en sortie. Il faut alors placer l'octet qui convient à l'adresse hexadécimale 28F (port X). Voir le tableau ci-contre. |
![]() |
E = entrée S
= sortie
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Q 2: Quels sont les octets qui peuvent être placés à l'adresse du port X pour que le port A soit configuré en sortie? | |||||||||||||||||||||||||||||||||||||||||||||||||||
Brancher le connecteur DB 25 du bornier à l'arrière de l'ordinateur. On veillera à ne pas le débrancher tant qu'il sera relié à un circuit électrique. | |||||||||||||||||||||||||||||||||||||||||||||||||||
Les huits sorties du port A seront soit :
selon l'octet mis à l'adresse du PORT A. Voir exemple ci-contre. |
Q 3: Quel est l'octet
transmis par le port A? Donner sa valeur décimale. Q 4: Quelles sont les tensions:
|
||||||||||||||||||||||||||||||||||||||||||||||||||
La tension entre une borne du PORT A et la masse peut servir à commander une lampe, un moteur, une alarme .... | Les sorties des PORTS A, B et C de la carte
Candibus ne peuvent débiter que de très petites intensités, de l'ordre
du milliampère (voire moins). C'est pourquoi il faut amplifier l'intensité du courant qui provient de ces portes logiques: c'est le rôle du transistor. |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||
III Commande de diodes électroluminescentes | ||||||||||||||||||||||||||||||||||||||||||||||||||
A) Le transistor: un interrupteur commandé | ||||||||||||||||||||||||||||||||||||||||||||||||||
Réaliser le circuit ci-contre. | Q 5: La diode électroluminescente s'allume-t-elle? Quel rôle joue alors le transistor? |
|||||||||||||||||||||||||||||||||||||||||||||||||
A l'aide d'un voltmètre, régler un générateur de tension continue sur 5 V, puis le brancher entre la base et l'émetteur. | Q 5: La diode électroluminescente s'allume-t-elle? Quel rôle joue maintenant le transistor? Q 6: Indiquer les sens des courants. Colorier en rouge le circuit commandé et d'une autre couleur le circuit de commande. |
|||||||||||||||||||||||||||||||||||||||||||||||||
B) Principe du test Les huits sorties (A0 à A7) pourront être :
|
![]() |
Cette tension de 5V peut servir à commander l'allumage d'une diode
électroluminescente. Supprimer le générateur de 5 V et connecter au bornier. Ce montage servira à tester les états logiques des sorties du port A. Q 7: Reproduire le schéma et expliquer le fonctionnement de ce dispositif. |
||||||||||||||||||||||||||||||||||||||||||||||||
C) Ecrire un octet en mémoire Q 8: Rappeler les valeurs minimale et maximale que peut prendre un octet (en numération décimale).
|
L'octet du port A devra être inscrit à l'adresse hexadécimale 28C, notée &H28C en qbasic. L'instruction du qbasic qui permet d'écrire dans la mémoire est : OUT adresse, octet |
Les huit bits du port A déterminent les états logiques des huit bornes
du port A
|
||||||||||||||||||||||||||||||||||||||||||||||||
Ouvrir le logiciel qbasic, puis écrire le programme
ci-contre. Par précaution, on a préféré créer les variables PA et PX pour ne pas se tromper dans la suite du programme. Il serait en effet dangereux d'écrire à une adresse quelconque de la mémoire. |
L'instruction INPUT permet d'entrer une donnée au clavier. Ici, on entre la valeur qui sera mise à l'adresse du port A. Q 9: Recopier ce programme sur votre cahier en notant, en face, le rôle de chaque instruction du programme. |
'Test des sorties de la carte
Candibus CLS PA = &H28C PX = &H28F OUT PX,128 PRINT "Donne une valeur à l'octet A : " PRINT "... entre 0 et 255 !!" INPUT A OUT PA, A END |
||||||||||||||||||||||||||||||||||||||||||||||||
Q 10: Exécuter le programme, puis noter les sorties états logiques de toutes les sorties. Comparer alors à la valeur de l'octet entré au clavier. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
IV Commander une lampe, un feu tricolore, un chenillard ... | ||||||||||||||||||||||||||||||||||||||||
A) Une
lampe Objectif :On veut faire clignoter la lampe 10 fois, avec succivement, 1s d'allumage puis 1 s d'extinction. On utilisera le bit A0 du bornier. |
Effacer l'ancien programme. Attention, les cellules suivantes contiennent des éléments du programme qui peuvent s'intercaler entre les lignes écrites ci-contre. |
'Clignotement d'une
lampe CLS PA = &H28C PX = &H28F OUT PX,128 ... END |
||||||||||||||||||||||||||||||||||||||
FOR ... NEXT permet de réaliser des boucles. Cette boucle sera répétée dix fois. |
On insèrera dans cette boucle le programme pour que la lampe soit allumée pendant 1 s puis éteinte pendant 1 s. | FOR N = 1 TO 10 ... ... NEXT N |
||||||||||||||||||||||||||||||||||||||
On utilise la sortie A0. Placer l'octet 1, puis l'octet 0 à l'adresse du port A. |
|
... OUT PA, 1 OUT PA, 0 ... |
||||||||||||||||||||||||||||||||||||||
Mais il s'écoule trop peu de temps
entre le passage de la sortie A0 de l'état logique 1 à l'état logique 0. Il faut remplacer chaque ligne par une boucle de durée 1 s. |
||||||||||||||||||||||||||||||||||||||||
Pour contrôler la durée, on créera un chronomètre en utilisant la fonction TIMER. | Q 11: A quoi correspond la variable t ? La
boucle (DO ... LOOP) se répètera A chaque boucle, t est recalculé. |
t = 0 H0 = TIMER OUT PA, 1 DO WHILE t < 1 H = TIMER t = H - H0 LOOP |
||||||||||||||||||||||||||||||||||||||
. | Q 12: Compléter le programme pour que la lampe reste ensuite éteinte 1s | ? | ||||||||||||||||||||||||||||||||||||||
IV Commander une lampe, un feu tricolore, un chenillard ... | ||
Eventuellement: | On dispose d'un seul feu tricolore. Chaque élève enregistre son programme et vient le tester sur l'ordinateur prévu à cet effet. | |
B) Le feu tricolore On utilisera un montage comportant 3 diodes électroluminescentes (rouge, jaune et verte) simulant un feu tricolore. On pourra utiliser les sorties A0, A1 et A2. |
![]() |
Q 13: Modifier le programme pour que l'on ait
l'ordre des feux:
On réalisera trois cycles successifs. |
Q 14: Modifier le programme pour que le feu se mette au clignotant (orange) après les trois cycles ci-avant. |
||
IV Commander une lampe, un feu tricolore, un chenillard ... | |||
C) Le chenillard | |||
Eventuellement | Comme pour le feu tricolore, on enregistrera le programme pour faire fonctionner le chenillard sur l'ordinateur prévu à cet effet. | ||
Le dispositif comporte maintenant huit diodes
électroluminescentes. Chaque bit de l'octet du port A sera utilisé. |
On reprendra le programme précédent, qu'on adaptera.
|
||
Q 15: Faire clignoter les 8 DEL ensemble. | ![]() |
||
Q 16: Réaliser au choix un des chenillards ci-contre. Q 17: Commander une autre série d'allumages. |
|||
On voit avec cet
exercice le principe de la commande numérique. Toutefois, commander un moteur est un peu plus complexe, mais néanmoins fondé sur le même principe. |
|||