Carte de commande EZ-B V4

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.

EZ-ROBOT REDOHM

Contrôleur de Robot WiFi EZ-B V4

 

 

Sommaire :

.

 

 
 

separateur-redohm-001

Description de la carte de controle EZ-B V4

 
L’utilisation du logiciel EZ-Builder sur votre ordinateur vous permet de contrôler les sorties de la carte de commande EZ-B. Ajoutez des capteurs, caméras, leds, servomoteurs, afficheurs digitaux, contrôleurs de moteurs, etc pour réaliser le  projet.
 
Le logiciel graphique EZ-Builder est prévu pour ceux qui ne souhaitent pas programmer. Il suffit de connecter les capteurs, servomoteurs, leds, afficheurs LCD et bouton à la carte EZ-B et d’utiliser le logiciel graphique pour commander le robot à partir de votre PC.
 
Caractéristiques:
 
  • 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
.
 
.
separateur-redohm-001

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
 
 
.
.
 
separateur-redohm-001

Vidéo de démonstration . 

Mise en service du bloc de tracking sur le robot Maya

 

Logiciel EZ-ROBOT :  Logiciel EZ-Builder Robot 
 
Constructeur : EZ-ROBOT
 
Notre fournisseur : RobotShop
 
Retour au sommaire
.
 
 
separateur-redohm-001

Le langage de programmation : EZ-Script

EZ-Scrip etant le langage de programmation pour le logiciel EZ-Builder , similaire à un langage comme le Basic ou le C++ 
 
Pour plus d’information le site du fabricantOverview – EZ-Script 
 
 

.

separateur-redohm-001

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 :

#


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


#

.

Instruction Goto

Instruction Goto

 

 

 

 

 
  • : 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

.

separateur-redohm-001

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

separateur-redohm-001

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

separateur-redohm-001

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

#

.

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


#
#
#
# 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

.

separateur-redohm-001

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 fabricantOverview – EZ-Script

.

Retour au sommaire

.

separateur-redohm-001

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 sommaire

.

separateur-redohm-001

Dialogflow

 

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

#

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 .

#

print("There are " + apigetparamcount() + " parameters in the response")


print("User is asking to convert " + APIGetParamByIndex(0) + APIGetParamByIndex(1) + " into " + APIGetParamByIndex(2))


#

Resultat de la réponse

 

 

.

  1. Inscrivez-vous à DialogFlow sur : https://dialogflow.com/
  2. 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 sommaire

.

separateur-redohm-001

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.

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 …

#
#

ControlCommand ("PandoraBot", SetPhrase, $ BingSpeech)

#

.

.

En cours le 10/12/2019

separateur-redohm-001

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

Facebook  Twitter  Youtube 

.

Retour au sommaire
.