Multi-Functional Star Wars Astromech Droid (9 / 15 étapes)

Étape 9: programmation.

Les deux prochaines étapes passera par certains de la programmation de base et la réalisation de l’application mobile. Ne pas faire ces étapes trop longtemps, je vais partager certains des scripts pour les fonctions de base qui peuvent être adaptées pour la plupart des robots en utilisant la plate-forme EZ-Robot.

E4-B4 programmation et contrôles, j’ai utilisé EZ-Builder du EZ-Robot pour Windows software que vous pouvez obtenir votre propre copie d’ici. Tous les détails de l’utilisation de la plate-forme EZ-Robot, avec des tutoriels d’utiliser les contrôles et l’écriture de scripts (quelques-uns des tutoriels je l’ai écrit moi-même comme un lecteur de la communauté pour aider les autres) peuvent être trouvés ici. Alors voilà, j’ai programmé E4-B4.

Après l’ouverture d’un nouveau projet de EZ-Builder, la première chose que j’avais à faire était de mettre en place les servos. Comme j’utilise le SSC-32, c’était un peu d’une autre procédure que la mise en place des servos directement connecté à l’EZ-B. Tout d’abord, une seule ligne de script est nécessaire et doit s’exécuter lorsque le EZ-B v4 et SSC-32 se connecte à votre projet de EZ-Builder...

#This est le script d’initialisation pour la ssc-32 connecté au port UART 0,

#and que cela ne doit être exécutée une seule fois chaque fois que le projet est ouvert et une connexion est effectuée.

UARTInit(0,0,38400)

J’ai ajouté un « gestionnaire de Script » à mon projet qui je l’ai renommé "Menu de contrôle de configuration" et mettre en place les bras rétractables dans le corps. Ainsi, les bras d’outil utilitaire utilisent le script suivant...

#USB BRAS DÉPLOYER

#Servo positions sont P500 minimale qui est égale à la position du servo 1,

#and P2500 maximum qui est égal à la position du servo 180.

$pos = « P1400 »

#The S700 est pour la vitesse du servo.

$m_speed = « S700 »

UARTWrite(0,0,"#6"+$pos+$m_speed,13)

Remarque : Vous pourrez voir beaucoup des scripts que j’ai posté ici, ont un
# en regard du code. Tout ce qui a ce hachage en face d’elle, est une ligne de script ne s’exécute pas et est utilisé uniquement pour prendre des notes.

En raison de la façon dont la plupart avec des servos digitaux sont conçus, ils ont tendance à faire un bourdonnement énervant quand il est dans une position d’attente. Donc, pour lutter contre cela, j’ai ajouté quelques lignes de script qui va sortir un servo de sa position d’attente supplémentaires. Essentiellement, cela coupe le courant à l’asservissement et ne tiendra pas de poids. C’est très bien pour le bras rétractables horizontaux et les volets car il n’y a aucun poids pour le servo de tenir. Les scripts de publication sont principalement utilisés dans les commandes « Bras de rentrer » et « Flap étroite ». Voici donc ce que le script ressemble maintenant...

Pour le déploiement de bras utilitaire...

#USB BRAS RÉTRACTER

Script de rétraction #This devez exécuter tout d’abord pour initialiser un servo après une commande servo.
$pos = « P600 »

$m_speed = « S700 »

régulateur de vitesse #is

UARTWrite(0,0,"#6"+$pos+$m_speed,13)

#A petit sommeil 100 de milliseconde est ajouté pour la transition en douceur.

Sleep(100)

#Now le script de déploiement peut s’exécuter correctement.

#USB BRAS DÉPLOYER

$pos = « P1400 »

$m_speed = « S700 »

UARTWrite(0,0,"#6"+$pos+$m_speed,13)

et pour utilitaire bras rétracter...

#USB BRAS RÉTRACTER
$pos = « P600 »

$m_speed = « S700 » régulateur de vitesse #is

