Acheter depuis le OSOYOO Acheter chez US Acheter chez UK Acheter chez DE Acheter chez IT Acheter chez FR Acheter chez ES Acheter chez JP


Dans ce projet, nous utiliserons un capteur d’obstacles (détecteur de distance à ultrasons) pour détecter les obstacles, éviter les collisions et conduire automatiquement.

Veuillez préparer les parties suivantes pour mener à bien ce projet
REMARQUE:
1.La couleur du bloc de construction est soumise au produit réel, ce qui n’affecte pas l’utilisation.
2. TOUS LES PRODUITS OSOYOO POUR ARDUINO SONT DES CARTES TIERCES ENTIÈREMENT COMPATIBLES AVEC ARDUINO

Avant de construire cette voiture robot avec des blocs, veuillez installer OSOYOO basic board pour Arduino sous OSOYOO Magic I/O shield comme suit (Attention : les broches du I/O shield sont d’abord alignées avec le port de la basic board, puis pressez fermement le shield sur la board).

Veuillez suivre les étapes de construction pour construire cette voiture robot. Si vous souhaitez obtenir les étapes de construction en PDF, veuillez les télécharger à partir de https://osoyoo.com/picture/Building_Robot_Car/lesson4/LESSON4.pdf
Remarque :Si vous avez construit la voiture robot de la leçon 1, passez à l’étape 35 de ce PDF.

Connectez les moteurs et le boîtier de la pile 9V comme dans la leçon 1.

Connecter ensuite le servomoteur SG90 au port D4 du OSOYOO Magic I/O shield, le capteur du module ultrasonique au port D7D8 du Magic I/O shield à l’aide d’un câble PNP à 4 broches comme ci-dessous :

Note : Dans ce kit, nous utilisons mblock comme outil de programmation, si vous voulez en savoir plus sur mblock, veuillez visiter la préparation avant le cours 1: https://osoyoo.com/fr/2021/12/01/preparation-before-class-1

Étape 1) Téléchargez la version PC de mBlock à partir de https://mblock.makeblock.com/en-us/download/, sélectionnez le fichier de téléchargement en fonction du type de système d’exploitation de votre ordinateur (n’utilisez pas la version du navigateur) :

Étape 2) Télécharger le fichier OSOYOO_UNO.mext à partir de https://osoyoo.com/driver/mblock/osoyoo_uno.mext

Étape 3) Exécutez le logiciel PC mBlock en double-cliquant sur l’icône de l’adorable Panda. L’interface utilisateur de mBlock s’affiche comme sur l’image suivante. Veuillez supprimer le périphérique par défaut CyberPi en cliquant sur la croix dans le cercle rouge.

Étape 4) Glissez-déposez le fichier osoyoo_uno_mext (téléchargé à l’étape 2) dans le logiciel mBlock comme suit :

Vous verrez maintenant un nouveau firmware dans mBlock, voir l’image suivante :

Le logiciel mBlock et le firmware de l’appareil OSOYOO_UNO ont été installés avec succès sur notre PC !

Nous allons maintenant vous montrer comment utiliser les blocs pour transformer cette idée en réalité.

Étape 5 : Cliquez sur Événements, ajoutez le bloc 【when Arduino Uno starts up】en haut :

Étape 6 : Cliquez sur 【Control】, puis faites glisser le bloc 【Forever】 dans la zone de programmation comme suit :

Étape 7 : Cliquez sur 【Action】, puis glissez-déposez le bloc 【set servo pin angle as】 dans la zone de programmation comme suit

Étape 8 : Cliquez sur 【Control】, puis glissez-déposez le bloc 【wait seconds】 dans la zone de programmation, réglez la valeur à 0,5 seconde comme suit :

Etape 9 : Clic droit sur le bloc 【set servo pin angle as】 , Cliquer sur 【duplicate】 dans le menu déroulant. Vous obtiendrez un bloc dupliqué et le placerez derrière le bloc 【wait seconds】. Réglez les valeurs 45 à 135 et 90 comme indiqué sur la figure suivante:

Étape 10 : Cliquer sur 【Control】, puis glisser et déposer le bloc 【forever】 dans la zone de programmation comme suit :

Étape 11 : Cliquez sur 【Action】, puis glissez-déposez le bloc [set servo pin angle] dans la zone de programmation, modifiez la valeur de 90 à 45 comme suit ;

Étape 12 : Cliquez sur 【Control】, puis glissez-déposez le bloc 【wait seconds】 dans la zone de programmation, réglez la valeur à 0,5 seconde comme suit :

