Résistance titre.gif (2180 octets) Atome d'hélium

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? II La carte Candibus (ou Candiplus)
III Commande de diodes électroluminescentes IV Commander une lampe, un feu tricolore, un chenillard ...
A) Une lampe
B) Le feu tricolore
C) Le chenillard

 

I Qu'est-ce que la robotique?    
En robotique on commande une machine à partir d'un ordinateur.

Un robot expérimental

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:
  • pour faire des tâches répétitives,
  • pour réaliser des travaux où l'homme ne peut aller (canalisations, conditions dangereuses ...).

Le robot Sojourner a permis d'explorer la planète Mars.

Un robot fonctionne grâce à un programme informatique.

Les informations peuvent être transmises par :

  • une tension, ce qui nécessite des fils,
  • de la lumière, transmise par des fibres optiques,
  • un rayonnement infra-rouge, ce qui ne nécessite pas de connexions.
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é").
   

Retour

 

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).

Schéma de la carte Candiplus

Vue du connecteur à brancher sur la prise à l'arrière de la carte Candibus.

Les bornes de la prise DB 25 de la carte Candiplus

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.

Le bornier avec les sorties du port A E = entrée  S = sortie
Port A B C Octet du port X
(valeur décimale)
  S S S 128
  S E S 130
  S S E 137
  S E E 139
  E S S 144
  E E S 146
  E S E 153
  E E E 155
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 :
  • au potentiel 5V (état logique 1),
  • au potentiel 0 (état logique 0)

selon l'octet mis à l'adresse du PORT A.

Voir exemple ci-contre.

Potentiels des sorties

Q 3: Quel est l'octet transmis par le port A? Donner sa valeur décimale.

Q 4: Quelles sont les tensions:

  • entre la sortie A0 et la masse?
  • entre la sortie A3 et la masse UA3M?
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.

Un exemple de transistor et son symbole
   

Retour

 

III Commande de diodes électroluminescentes  
A) Le transistor: un interrupteur commandé  
Réaliser le circuit ci-contre.

Un circuit sans courant

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.

Un circuit commandé

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 :

  • à l'état logique 0 fleche1.gif (873 octets) 0V
  • à l'état logique 1 fleche1.gif (873 octets) 5V
Le test des sorties du port A 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).

0 0 0 0 0 0 0 0
à
1 1 1 1 1 1 1 1
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
où adresse est l'adresse du port A (&H28C) et octet est la valeur décimale de l'octet.

Les huit bits du port A déterminent les états logiques des huit bornes du port A
A7 A6 A5 A4 A3 A2 A1 A0
1 0 1 1 0 0 1 1
5V 0V 5V 5V 0V 0V 5V 5V
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.
PORT A
Octet
   

Retour

 

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.

Octet 1 0 0 0 0 0 0 0 1
  A7 A6 A5 A4 A3 A2 A1 A0
Octet 0 0 0 0 0 0 0 0 0
  A7 A6 A5 A4 A3 A2 A1 A0
...
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
tant que (WHILE) t < 1. Placer cette dans le programme précédent.

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 ?
   

Retour

 

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.

La maquette du feu tricolore

Schéma électrique du feu tricolore Q 13: Modifier le programme pour que l'on ait l'ordre des feux:
  • vert: 10 s,
  • orange: 2s,
  • rouge: 8s.

On réalisera trois cycles successifs.

Vert, orange, rouge ...

Q 14: Modifier le programme pour que le feu se mette au clignotant (orange) après les trois cycles ci-avant.

ça clignote

   

Retour

 

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.

Un chenillard à deux couleurs

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.

Retour