UARTWrite(0,0,"#6"+$pos+$m_speed,13)

#A sommeil est ajouté pour donner le temps pour le bras de se rétracter.

SLEEP(4000)

COMMUNIQUÉ DE BRAS #USB

#Notice la « P0 » ci-dessous. Il s’agit de la seule valeur sous P500 qui peut être utilisé. Ceci libère le servo.

$pos = « P0 »

$m_speed = « S700 »

UARTWrite(0,0,"#6"+$pos+$m_speed,13)

Le dôme et le corps bat également utiliser des scripts semblables avec leurs positions minimales et maximales calibrés pour chaque servo si nécessaire. Le premier gestionnaire de script a chaque script individuels pour chaque action individuelle, par exemple... Ouvert, Rabat Rabat proches, déployer outil, outil de se rétracter et ainsi de suite. Ceci est également fait pour « s’allume » et « Off » et mise en marche/arrêt lectures du capteur.

Pour combiner les mouvements pour l’ouverture d’un lambeau puis à déployer un outil utilitaire, un deuxième gestionnaire de script a été ajouté au projet EZ-Builder. Je vais utiliser l’outil de hub USB par exemple. Dans le nouveau gestionnaire de script, qui je l’ai renommé "Master contrôle Menu", vous pourriez copier et coller les commandes de script dans le "Menu de commande d’installation", mais il y a un moyen plus facile. Chaque fois que vous ajoutez un nouveau script de contrôle, cela a généré automatiquement ce qu’on appelle un « contrôle-commande » appelé également une commande « Cheat Sheet ». Voici les commandes de raccourci pour démarrer, arrêter, suspendre et reprendre un script spécifique. Donc, pour déployer le concentrateur USB, j’utilise le script suivant...

ControlCommand ("contrôle Menu Setup", ScriptStart, « USB rabat ouvert »)

#This commande de sommeil permet à temps pour le rabat d’ouvrir avant que le bras se déploie.

Sleep(2000)

ControlCommand ("contrôle Menu Setup", ScriptStart, "bras USB déployer")

Et pour escamoter le hub USB, ce qui suit est utilisé...

ControlCommand ("contrôle Menu Setup", ScriptStart, « bras USB rentre »)

#This sommeil donne suffisamment de temps pour l’outil se rétracter avant que la trappe se referme.

Sleep(4000)

ControlCommand ("contrôle Menu Setup", ScriptStart, « Flap USB proches »)

Le même est utilisé avec tous les autres outils de l’utilitaire, avec la longueur des commandes Sleep() ajusté pour chaque outil. (Pour être sûr et risquez pas d’endommager quoi que ce soit, je suggère de supprimer la peau avant pour configurer et tester les scripts de combinaison).

Le servo de dôme est configuré différemment qu’il est branché directement à la
EZ-B, donc utilise un script différent et plus simple que les commandes de la SSC-32 UART pour un contrôle manuel. Pour faire un simple tour du dôme, vous pouvez utiliser le script suivant...

#This commande définit la vitesse du servo.

#Servo vitesses vont de « 0 » qui est plus rapide et « 10 » qui est plus lent.

#This exemple suppose que le servo est connecté au port numérique « D0 ».

Servospeed(D5,2)

#This commande indique combien degrés devrait tourner à l’asservissement.

Position médiane #Servo est "90" "1" étant minimale

#and « 180 » étant maximale.

Servo(D5,120)

Dans l’interface mobile qui peut être utilisé sur un PC d’appareil mobile, j’ai un script qui transforme le dôme 10 degrés à chaque touche. Ceci est utile si je veux regarder par le biais de caméra de E4-B4 sur un PC ou un périphérique mobile...

if(getservo(D13) > 10)
servodown(D13,7)

endif

Sleep(100)

Pour alterner le clignotement de la rouge et bleu LED, j’utilise un script simple boucle qui clignote entre le rouge et le bleu toutes les deux secondes jusqu'à ce que j’ai arrêter manuellement le script, j’ai j’ai utiliser une commande à faire donc...