Etape 13 : Cliquer sur 【Control】, puis glisser-déposer le bloc 【if then else】 dans la zone de programmation comme suit

Étape 14 : Cliquer sur 【Operation】, puis glisser-déposer le bloc 【0<0】 dans la zone de programmation, en changeant le 0 en 15 comme suit :

Etape 15:Cliquer sur 【Sensor】, puis glisser-déposer le bloc 【read ultrasonic sensor trig pin echo pin】 dans la zone de programmation, le numéro de broche étant fixé à la broche 7 et à la broche 8 comme suit ;

Etape 16:Cliquez sur 【Variable】 puis cliquez sur le bloc 【make a Variable】, le nom de la variable est 【right】 dans la boîte de dialogue vide comme suit. Créez les variables 【left】 et 【center】 de la même manière ;

Etape 17 : Cliquez sur 【Variable】, puis glissez-déposez le bloc 【set center to】 dans la zone de programmation, changez le 【center】 en 【right】. changer la valeur de 0 à 1, comme suit :

Étape 18 : Répétez l’étape précédente, en remplaçant le 1 par le 0 comme suit :

Etape 19 : Cliquer a droite sur le bloc 【set servo pin angle as】 ,Cliquer sur 【duplicate】 a partir du bloc 【digital write pin to】 par dessus. Vous obtiendrez un bloc dupliqué et vous le placerez derrière le bloc 【wait seconds】. Réglez les valeurs 45 à 135 et 90, changez le 【right】 en 【left】 et 【center】 comme indiqué sur la figure suivante.

Étape 20 : Cliquer sur 【Control】, puis glisser-déposer le bloc 【if then else】 dans la zone de programmation comme suit :

Etape 21 : Cliquer sur 【Operation】, puis glisser-déposer le bloc 【0=0】 dans la zone de programmation, en remplaçant 50 par 0 comme suit :

Etape 22 : Cliquer sur 【Variable】, puis glisser et déposer le bloc 【center】 dans la zone de programmation comme suit :

Étape 23 : Cliquez sur 【Action】, puis faites glisser le bloc 【Move forward at speed for】 vers la zone de programmation, remplacez 1 sec par 0,5 sec comme suit ;

Étape 24 : Cliquez à nouveau sur 【Action】, puis glissez-déposez le bloc 【Stop Moving】 dans la zone de programmation comme suit ;

Etape 25: Cliquer sur 【Control】, puis glisser-déposer le bloc 【if then else】 dans la zone de programmation comme suit.

Etape 26 : Cliquer sur 【Operation】, puis glisser-déposer le bloc 【0=0】 dans la zone de programmation, changer le 50 en 0 comme suit:

Etape 27 : Cliquer sur 【Variable】, puis glisser et déposer le bloc 【left】 dans la zone de programmation comme suit :

Étape 28 : Cliquez sur 【Action】, puis faites glisser le bloc 【Tourner à gauche à la vitesse de】 vers la zone de programmation, modifiez la valeur de 1 seconde en 0,5 seconde comme suit ;

Étape 29 : Cliquez à nouveau sur 【Action】, puis faites glisser le bloc 【Stop Moving】 vers la zone de programmation comme suit ;

Etape 30 : Cliquer sur 【Control】, puis glisser-déposer le bloc 【if then else】 dans la zone de programmation comme suit.

tape 31: Cliquer sur 【Operation】, puis glisser-déposer le bloc 【0=0】 dans la zone de programmation, en remplaçant 50 par 0 comme suit

Etape 32 : Cliquez sur 【Variable】, puis glissez-déposez le bloc 【right】 dans la zone de programmation comme suit :

Étape 33 : Cliquez sur 【Action】, puis glissez-déposez le bloc 【Turn Right at speed for】 dans la zone de programmation, modifiez la valeur de 1 seconde en 0,5 seconde comme suit ;

Étape 34 : Cliquez à nouveau sur 【Action】, puis faites glisser le bloc 【Stop Moving】 vers la zone de programmation comme suit ;

Étape 35 : Dans 【Action】, puis glisser-déposer 【Tourner à droite à la vitesse de】 dans la zone de programmation, remplacer 1 sec par 1,5 sec comme suit ;

 

Étape 36 : Dans 【Action】, glisser-déposer le bloc 【Stop Moving】 dans la zone de programmation comme suit ;

Nous avons maintenant terminé la programmation des blocs. Les blocs finaux ressemblent à ce qui suit :

Tous les blocs de programmation sont maintenant terminés ! D’après l’image ci-dessus, la logique est assez simple :

