–
Mise à jour le 25/12/2019 : Les cartes EZ-B V4 et Z-B IoTiny permettent de contrôler et commander un robot ou autre application de votre choix pilotée par PC via une liaison Wifi. Il suffit d’utiliser une plateforme de base ou de construire vous-même un robot de base et d’ajouter la carte EZ-B. Elle est livrée avec son socle d’alimentation.
Sommaire :
- Description de la carte de controle EZ-B V4
- Contrôleur de Robot EZ-B IoTiny
- Vidéo de démonstration .
- Mise en service du bloc de tracking sur le robot Maya
- Le langage de programmation : EZ-Script
- Saut inconditionnel
- Les entrées analogiques (ADC)
- Le pilotage des servomoteurs
- Lecture des positions des servomoteurs
- Fonction traitant du son sur les haut-parleurs du PC.
- Intelligence artificielle ( en cours de traitement )
- Sentiment cognitif . Détectez le pourcentage de sentiments positifs de la phrase fournie en utilisant les services d’apprentissage automatique cognitif.
- DialogFlow de Google
- Pandorabots Ce contrôle enverra le texte qu’il reçoit via ControlCommand () au serveur en ligne PandoraBot. Le serveur en ligne PandoraBot répondra avec un message du moteur d’intelligent artificiel. Vous pouvez utiliser le moteur par défaut fourni comme exemple avec le contrôle, ou créer le vôtre.
- Pour tout problème
- Retour au menu principal
Description de la carte de controle EZ-B V4 |
- Dimensions : 5 cm x 5 cm x 3 cm
- Traitement total : 32-bit de 200 MHz (processeur ARM Cortex-M3 32-bit de 120 MHz et micropuce PIC32 de 80 MHz)
- Connectivité : Wi-Fi (ad-hoc/infrastructure/WEP/WPA/WPA2) et serveur Web intégré
- Protection : par Fusible réarmable et protection contre l’inversion de polarité
- Audio : Haut-parleur amplifié pour la parole et la musique dans le module
- Entrées sorties :
- 8 x Port analogique pouvant fonctionner en 5 volts (CAN)
- 24 x Port numérique pouvant fonctionner en 5 volts (servos, MLI et plus)
- 3 x Port I²C
- 1 x Port de caméra vidéo EZ-Robot
- 3 x Port UART haute vitesse.
- Contrôle : Moniteur de température et de batterie
Contrôleur de Robot EZ-B IoTiny |
- Le Contrôleur de Robot EZ-B IoTiny est le plus petit contrôleur IdO de robot de la famille EZ-B Robot. Il est alimenté par un processeur Cortex M4 ARM 100 MHz et son facteur d’encombrement vous permet d’utiliser des boîtiers personnalisés ou de le tenir dans les endroits les plus petits.
- L’EZ-B IoTiny peut être commandé via le Wi-Fi en utilisant le logiciel graphique EZ-Builder sur votre PC ou votre appareil mobile, sans besoin de programmation. Moins vous dépensez de temps avec les compilateurs, les programmeurs de matériel et les débogueurs, plus vous pouvez consacrer de temps à la construction et la conception de projets de robotique !
Spécifications du EZ-B IoTiny
- 8 x E/S numérique, servomoteur, UART (tx uniquement)
- 2 x ADC
- 1 x I2C
- 1 x Caméra vidéo
- 1 x Sortie haut-parleur
Vidéo de démonstration . |
Mise en service du bloc de tracking sur le robot Maya
–
Retour au sommaire
Le langage de programmation : EZ-Script |
Saut inconditionnel |
GOTO :
L’instruction goto (de l’anglais go to qui signifie en français aller à). Elle est utilisée pour réaliser des sauts inconditionnels dans un programme, changeant ainsi le flot de contrôle naturel du programme qui consiste à aller exécuter l’instruction suivante. L’exécution est alors envoyée à une autre instruction repérée par un label (étiquette en francais).
Exemple de programme avec l’instruction Goto :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# :Retour # Renvoie la valeur du port analogique # en spécifiant son numéro d'entree #(numéro se trouvant sur le boitier EZ). # on transfert cette valeur dans la variable correspondante $index_gant = GetADC(1.adc1) #Affiche le texte spécifié dans la console de débogage ainsi que la valeur #analogique de la carte et de 1'entree print("Valeur de la tension sur la carte EZ-B #1 port adc1 : " + $index_gant) goto (retour) # |
.
- : Label
- Définit une étiquette pour une commande GOTO ()
- Exemple : : retour
- Goto( label )
- Aller à un emplacement spécifique: retour
- Exemple : goto (retour)
.
Retour au sommaire
Les entrées analogiques (ADC) |
.
- ADC_Wait (adcPort, higher/lower/equals, value, [delay ms])
- Attendre que le port ADC (analogique)soit supérieur ou inférieur à la valeur spécifiée
- Le paramètre facultatif Delay MS est le délai en millisecondes pour la vérification. Cette valeur détermine le délai entre les vérifications.
- Exemple : ADC_Wait(ADC0, HIGHER, 50)
- Exemple : ADC_Wait(ADC0, HIGHER, 50, 50)
- ADC_Wait_Between (adcPort, low, high, [delay ms])
.
Pilotage des servomoteurs |
.
- Servo (servoPort, position)
- Déplace le servomoteur à la position spécifiée .La position du servomoteur est comprise entre 1 et 180
- Exemple : Servo(D10, 30)
- SetServoMin (servoPort, position)
- Définissez la limite minimale que ce servomoteur peut atteindre .La position du servomoteur est comprise entre 1 et 180
- Exemple: SetServoMin(D10, 35)
- SetServoMax (servoPort, position)
- Définissez la limite maximale que ce servo peut atteindre La position du servomoteur est comprise entre 1 et 180.
- Exemple: SetServoMax(D14, 100)
- ServoSpeed (servoPort, speed)
- cette fonction permet de régler la vitesse du servomoteur ou du PWM. C’est la vitesse pour se déplacer entre les 2 positions.
- La vitesse d’asservissement est un nombre compris entre 0 (le plus rapide) et 10 (le plus lent)
- A savoir : Pour initialiser ServoSpeed () lors de la première utilisation, définissez la position du servomoteur avant d’utiliser la commande ServoSpeed (). S’il n’y a pas de position précédente (comme lors de la mise sous tension), le logiciel suppose que la position du servomoteur est 0 .
- A savoir : Une fois la fonction ServoSpeed () initialisé pour sa première utilisation , spécifiez la fonction ServoSpeed () avant de spécifier la position du servomoteur ().
- Exemple: ServoSpeed(D14, 5)
- ServoSpeedRandom (servoPort, lowSpeed, highSpeed)
- Régle la vitesse d’asservissement ou le signal PWM à une valeur aléatoire .La vitesse d’asservissement est un nombre compris entre 0 (le plus rapide) et 10 (le plus lent)
- A savoir : Pour initialiser ServoSpeed () lors de la première utilisation, définissez une position Servo () avant d’utiliser la commande ServoSpeed (). S’il n’y a pas de position précédente (comme lors de la mise sous tension), le logiciel suppose que la position est 0 et peut provoquer des problèmes sur votre robot ou votre installation .
- A savoir : Une fois le ServoSpeed () initialisé pour la première fois, spécifiez ServoSpeed () avant de spécifier la position Servo ().
- Exemple : ServoSpeedRandom(D14, 10, 20)
- ServoUp (servoPort, count)
- Incrémente la valeur de la position du servomoteur selon le nombre spécifié .La position du servomoteur est comprise entre 1 et 180
- Exemple : ServoUp(D10, 1)
- ServoDown (servoPort, count)
- Décrémente la valeur de la position du servomoteur selon le nombre spécifié La position du servomoteur est comprise entre 1 et 180
- Exemple: ServoDown(D10, 1)
- ServoRandom (servoPort, lowPosition, highPosition).
- Déplace le servomoteur dans une position aléatoire entre le bas et le haut .La position du servomoteur est comprise entre 1 et 180
- Exemple : ServoRandom(D14, 10, 20)
- Release (servoPort)
- Libére le servomoteur de sa position.
- Exemple : Release(D14)
- ReleaseAll ( [boardIndex] )
- Libére tous les servomoteurs de leur position .BoardIndex est facultatif elle peut determiner quelle carte EZ-B est sollicité.
- Exemple : ReleaseAll()
- Move (servoPort, forward/stop/reverse)
- Cette fonction sert à modifier le déplacement du servomoteur spécifié
- Exemple : Move(D14, “forward”)
- WaitForServoMove (servoPort, [timeout MS])
- Attend que le servo spécifié se déplace.Contrairement à Servo_Wait, cette fonction n’attend pas de valeur spécifique. Il revient simplement une fois que le servo a changé de position.En option, le paramètre timeout arrêtera d’attendre après le nombre spécifié de millisecondes.
- Exemple : WaitForServoMove(d0).
- Exemple : WaitForServoMove(d0, 1000)
Lecture des positions des servomoteurs |
.
- GetServo(Port)
- Renvoie la dernière valeur de position du servomoteur en spécifiant son numéro de sortie (numéro se trouvant sur le boitier EZ) .
- La position du servo est comprise entre 1 et 180
- Exemple : $x = GetServo(d0) la carte lue par défaut étant la carte 0
- Exemple : $x = GetServo(d0) on peut préciser la carte à lire ainsi que le port
1 2 3 4 5 6 7 8 9 10 |
# Renvoie la dernière valeur de position du servomoteur # en spécifiant son numéro de sortie # (numéro se trouvant sur le boitier EZ). # et on transfert cette valeur dans la variable x $x = GetServo(0.d2) print("Servo D2 on EZ-B #0 is: " + $x) # |
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# # #Exemple de code pour afficher la position des doigts d'un robot # Renvoie la dernière valeur de position du servomoteur # en spécifiant son numéro de sortie # (numéro se trouvant sur le boitier EZ). # et on transfert cette valeur dans la variable correspondante $pouce = GetServo(0.d0) $index = GetServo(0.d1) $majeur = GetServo(0.d2) $annulaire = GetServo(0.d3) $auriculaire = GetServo(0.d4) #Affiche le texte spécifié dans la console de débogage print("Valeur de la position du pouce de la carte EZ-B #0 is: " + $pouce) print("Valeur de la position de l'index de la carte EZ-B #0 is: " + $index) print("Valeur de la position du majeur de la carte EZ-B #0 is: " + $majeur) print("Valeur de la position de l'annulaire de la carte EZ-B #0 is: " + $annulaire) print("Valeur de la position de l'auriculaire de la carte EZ-B #0 is: " + $auriculaire) # |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# # # Renvoie la dernière valeur de position du servomoteur # en spécifiant son numéro de sortie # (numéro se trouvant sur le boitier EZ). # et on transfert cette valeur dans la variable correspondante # en plus nous vous donnons la valeur de la position des doigts # sur la carte son $pouce = GetServo(0.d0) $index = GetServo(0.d1) $majeur = GetServo(0.d2) $annulaire = GetServo(0.d3) $auriculaire = GetServo(0.d4) #Affiche le texte de controle pour le test des doigts de la main #droite print(" ") print(" --- Controle de la position des doigts ---") print(" ") # Prononce le texte spécifié entre parenthèses sur la carte # son du PC en arrière-plan. Cette commande ne bloque pas le programme, # le script continuera à s’exécuter. Say("Controle de la position des doigts" ) # Prononce le texte spécifié entre parenthèses et la valeur de la variable Say("Valeur de la position du pouce"+$pouce) Say("de lundex"+$index) Say("du majeur"+$majeur) Say("de lannulaire"+$annulaire) Say("de lauriculaire"+$auriculaire) #Affiche le texte spécifié dans la console de débogage print("Valeur de la position du pouce de la carte EZ-B #0 is: " + $pouce) print("Valeur de la position de l'index de la carte EZ-B #0 is: " + $index) print("Valeur de la position du majeur de la carte EZ-B #0 is: " + $majeur) print("Valeur de la position de l'annulaire de la carte EZ-B #0 is: " + $annulaire) print("Valeur de la position de l'auriculaire de la carte EZ-B #0 is: " + $auriculaire) # |
.
Retour au sommaire
Fonction traitant du son sur les haut-parleurs du PC. |
- Say( text to speech )
- Prononce le texte spécifié entre parenthèses sur la carte son du PC en arrière-plan. Cette commande ne bloque pas le programme , le script continuera à s’exécuter.
- Exemple : Say(« Bonjour , je suis le robot Maya »)
- SpeakStop( )
- Cette fonction sert à stopper la prononciation des phrases en cours sur la carte son du PC.
- Exemple : SpeakStop()
- SayWait( text to speech )
- Prononce le texte spécifié entre parenthèses sur la carte son et bloque le déroulement du programme tant que le texte n’est pas terminé.
- Exemple : SayWait(« Bonjour , je suis le robot Maya »)
- SpeakRSS( url, [story index] )
- Prononce le titre et le texte de rss URL par le biais de la carte son
- Exemple #1 : SpeakRSS(« http://rss.cbc.ca/lineup/world.xml »)
- Exemple #2 : SpeakRSS(« http://rss.cbc.ca/lineup/world.xml », 3)
- SpeakRSSDescription( url, [story index] )
- Ne prononce que le texte de l’URL rss de la carte son PC.
- Exemple #1 : SpeakRSSDescription(« http://rss.cbc.ca/lineup/world.xml »)
Exemple #2 : SpeakRSSDescription(« http://rss.cbc.ca/lineup/world.xml », 3)
Pour plus d’information le site du fabricant : Overview – EZ-Script
.
Retour au sommaire
Intelligence artificielle |
L’intelligence artificielle (IA) est « l’ensemble des théories et des techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence ». Elle correspond donc à un ensemble de concepts et de technologies plus qu’à une discipline autonome constituée
Sentiment cognitif
Détectez le pourcentage de sentiments positifs de la phrase fournie en utilisant les services d’apprentissage automatique cognitif.
.
Retour au sommaireDialogflow
DialogFlow de Google (officiellement API.AI ) est un service de chatbot gratuit que ce plugin utilisera. Saisissez manuellement des phrases conversationnelles dans le champ de saisie ou envoyez des phrases par programmation à l’aide de la ControlCommand () fournie. Ce plugin nécessite une connexion Internet, ce qui signifie que votre ordinateur doit être connecté à la fois au robot et à Internet en même temps.
Nécessite EZ- Builder 2019.12.06 ou plus récent
Information sur API.AI
Donnez aux utilisateurs de nouvelles façons d’interagir avec votre produit en créant des interfaces conversationnelles vocales et textuelles engageantes, telles que des applications vocales et des chatbots, optimisées par l’IA. Connectez-vous avec les utilisateurs de votre site Web, de votre application mobile, de l’Assistant Google, d’Amazon Alexa, de Facebook Messenger et d’autres plates-formes et appareils populaires.
Voici un exemple de ChatBot conversationnel que vous pouvez configurer avec DialogFlow et intégrer d’autres plugins EZ-Builder , tels que les services cognitifs pour la détection de la vision et des émotions …
Envoyez des phrases par programme en utilisant les éléments suivants : ControlCommand()
1 2 3 4 5 |
# ControlCommand("DialogFlow", Send, "Bonjour") # |
Fonctions des paramètres
Certains agents DialogFlow renverront une liste de paramètres. Le plugin DialogFlow implémente 3 fonctions personnalisées dans le moteur EZ-Script pour obtenir des paramètres. Les fonctions sont …
- APIGetParamCount()
- Renvoie le nombre de paramètres dans la dernière réponse.
- Usage: $x = APIGetParamCount()
- APIGetParamByIndex( index )
- Renvoie la valeur du paramètre à l’index spécifié dans la dernière réponse.
- Usage: $x = APIGetParamCount()
- APIGetParamByKey( keyName )
- Renvoie la valeur du paramètre par le nom de la clé. Examinez l’agent ou l’observateur de variables pour voir quels noms de clé de paramètre sont inclus dans la réponse. Les noms de clés sont sensibles à la casse.
- Usage: $Value = APIGetParamByKey(« unit-to »)
Voici un exemple d’utilisation des fonctions EZ-Script personnalisées de l’agent Unit-Convert de DialogFlow. Si la chaîne d’entrée est « Qu’est-ce que 5 mm en pouces? », Ce code EZ-Script montrera ce que l’utilisateur demande .
1 2 3 4 5 6 7 8 9 |
# print("There are " + apigetparamcount() + " parameters in the response") print("User is asking to convert " + APIGetParamByIndex(0) + APIGetParamByIndex(1) + " into " + APIGetParamByIndex(2)) # |
.
- Inscrivez-vous à DialogFlow sur : https://dialogflow.com/
- Collez votre ID client dans la fenêtre de configuration de ce plugin
.
Pour plus d’information sur ce sujet : https://synthiam.com/Products/Controls/Artificial-Intelligence/DialogFlow-15882
En cours le 10/12/2019
.
Retour au sommairePandorabots
Ce contrôle enverra le texte qu’il reçoit via ControlCommand () au serveur en ligne PandoraBot. Le serveur en ligne PandoraBot répondra avec un message du moteur d’intelligent artificiel. Vous pouvez utiliser le moteur par défaut fourni comme exemple avec le contrôle, ou créer le vôtre.
Reconnaissance de la parole
Ce contrôle ne comprend pas de système de reconnaissance vocale. Vous devez combiner ce contrôle avec un autre contrôle de reconnaissance vocale, tel que Bing ou Microsoft Speech. Voici quelques commandes de reconnaissance vocale à utiliser avec ce système …
- Reconnaissance vocale Bing (* recommandé)
- Reconnaissance vocale Bing avancée
- Reconnaissance vocale Google
- IBM Watson Services
- Reconnaissance vocale (* limitée)
Envoyer une phrase via ControlCommand ()
Un autre contrôle de reconnaissance vocale ou votre propre script peut envoyer des phrases à ce contrôle PandoraBot via ControlCommand (). Par exemple, si vous utilisez le contrôle de reconnaissance vocale Bing, ce contrôle enverra la phrase détectée au contrôle PandoraBot à l’aide de cette commande …
1 2 3 4 5 6 |
# # ControlCommand ("PandoraBot", SetPhrase, $ BingSpeech) # |
.
.
En cours le 10/12/2019
A savoir sur l’utilisation des informations :
Les informations sur les caractéristiques et spécificités du materiel qui sont fournis sur cette page correspondent aux informations des fiches techniques du constructeur si malgré le soin apporté à la réalisation de cet article une erreur s’est glissée dans ces lignes nous ne pourrions en être tenu responsable.
Le site du fabricant : EZ-ROBOT
Les programmes , schémas et autres que ceux donnés par le constructeur font parti des montages utiles à nos applications si malgré le soin apporté à nos montages une erreur s’est glissée dans ces lignes nous ne pourrions en être tenu responsable .
L’ensemble des informations techniques de cet article a été utilisé pour nos applications, elles vous sont fournies comme un exemple de document de travail. Mais nous ne pourrions être tenu responsables d’une mauvaise utilisation de celle-ci.
–
Pour tout problème |
Pour tout problème de téléchargement ou pour nous suivre sur les réseaux sociaux voici les plateformes sur lesquelles nous éditons.
Cliquez sur celle qui vous intéresse .
.
Retour au sommaire