#This suppose que la LED rouge est associée au port numérique D22 et bleu à D23.

: boucle
Set(D22,on)

Sleep(2000)

Set(D22,OFF)

Sleep(30)

Set(D23,on)

Sleep(2000)

Set(D23,OFF)

Sleep(30)

Set(D22,on)

Sleep(2000)

Set(D22,OFF)

Sleep(30)

Set(D23,on)

Sleep(2000)

Set(D23,OFF)

Sleep(30)

Goto(Loop)

J’utilise le capteur de distance à ultrasons sur la griffe de bière de reconnaître quand la main de quelqu'un est proche de donner ou de ramasser un objet. Cela va déclencher un script de commandes de contrôle pour ouvrir puis fermer la griffe...

ControlCommand ("Talk aléatoire Board", Track_14)
Sleep(1500)

ControlCommand ("Master contrôle Menu", ScriptStart, « Bras de bière déployer »)

Sleep(5000)

: boucle

# obtenir la distance de la sonde de ping

$distance = getping (d19, d20)

Si ($distance < 6)

ControlCommand ("contrôle Menu Setup", ScriptStart, « Griffe de bière ouverte »)

Sleep(2000)

ControlCommand ("contrôle Menu Setup", ScriptStart, « Griffe de bière près »)

Sleep(2000)

ControlCommand ("Master contrôle Menu", ScriptStart, « Bras de bière rentre »)

ControlCommand ("test de bière", ScriptStop)

endif

# Un retard pour empêcher le script d’exécuter trop rapidement

Sleep(50)

Goto(Loop)

Un script similaire est utilisé pour l’évitement d’objet en utilisant les capteurs de ping dans les pieds lorsque E4 se déplace. Si un objet tel qu’un mur est détecté sur le pied gauche, il va arrêter et tourner à droit, puis continuer à se déplacer vers l’avant. Et si le pied droit détecte quelque chose, il va arrêter, tourner à gauche, puis aller de l’avant.

Quelque chose de différent, je vais donner un exemple de la capteur de détection de fumée et de gaz...

: boucle
$smoke=getADC(adc2)

if($Smoke>40)

saywait ("je suis maintenant, détection de fumée ou des vapeurs de gaz dans la région.")

Sleep(10000)

ElseIf($Smoke>60)

saywait ("avertissement. Je suis maintenant sentant une augmentation du niveau de la fumée ou émanations de gaz dans la région.")

endif

Sleep(100)

Goto(Loop)

Voici un autre exemple de script. Quand un certain temps est atteinte, E4 sera va rappeler à quelqu'un de prendre leurs pilules, puis distribuer leur...

#The nom de ce script est appelé « Pills ».

waituntiltime (16, 35)
dire ("c’est 4 35 h et le temps pour ces médicaments après-midi.")

ControlCommand ("Talk aléatoire Board", Track_14)
Sleep(1500)

ControlCommand ("Master contrôle Menu", ScriptStart, « Bras de bière déployer »)

Sleep(5000)

: boucle

$distance = getping (d19, d20)

Si ($distance < 6)

ControlCommand ("contrôle Menu Setup", ScriptStart, « Griffe de bière ouverte »)

Sleep(2000)

ControlCommand ("contrôle Menu Setup", ScriptStart, « Griffe de bière près »)

Sleep(2000)

ControlCommand ("Master contrôle Menu", ScriptStart, « Bras de bière rentre »)

#This s’arrête ce script de s’exécuter lorsque l’action est terminé.

ControlCommand ("Pilules", ScriptStop)

endif

Sleep(50)

Goto(Loop)

Sleep(2000)

Ce script particulier peut être ajouté à une navigation et script de reconnaissance de visage, donc E4 peut naviguer et de trouver la personne (à condition que les visage de personnes a été ajouté à la bibliothèque de reconnaissance faciale de E4-B4), répartir ensuite les pilules à l’heure programmée.