Lorsque l’Arduino est démarré, l’ordinateur entre dans une boucle morte qui vérifie l’état du bouton, lorsque le bouton n’est pas pressé, le servo s’arrête à sa position d’origine (dans mon servo 0 degré) et l’ascenseur est au sol, lorsque le bouton est pressé, le bras du servo tourne de la position 0 degré à la position 180 degrés et l’ascenseur s’élève dans les airs.

Étape 37: Téléchargement du programme sur la carte de base OSOYOO

1) Connectez d’abord votre 【OSOYOO basic board】 à votre PC avec un câble USB. Ensuite, cliquez sur le bouton 【Connect】 en bas du logiciel 【mBlock】, vous verrez une fenêtre USB apparaître,
2) cochez la case 【Show all connectable device】, puis un menu déroulant s’affiche,
3) Sélectionnez votre port dans le menu déroulant des périphériques.
4) cliquez sur le bouton 【Connect】 pour connecter votre PC à la 【OSOYOO basic board】.

5) Une fois que votre PC est connecté à 【OSOYOO basic board】, cliquez sur le bouton 【Upload】 en bas de votre logiciel, puis le code sera téléchargé vers 【OSOYOO basic board】 :

Dans cette leçon, nous allons apprendre quelques nouveaux blocs de programmes comme suit :
i)【Set Servo angle】 bloc dans la catégorie 【Action】:
Ce bloc contrôlera un servo dans un port numérique spécifique à un angle spécifique.

Prenons l’exemple du bloc ci-dessus : il fait pivoter le servo de la broche D4 à un angle de 90 degrés, ce qui place le capteur ultrasonique face à l’avant. Dans ce cas, le capteur détectera la présence d’un obstacle à l’avant.
Si vous modifiez la valeur de l’angle de 90 à 45, le capteur tournera de 45 degrés vers la gauche et le capteur ultrasonique testera les obstacles du côté gauche.
Si vous modifiez la valeur de l’angle de 90 à 135, le capteur tournera de 45 degrés vers la droite et le capteur à ultrasons testera les obstacles du côté droit.

ii) Bloc d’attente jaune de la catégorie de contrôle
Ce bloc conserve l’état actuel pendant un certain temps avant d’exécuter le bloc de programme suivant.


Dans l’exemple ci-dessus, le servo de D4 tourne à 90 degrés, puis s’arrête pendant 2 secondes.

iii)【Read Ultrasonic Sensor】 Blocage de 【Sensor】 Section
Ce bloc lit la valeur de la distance à partir du capteur à ultrasons.

Dans l’exemple ci-dessus, le bloc lira la valeur de la distance de l’obstacle à un capteur à ultrasons dont la broche de déclenchement est en D7 et la broche d’écho en D8.
Si le capteur ultrasonique détecte un obstacle, il renvoie la valeur de la distance (nombre entier).

iv)【Compare】 dans la catégorie 【Operator】

Le bloc 【Compare】 renvoie True ou False en fonction de la valeur de comparaison.

