Tutoriel avec exercices corrigés sur Arduino mblock
Document pour le professeur
Version septembre 2016
Utilisation du logiciel
MBLOCK
pour piloter une carte Arduino Uno
Logiciel à télécharger sur le site
REMARQUE : mBlock peut être utilisé en mode « direct » ou peut générer le code à téléverser dans la carte Arduino
Exemples de branchement des entrées et des sorties sur l’Arduino Uno
Branchement d’une DEL sur broche (sortie)
|
R : 330 ? ± 5% - 1/8 W
D : Diode Electro Luminescente
Branchement d’un bouton poussoir sur broche (entrée)
|
R : 10 K? ± 5% - 1/8 W
BP
Branchement d’un potentiomètre sur broche (entrée analogique)
|
RV : 10 K? ± 5% - 1/8 W
Branchement d’une LDR sur broche (entrée analogique)
|
R : 10 K? ± 5% - 1/8 W
LDR
1 - Utilisation en mode « téléversement »
Utilisation du shield 1
Avec un shield de ce type :
Bouton poussoir
Le schéma :
Matériel :
6 résistances 330 ? ± 5% - 1/8 W
1 résistance 10 K? ± 5% - 1/8 W
1 DEL verte
1 DEL verte jaune
1 DEL rouge
1 DEL RGB (RVB) à cathode commune
1 bouton poussoir
Implanter et braser la DEL verte, cathode vers le bas
Implanter et braser la DEL jaune, cathode vers le bas
Implanter et braser la DEL rouge, cathode vers le bas
Implanter et braser la DEL RGB (RVB), cathode vers la droite
Les photos :
Tableau des entrées - sorties
Broche | Entrée/Sortie | Analog/Numér | Valeurs | Composant | |
A0 | Entrée | Analogique | 0 à 1023 (210) | Bouton poussoir | |
A1 | Entrée | Analogique | 0 à 1023 | ||
A2 | Entrée | Analogique | 0 à 1023 | ||
A3 | Entrée | Analogique | 0 à 1023 | ||
A4 | Entrée | Analogique | 0 à 1023 | ||
D0 | RX | ||||
D1 | TX | ||||
D2 | Entrée/Sortie | Numérique | |||
D3 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL verte | |
D4 | Entrée/Sortie | ||||
D5 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL jaune | |
D6 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL rouge | |
D7 | Entrée/Sortie | Numérique | |||
D8 | Entrée/Sortie | Numérique | |||
D9 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL RGB (RVB) - rouge | |
D10 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL RGB (RVB) - vert | |
D11 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL RGB (RVB) - bleu | |
D12 | Entrée/Sortie | Numérique | |||
D13 | Entrée/Sortie | Numérique |
Exercice 1
Cahier des charges
Faire 3 fois : allumer la DEL rouge pendant 5 secondes. Eteindre la DEL rouge pendant 1 seconde.
Démarche :
Dans le script Pilotage :
Dans le script Contrôle :
Il faut répéter 3 fois
Dans le script Pilotage :
La sortie utilisée pour la DEL rouge est la 6
Elle doit être à l’état haut (allumée)
Dans le script Contrôle :
Il faut attendre 5 secondes
Dans le script Pilotage :
La sortie utilisée pour la DEL rouge est la 6
Elle doit être à l’état bas (éteinte)
Dans le script Contrôle :
Il faut attendre 1 seconde
Enregistrer le programme : Fichier puis Sauvegarder le projet sous
Indiquer le nom du fichier en indiquant l’extension .sb2
Tester le programme.
Exercice 2
Cahier des charges fonctionnement d’un feu tricolore
Faire indéfiniment : allumer la DEL verte (broche 3) pendant 5 secondes puis l’éteindre, allumer la DEL jaune (broche 5) pendant 1 seconde puis l’éteindre, allumer la DEL rouge (broche 6) pendant 5 secondes puis l’éteindre.
Corrigé :
Exercice 3
Cahier des charges allumer la DEL verte (broche 3) quand le bouton poussoir est activé (entrée analogique 0). La valeur varie de 0 à 1023.
Corrigé :
Exercice 4
Cahier des charges faire varier la luminosité de la DEL verte (broche 3) de 0 à 255 puis de 255 à 0
Valeur 0 : DEL éteinte
Valeur 255 : DEL allumée complètement
Définir une variable « Luminosité » :
Dans le script Blocs & variables, cliquer sur Créer une variable et donner le nom : Luminosité
Corrigé :
Exercice 5
Cahier des charges faire varier la luminosité de la DEL RGB (RVB) de 0 à 255 puis de 255 à 0 : - faire varier la luminosité de la couleur rouge (broche 9) de 0 à 255 puis de 255 à 0
- faire varier la luminosité de la couleur verte (broche 10) de 0 à 255 puis de 255 à 0
- faire varier la luminosité de la couleur bleue (broche 11) de 0 à 255 puis de 255 à 0 Corrigé :
Exercice 6
Cahier des charges faire varier la luminosité de la DEL verte (broche 3) de 0 à 255 en fonction de la position d’une résistance ajustable reliée à l’entrée analogique 1. Les valeurs sont lues entre 0 et 1023.
Il faut convertir la valeur pour qu’elle se situe dans la plage de valeurs 0 à 255. Il faut donc diviser la valeur de la résistance ajustable par 4.
Corrigé :
Utilisation du shield 2
Ce shield permet de commander :
- 2 servomoteurs
- 4 moteurs à courant continu
Exercice 7
Cahier des charges : faire fonctionner indéfiniment un servomoteur (broche 10), 0° pendant 5 secondes, 90° pendant 5 secondes et 180° pendant 5 secondes.
Branchement du shield
| ||
|
Attention au sens pour le branchement ( - + S )
Corrigé :
Exercice 8
Cahier des charges faire fonctionner 3 fois le moteur 1 dans un sens pendant 5 secondes et l’arrêter 1 seconde puis dans l’autre sens pendant 5 secondes et l’arrêter 1 seconde.
Branchement du shield
|
|
IMPORTANT : Pour utiliser ce shield et piloter 1, 2, 3 ou 4 moteurs, il faut télécharger l’extension « mblock_motor_extension » à l’adresse : ;-utilisation-de-l'extension |
Sélectionner le dossier dans lequel le fichier sera enregistré
Laisser le fichier Controleur moteur au format .zip
Dans mBlock, cliquer sur Choix des extensions puis Gérer les extensions
Cliquer sur Ajouter puis sélectionner le fichier Controleur
Sélectionner le format zip file (*.zip)
Cliquer sur Choix des extensions puis Gérer les extensions.
Sélectionner Controleur moteur
Ce menu apparaît dans le script Pilotage
Corrigé :
2 - Utilisation en mode « direct »
- Cliquer sur Choix des extensions
Sélectionner Arduino et Communication
Connecter la carte Arduino Uno à l’ordinateur, cliquer sur Connecter puis par port série (COM). Sélectionner le port indiqué sur l’écran de l’ordinateur, par exemple COM1, COM2,…, COM5,…
Si un programme est présent dans l’Arduino, cliquer sur Connecter puis Mettre à jour le microprogramme
Utilisation du shield 3
Avec un shield de ce type :
Potentiomètre et DEL
Le schéma :
Matériel :
1 résistance 330 ? ± 5% - 1/8 W 1 résistance 10 K? ± 5% - 1/8 W
1 LDR
1 résistance ajustable 10 K?
1 DEL verte
Les photos :
Tableau des entrées - sorties
Broche | Entrée/Sortie | Analog/Numér | Valeurs | Co | mposant |
A0 | Entrée | Analogique | 0 à 1023 (210) | LDR | |
A1 | Entrée | Analogique | 0 à 1023 | Résistance ajustable | |
A2 | Entrée | Analogique | 0 à 1023 | ||
A3 | Entrée | Analogique | 0 à 1023 | ||
A4 | Entrée | Analogique | 0 à 1023 | ||
D0 | RX | ||||
D1 | TX | ||||
D2 | Entrée/Sortie | Numérique | |||
D3 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | DEL verte | |
D4 | Entrée/Sortie | ||||
D5 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | ||
D6 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | ||
D7 | Entrée/Sortie | Numérique | |||
D8 | Entrée/Sortie | Numérique | |||
D9 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | ||
D10 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | ||
D11 | Entrée/Sortie | Numérique pwm | haut/bas ou 0 à 255 (28) | ||
D12 | Entrée/Sortie | Numérique | |||
D13 | Entrée/Sortie | Numérique |
9
Afficher sur l’écran de l’ordinateur la valeur de la résistance ajustable reliée à l’entrée
analogique 1. Les valeurs sont lues entre 0 et 1023.
REMARQUE : Utiliser le mode « direct »
Si un programme est présent dans l’Arduino, cliquer sur Connecter puis Mettre à jour le microprogramme
Corrigé :
10
Afficher sur l’écran de l’ordinateur la valeur de la LDR reliée à l’entrée analogique 0. Les
valeurs sont lues entre 0 et 1023.
REMARQUE : Utiliser le mode « direct »
Si un programme est présent dans l’Arduino, cliquer sur Connecter puis Mettre à jour le microprogramme
Corrigé :
11
faire varier la luminosité de la DEL verte (broche 3) de 0 à 255 en fonction de la position
d’une résistance ajustable reliée à l’entrée analogique 1. Les valeurs sont lues entre 0 et 1023.
Il faut convertir la valeur pour qu’elle se situe dans la plage de valeurs 0 à 255. Il faut donc diviser la valeur de la résistance ajustable par 4.
Corrigé :