La reconnaissance vocale est un système assez simple à mettre en place pour exécuter des scripts. Ceci peut être utilisé pour exécuter pratiquement n’importe quel script ou commande dans projet de E4. Tant que l’ordinateur à l’aide de votre a été correctement mis en place et formés pour la reconnaissance vocale, et un bon microphone est utilisé, vous tapez simplement dans une phrase ce que vous devez dire au robot, puis ajouter la commande scrip que vous souhaitez exécuter lorsque cette expression est reconnue. Ici, vous pouvez écrire les commandes de script, ou utilisez les commandes de contrôle.

Comme mentionné, ce sont juste quelques exemples de script simple qui utilise E4-B4, mais il a aussi des tonnes de plus comme la reconnaissance d’objet et de la couleur, chatbot et texte programme de traducteur et d’un générateur de personnalité qui contribue à donne des capacités autonomes de E4. Plus de détails de ce que les contrôles et les capacités peuvent être utilisés et de nombreux exemples de script qui peuvent être utilisés, modifiés ou adaptés pour la plupart des robots, se trouvent sur le site Web de EZ-Robot. Je construis le programme autonome de E4-B4 peu à peu, si un jour qu'il sera en mesure d’auto quai et recharger ses batteries et faire des balayages de sécurité aléatoire de la maison. Il a déjà un système de sécurité à la maison en place, où il peut prendre des mesures (telles que les alertes moi sur Twitter et démarrer en streaming une vidéo en direct se nourrissent, ou sonore une alarme et prendre/envoyer photos) si un bruit est détecté, un témoin s’allume quand il ne devrait pas, ou son capteur PIR est déclenché.

Comme je l’ai dit, je pourrais aller en répertoriant tous les scripts ici sur ce Instructable, mais cela rendrait l’Instructable vraiment très long car E4-B4 a des tonnes de code programmé. N’oubliez pas, si vous avez des questions au sujet de quoi que ce soit sur E4-B4 construire ou programmation, n’hésitez pas à demander et je ferai de mon mieux pour vous répondre. Vous pouvez également avoir un coup d’oeil à l’un des projets de E4-B4 en cliquant iciet en ouvrant le fichier avec EZ-Builder. Ces projets ont été mis à la disposition pour partager avec n’importe qui et contiennent beaucoup de commandes et de programmation de scripts utilisés, y compris l’objet et la reconnaissance faciale de programmation qui sont vu dans les vidéos.

Articles Liés

La création de la Star Wars Hailfire Droid ; Introduction

La création de la Star Wars Hailfire Droid ; Introduction

dans un premier temps, Wolfgang, Braxton et Tyler sont des lycéens qui travaillent sur un projet de conception en 3D. Pourquoi nous avons choisi de faire le droïde Hailfire a été notre source d'inspiration de Star Wars, et c'est simple à construire c
Papercraft échelle 1:1 Star Wars Battle Droid.

Papercraft échelle 1:1 Star Wars Battle Droid.

Once upon a time, dans une galaxie loin... vous pouvez faire des droïdes de combat dans un papier!!!Je sais que beaucoup d'entre vous sont préparent pour l'halloween... Eh bien... même si vous n'êtes pas vous pouvez fabriquer vous-même un futuriste v
Star Wars MSE Droid « Souris Droid »

Star Wars MSE Droid « Souris Droid »

dans ce Instructable fin je vais montrer comment faire une échelle moitié star wars Droid MSE ou « souris droid » de star wars. la construction est créativement rapide et peu coûteux (environ $40).Première : dégager un espace pour votre travail. vous
Q5 un Astromech Driod sur le thème de Star Wars

Q5 un Astromech Driod sur le thème de Star Wars

Si vous êtes un fan de l'univers de Star Wars et vous voulez construire votre propre représentation d'un travail Astomech Driod. Si vous n'êtes pas concerné avec précision mais veux juste quelque chose qui semble bon et fonctionne alors ce Instructab
Star Wars mer Tredwell Droid