Dans l’exemple ci-dessus, lorsque la valeur de la distance du capteur ultrasonique est inférieure à la valeur seuil de 15 (, le système renvoie la valeur True, ce qui signifie qu’un obstacle a été détecté.
Dans le cas contraire, il renvoie un message faux, ce qui signifie qu’il n’y a pas d’obstacle dans cette direction. Vous pouvez modifier la valeur du seuil. Plus la valeur est grande, plus votre voiture sera sensible.

La logique de programmation complète :
Tout d’abord, le programme fera tourner le capteur ultrasonique de 45 degrés à 135 degrés, puis s’arrêtera à 90 degrés pendant 2 secondes. Cela vous permettra d’aligner la direction du servo. Si le capteur n’est pas orienté vers l’avant pendant les 2 secondes à 90 degrés, vous devez ajuster l’emplacement du capteur dans le servo et l’orienter vers 90 degrés.
Le capteur entre alors dans une boucle perpétuelle qui fait rouler la voiture en mode d’évitement d’obstacles.

Le programme fait pivoter le servo à 45 degrés, si le capteur détecte un obstacle dans un rayon de 15 cm, il mettra la variable droite à 1, ce qui signifie que le côté droit a un obstacle. Dans le cas contraire, la variable droite est mise à 0.

Ensuite, le programme fait tourner le servo à 135 degrés et à 90 degrés pour tester l’obstacle du côté gauche et l’obstacle de la direction centrale. Si le côté gauche a un obstacle dans les 15 cm, la variable gauche sera mise à 1, si la direction centrale a un obstacle dans les 15 cm, la variable centre sera mise à 1. S’il n’y a pas d’obstacle, ces variables seront mises à 0.

Nous connaissons maintenant l’état de l’obstacle dans les trois variables gauche, droite et centre. Le programme décidera du mouvement de la voiture en fonction de ces valeurs.
Si la direction centrale n’a pas d’obstacle (centre=0), la voiture avance.
Si la direction centrale a un obstacle mais que le côté gauche n’en a pas (centre=1 mais gauche=0), la voiture tourne à gauche.
Si la direction centrale, le côté gauche ont tous des obstacles mais le côté droit n’en a pas (centre=1 et gauche=1 mais droite=0), la voiture tourne à droite.
Si la direction centrale, les côtés gauche et droit ont tous un obstacle (centre=1 et gauche=1 mais droite=1 ), la voiture tourne à droite pendant une longue période, ce qui la fait faire demi-tour.

L’image suivante montre la logique de programmation ci-dessus dans les blocs du programme.

Ajustez la direction du capteur ultrasonique:
Une fois le code chargé dans la voiture robot, débranchez le câble USB de la carte UNO et mettez la carte Magic I/O sous tension. Le capteur ultrasonique pivote alors vers l’avant pendant 5 secondes. Si le capteur ultrasonique n’est pas orienté vers l’avant, éteignez-le. Utilisez un tournevis pour ajuster la direction du capteur ultrasonique et faites-le tourner vers l’avant, puis remettez l’appareil sous tension et, pendant les 5 premières secondes, le capteur doit être orienté vers l’avant.

Après 5 secondes, la voiture robot commence à rouler et change automatiquement de direction pour éviter les obstacles.


Non. Image Appareil Lien
1 Carte OSOYOO Basic R3 pour Arduino Cliquez ici pour acheter
2 OSOYOO Magic I/O Shield pour Arduino Cliquez ici pour acheter
3 Module de détection à ultrasons OSOYOO Cliquez ici pour acheter
4 Module récepteur IR OSOYOO Cliquez ici pour acheter
5 Module OSOYOO Bouton rouge Cliquez ici pour acheter
6 Télécommande IR Cliquez ici pour acheter
7 Boîtier de batterie 9V Cliquez ici pour acheter
8 Batterie 9V Cliquez ici pour acheter
9 Servo Cliquez ici pour acheter
10 Moteur Cliquez ici pour acheter
11 Module de capteur de suivi OSOYOO Cliquez ici pour acheter
12 Module photorésiteur OSOYOO Cliquez ici pour acheter
13 Module photorésiteur OSOYOO Cliquez ici pour acheter
14 Bloc de capteur à ultrasons OSOYOO Cliquez ici pour acheter
15 Module OSOYOO ESP Cliquez ici pour acheter
16 Câble PnP 3 broches 20cm Cliquez ici pour acheter
17 Câble PnP 4 broches 20cm Cliquez ici pour acheter
18 B117 Cliquez ici pour acheter
19 B115 Cliquez ici pour acheter
20 B113 Cliquez ici pour acheter
21 B111 Cliquez ici pour acheter
22 B109 Cliquez ici pour acheter
23 B107 Cliquez ici pour acheter
24 B105 Cliquez ici pour acheter
25 B103 Cliquez ici pour acheter
26 T024 Cliquez ici pour acheter
27 T016 Cliquez ici pour acheter
28 L024 Cliquez ici pour acheter
29 X064 Cliquez ici pour acheter
30 L035 Cliquez ici pour acheter
31 X044 Cliquez ici pour acheter
32 F057 Cliquez ici pour acheter
33 T033 Cliquez ici pour acheter
34 PS11 Cliquez ici pour acheter
35 P021 Cliquez ici pour acheter
36 P011 Cliquez ici pour acheter
37 Z005 Cliquez ici pour acheter
38 Z010 Cliquez ici pour acheter
39 Z101 Cliquez ici pour acheter
40 Z1S1 Cliquez ici pour acheter
41 A024 Cliquez ici pour acheter
42 A013 Cliquez ici pour acheter
43 A050 Cliquez ici pour acheter
44 A05S Cliquez ici pour acheter
45 A08S Cliquez ici pour acheter
46 A060 Cliquez ici pour acheter
47 A03S Cliquez ici pour acheter
48 Z121 Cliquez ici pour acheter
49 X275 Cliquez ici pour acheter
50 X073 Cliquez ici pour acheter
51 Y001 Cliquez ici pour acheter
52 Z102 Cliquez ici pour acheter
53 P012 Cliquez ici pour acheter
54 P011 Cliquez ici pour acheter
55 roue Cliquez ici pour acheter
56 Roue universelle Cliquez ici pour acheter