Star Wars mer Tredwell Droid

dans ce Instructable fin je vais montrer comment faire un star wars pleine échelle Tredwell droid "de star wars. la construction est moyennement difficile et est une version longue et est également un R/C si vous décidez qu'il est.Le droid Tredwell é
Origami Star Wars : Droid Battle design

Origami Star Wars : Droid Battle design

Je suis nouveau sur Instructables, et il s'agit de ma première création d'origami que j'ai publié. J'ai fait quelques recherches sur internet et découvert qu'il n'ya pas toutes les conceptions droid battle facilement atteignable que j'ai pu trouver,
Point de croix Star Wars : Droid bottillons

Point de croix Star Wars : Droid bottillons

Motif de point de croix (dans excel et photo forme) mettant en vedette le BB-8, R2-D2 et C-3PO dans Star Wars. Les chaussons ont été achetées à Jo-Ann Fabric. La conception pourrait également sur un linge plat normal.Étape 1: matériauxCouleurs (nombr
BB8 construit avec des pièces de Lego Star Wars... Et pourtant, elle tourne à la fin de ce tutoriel

BB8 construit avec des pièces de Lego Star Wars... Et pourtant, elle tourne à la fin de ce tutoriel

J'ai soumis ce modèle aux idées de Legohttps://Ideas.LEGO.com/projects/127584Si vous aimez cette version Lego de BB8, Merci de voter pour ce projet.Ouvrez une session en utilisant votre compte de médias sociauxet votez pour lui.Merci 1 million !J'ai
BOULE à neige BB8 STAR WARS

BOULE à neige BB8 STAR WARS

Howdy tous,Cet Instructable va vous montrer comment faire votre propre boule à neige personnalisée raisonnablement bon marché. Il est vraiment possible à n'importe quelle conception, mais évidemment je suis allé avec la conception de droid Star Wars
Ornement de Noël bricolage Star Wars

Ornement de Noël bricolage Star Wars

Avec un nouveau film de Star Wars qui sort ce Noël, tout le monde y compris moi qui a une obsession sur cette saga est partout dans le décor de Noël de Star Wars. Dans ce tutoriel, je vais vous montrer comment j'ai fait ce droid BB8 ornement de sapin
Étui de pistolet Star Wars Han Solo ceinture

Étui de pistolet Star Wars Han Solo ceinture

Voici un moyen bon marché et facile de faire un étui de pistolet impressionnant Han Solo. Mon fiancé et moi allons être Leia et Han pour Halloween et son costume ne serait pas complet sans la signature étui de pistolet de Han Solo. Je suis un grand f
Star Wars C3PO et R2D2 chaussures peint !

Star Wars C3PO et R2D2 chaussures peint !

Star Wars C3PO et R2D2 peint talons !Oui--ce sont les chaussures que vous cherchez !J'ai été inspiré par ces talons R2D2 que Mikeasaurus fait !Je n'ajoute le tech et j'ai mélangé les un peu... maisqui ne veut pas de chaussures dépareillées droid???J'
BB-8 et R2-D2 - Star Wars pour tout-petits Costumes d’Halloween

BB-8 et R2-D2 - Star Wars pour tout-petits Costumes d’Halloween

Peut-être, ce sont les droïdes vous cherchez ? Nous venons de terminer ces pour nos enfants (5 et 3 ans). Ma fille est une vraie princesse. J'ai épousé un garçon tom est certainement un caractère inné situation. Tout ce qu'elle possède est rose et br
Les accessoires Star Wars

Les accessoires Star Wars

dans ce instructable je vais vous montrer comment j'ai fait les accessoires suivants de star wars pour Halloween : Astro Droid, petit sabre laser de Yoda, petit Darth Vader Light Saber (pas de film précis), ceinture de Jedi adulte et étui de ceinture