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

Stap 9: programmeren.


De volgende paar stappen zal gaan door enkele van de basic programmeren en maken van de mobiele app. Niet om deze stappen te lang, zal ik deel enkele van de scripts voor de basisfuncties die kunnen worden aangepast voor de meeste robots met behulp van de EZ-Robot-platform.

Voor E4-B4 van programmering en controle gebruikte ik EZ-Robot EZ-Builder voor Windows-software die je van uw eigen exemplaar van hier krijgen kunt. Volledige details van het gebruik van de EZ-Robot-platform, met tutorials van het gebruik van de besturingselementen en scripts schrijven (sommige van de tutorials schreef ik mezelf als een station van de Gemeenschap om anderen te helpen) kunnen hier worden gevonden. Dus hier is geprogrammeerd ik E4-B4.

Na het openen van een nieuw project van de EZ-Builder, was het eerste wat dat ik moest doen om in te stellen van de servo's. Als ik ben met behulp van de WS-32, was dit een beetje een andere procedure dan opzetten van servo's direct op de EZ-B. aangesloten Eerst uit, één regel van het script is nodig en moet uitvoeren wanneer de EZ-B v4 en WS-32 verbindt met uw EZ-Builder project...

#This is het initialisatie script voor de WS-32 aangesloten op UART poort 0,

#and die dit alleen hoeft te worden uitgevoerd, eenmaal telkens wanneer het project wordt geopend en een verbinding is gemaakt.

UARTInit(0,0,38400)

Ik heb een "Script Manager" toegevoegd aan mijn project dat mij verdopen "Setup systeemmenu", en stel de uitschuifbare armen in het lichaam. Dus, het hulpprogramma hulpprogramma wapens gebruik het volgende script...

#USB ARM IMPLEMENTEREN

#Servo posities zijn P500 minimale die gelijk aan de servo positie 1 is,

#and P2500 maximaal die gelijk aan de servo positie 180 is.

$pos = "P1400"

#The S700 is voor servo snelheid.

$m_speed = "S700"

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

Opmerking: U ziet een heleboel scripts die ik heb gepost hier, hebben een
# Naast een deel van de code. Alles wat deze hash voor het heeft, is een lijn van het script dat niet wordt uitgevoerd, en wordt alleen gebruikt voor het maken van notities.

Vanwege de manier waarop die de meeste digitale servo's zijn ontworpen, hebben ze de neiging om een irritante zoemende geluid bij de positie van een bedrijf. Dus ter bestrijding van dit, ik heb toegevoegd sommige extra lijnen van script dat een servo van de positie van het bedrijf vrijgeven zal. Dit is in wezen snijdt de macht aan de servo en zal niet onschuldig houden ongeacht het gewicht. Dit is prima voor de horizontale uitschuifbare armen en kleppen, want er geen gewicht voor de servo is te houden. De release-scripts worden hoofdzakelijk gebruikt in de opdrachten "Intrekken Arm" en "Nauwe Flap". Dus is hier wat het script ziet er nu als...

Voor nut arm implementatie...

#USB ARM INTREKKEN

#This intrekken script moet eerst uitvoeren om te initialiseren een servo na een opdracht van servo vrijgeven.
$pos = "P600"

$m_speed = "S700"

de controle van de snelheid van de #is

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

#A kleine 100 milliseconden slaap wordt toegevoegd voor een soepele overgang.

Sleep(100)

#Now het script implementeren kunnen probleemloos worden uitgevoerd.

#USB ARM IMPLEMENTEREN

$pos = "P1400"

$m_speed = "S700"

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

en voor hulpprogramma Arm intrekken...

#USB ARM INTREKKEN
$pos = "P600"

$m_speed = "S700" #is toerentalregeling

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

#A slaap wordt toegevoegd om tijd voor de arm te trekken.

SLEEP(4000)

#USB ARM RELEASE

#Notice de "P0" hieronder. Dit is de enige waarde onder P500 die kunnen worden gebruikt. Dit brengt de servo.

$pos = "P0"

$m_speed = "S700"

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

De koepel en het lichaam kleppen ook gebruik vergelijkbaar scripts met hun minimale en maximale posities aangepast voor elke servo waar nodig. De eerste script manager heeft elke individuele script voor elke afzonderlijke actie, bijvoorbeeld... Klep open, klep dicht, hulpprogramma implementeren, gereedschap intrekken, enzovoort. Dit gebeurt ook voor "lichten op" en de "Off" en de sensor lezingen starten/stoppen.

Als u wilt combineren de bewegingen voor het openen van een klep dan het implementeren van een hulpprogramma, is een tweede script manager toegevoegd aan de EZ-Builder-project. Ik zal het hulpmiddel van de USB-hub gebruiken als een voorbeeld. In de nieuwe script manager, die ik omgedoopt tot "Master Control Menu", u kan kopiëren en plakken van de scriptopdrachten in het "Instelmenu controle", maar er is een gemakkelijkere manier. Telkens wanneer u een nieuw script van besturingselement toevoegt, dit automatisch gegenereerd iets genaamd een "besturings", ook wel genoemd een "Cheat Sheet" commando. Dit zijn de opdrachten van het snelmenu te starten, stoppen, onderbreken en hervatten van een specifieke script. Dus, voor het implementeren van de USB-hub, ik gebruik het volgende script...

ControlCommand ("Setup Menu besturing", ScriptStart, "USB-klep open")

#This slaap opdracht geeft tijd voor de klep te openen voordat de arm implementeert.

Sleep(2000)

ControlCommand ("Setup Menu besturing", ScriptStart, "USB arm implementeren")

En om het intrekken van de USB-hub, de volgende wordt gebruikt...

ControlCommand ("Setup Menu besturing", ScriptStart, "USB arm intrekken")

#This slaap geeft genoeg tijd om het hulpprogramma intrekken voordat de klep sluit.

Sleep(4000)

ControlCommand ("Setup Menu besturing", ScriptStart, "USB-klep dicht")

Hetzelfde wordt gebruikt met alle van de andere hulpprogramma's, met de lengte van de opdrachten van de Sleep() aangepast voor elk hulpprogramma. (Veilig en niet het risico beschadiging iets, ik stel voor om te verwijderen van de voorste huid voor het instellen en testen van de combinatie-scripts).

De koepel servo is anders ingesteld als deze is aangesloten rechtstreeks aan de
EZ-B, dus maakt gebruik van een verschillende en eenvoudiger script dan de WS-32 UART-opdrachten voor handmatige bediening. U kunt het volgende script gebruiken om te doen een simpele draai van de koepel...

#This opdracht stelt de servo snelheid.

#Servo snelheden variëren van "0", die is snelste, en "10" die langzaamste is.

#This voorbeeld wordt ervan uitgegaan dat de servo is aangesloten op de digitale poort "D0".

Servospeed(D5,2)

#This commando vertelt hoeveel graden de servo moet wenden.

#Servo centrum positie is "90" met "1" wordt minimaal

#and "180" wordt maximale.

Servo(D5,120)

In de mobiele interface die kan worden gebruikt op een PC van het mobiele apparaat, heb ik een script dat de koepel 10 graden op elke druk op de knop draait. Dit is handig als ik wil kijken via E4-B4 de camera op een PC of mobiel apparaat...

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

endif

Sleep(100)

Om te wisselen van het knipperen van het rode en blauwe LED's, ik gebruik een eenvoudige lus-script dat tussen rood en blauw elke twee seconden knippert totdat ik handmatig stopt het script, ik gebruik ik een besturings te doen zo...

#This wordt ervan uitgegaan dat de rode LED is aangesloten op de digitale poort D22 en blauw naar D23.

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

Ik gebruik de ultrasone afstandssensor op de bier-klauw om te herkennen wanneer iemands hand dicht ligt bij geven of pick-up van een object. Dit zal leiden tot een beheerscript voor de opdracht om open sluit de klauw...

ControlCommand ("Willekeurige Talk Board", Track_14)
Sleep(1500)

ControlCommand ("Master Control Menu" ScriptStart, "Bier Arm implementeren")

Sleep(5000)

: lus

# krijgen de afstand van de ping-sensor

$distance = getping (d19, d20)

Als ($distance < 6)

ControlCommand ("Setup Menu besturing", ScriptStart, "Bier klauw open")

Sleep(2000)

ControlCommand ("Setup Menu besturing", ScriptStart, "Bier klauw dicht")

Sleep(2000)

ControlCommand ("Master Control Menu" ScriptStart, "Bier Arm intrekken")

ControlCommand ("bier test", ScriptStop)

endif

# Een vertraging om te voorkomen dat het script wordt uitgevoerd te snel

Sleep(50)

goto(loop)

Een soortgelijk script wordt gebruikt voor object vermijden met behulp van de ping-sensoren in de voeten, wanneer E4 is bewegen. Als een object, zoals een muur op de linker voet wordt ontdekt, zal hij stoppen en rechtsaf, dan blijven bewegen vooruit. En als de rechtervoet iets detecteert, hij zal stoppen, linksaf, dan vooruit.

Voor iets anders geef ik een voorbeeld van de rook en gas detectie sensor...

: lus
$smoke=getADC(adc2)

if($Smoke>40)

saywait ("Ik ben nu sensing rook of gas dampen in de ruimte.")

Sleep(10000)

elseif($Smoke>60)

saywait ("waarschuwing. Ik ben nu sensing een verhoogd niveau van rook of gas dampen in de ruimte.")

endif

Sleep(100)

goto(loop)

Hier is een ander scriptvoorbeeld. Wanneer een bepaalde tijd is bereikt, zal E4 zal herinneren iemand om hun pillen te nemen, dan hen afzien...

#The naam van dit script heet "Pillen".

waituntiltime (16, 35)
zeggen ("het is 35 4 pm, en tijd voor uw middag medicatie.")

ControlCommand ("Willekeurige Talk Board", Track_14)
Sleep(1500)

ControlCommand ("Master Control Menu" ScriptStart, "Bier Arm implementeren")

Sleep(5000)

: lus

$distance = getping (d19, d20)

Als ($distance < 6)

ControlCommand ("Setup Menu besturing", ScriptStart, "Bier klauw open")

Sleep(2000)

ControlCommand ("Setup Menu besturing", ScriptStart, "Bier klauw dicht")

Sleep(2000)

ControlCommand ("Master Control Menu" ScriptStart, "Bier Arm intrekken")

#This stopt dit script wordt uitgevoerd zodra de bewerking is voltooid.

ControlCommand ("Pillen", ScriptStop)

endif

Sleep(50)

goto(loop)

Sleep(2000)

Dit bijzondere script kan worden toegevoegd aan een navigatie en gezicht erkenning script, zodat E4 kunt navigeren en vinden de persoon (mits dat gezicht van de personen is toegevoegd aan de E4-B4 facial recognitie bibliotheek), afzien dan de pillen op de ingestelde tijd.

Spraakherkenning is een vrij eenvoudig systeem instellen voor het uitvoeren van scripts. Dit kan gebruikt worden om vrijwel geen script of opdracht uitvoeren in het E4-project. Zolang de computer met behulp van uw is goed opgezet en opgeleid voor spraakherkenning, en een goede microfoon wordt gebruikt, typt u eenvoudig in een zin wat u zou zeggen tegen de robot, voeg dan de reiszak opdracht die u wilt laten uitvoeren wanneer dat zin wordt herkend. Hier kunt u de benodigde scriptopdrachten of controle-opdrachten gebruiken.

Zoals gezegd, dit zijn slechts een handvol van eenvoudige scriptvoorbeelden die gebruikmaakt van de E4-B4, maar hij heeft ook ton meer zoals object en kleur erkenning, chatbot en tekst vertaler-programma en een persoonlijkheid-generator die helpt E4 autonome vermogens geven. Meer details van wat besturingselementen en capaciteiten zijn beschikbaar om te gebruiken, en met veel voorbeelden van scripts die kunnen worden gebruikt, gewijzigd of aangepast voor de meeste robots, kunnen worden gevonden op de website van EZ-Robot. Ik ben gebouw op E4-B4 van autonome programma stukje bij beetje, dus één dag die hij zal zitten kundig voor auto dok zijn batterijen opladen en willekeurige veiligheid veegt van het huis doen. Hij heeft al een huisveiligheid systeem in de plaats, waar hij ondernemen kan (zoals waarschuwen mij op Twitter en start streaming van een live video feed of geluid een alarm en nemen/Verstuur foto's) als een geluid wordt gedetecteerd, een licht komt over als het naar verwachting niet of zijn PIR sensor wordt geactiveerd.

Zoals ik al zei, zou ik kon gaan op de lijst van alle scripts hier op dit Instructable, maar dit de zeer lange Instructable zoals E4-B4 ton van code geprogrammeerd heeft. Vergeet niet, als u vragen hebt met betrekking tot om het even wat over E4-B4 bouwen of programmering, voel je vrij om te vragen en ik zal mijn best doen om te reageren op u. U kunt ook een kijkje op een van de E4-B4 van projecten door hier te klikkenen het openen van het bestand met EZ-Builder hebben. Deze projecten waren beschikbaar gesteld voor delen met iedereen, en bevatten veel van de besturingselementen en programmering scripts die worden gebruikt, met inbegrip van het object en de facial recognitie programmering die wordt gezien in de video's.

Gerelateerde Artikelen

De oprichting van de Star Wars Hailfire Droid; Introductie

De oprichting van de Star Wars Hailfire Droid; Introductie

om te beginnen met, Wolfgang, Braxton en Tyler zijn middelbare schoolstudenten die aan een 3D-ontwerpproject werken. Waarom kozen we op het maken van de Hailfire-droid was onze inspiratie van Star Wars, en het was eenvoudig om te bouwen van enkele va
Papercraft schaal 1:1 Star Wars Battle Droid.

Papercraft schaal 1:1 Star Wars Battle Droid.

Once upon a time, in een sterrenstelsel ver ver weg... kun je slag droids uit papier!!!Ik weet dat velen van u zich voorbereiden op halloween... Nou... zelfs als u niet u kunt maken zelf een futuristische leven formaat BATTLE DROID! Star wars is alti
Star Wars MSE Droid "Muis Droid"

Star Wars MSE Droid "Muis Droid"

In deze fijne Instructable ik zal laten zien hoe het maken van een star wars halve schaal MSE Droid of "muis droid" uit star wars. de bouwstijl is creatief snel en goedkoop (ongeveer $40).Ten eerste: schakelt u een ruimte voor uw werk. moet u ee
Q5 een Star Wars thema Astromech Driod

Q5 een Star Wars thema Astromech Driod

Dus bent u een fan van het Star Wars universum en u wilt bouwen uw eigen vertegenwoordiging van een werkende Astomech Driod. Als u niet met nauwkeurigheid betrokken bent maar wil gewoon iets dat ziet er goed uit en werkt vervolgens dit Instructable i
Volledige schaal muis droid uit star wars

Volledige schaal muis droid uit star wars

Ik hou van star wars en heb altijd bouwen dingen uit de film-franchise. Ik heb mijn eigen Stormtrooper pantser, na het bezoeken van een star wars-day op onze lokale science center die heb ik besloten dat ik wilde maken van een Droid uit de film.R2D2
Star Wars wo Tredwell Droid

Star Wars wo Tredwell Droid

In deze fijne Instructable ik zal laten zien hoe maak je een star wars schaaleindwaarde Tredwell droid "uit star wars. de bouwstijl is matig moeilijk en is een lange gebouwd en is ook een R/C als u ervoor kiest om te worden.De droid Tredwell was een
Star Wars origami: Battle Droid ontwerp

Star Wars origami: Battle Droid ontwerp

Ik ben nieuw op Instructables, en dit is mijn eerste origami ontwerp die ik heb gepubliceerd. Ik deed wat onderzoek op internet en kwam erachter dat er niet een gemakkelijk haalbare battle droid ontwerpen die ik vinden kon, dus ik kwam met een zelf.
Star Wars Cross Stitch: Droid laarsjes

Star Wars Cross Stitch: Droid laarsjes

Cross stitch patroon (in excel en foto formulier) met de BB-8, R2-D2 en C-3PO uit Star Wars. De laarsjes werden gekocht van Jo-Ann stof. Het ontwerp kan ook gemaakt worden op een normale vlakke doek.Stap 1: materialenKleuren (standaard floss kleurnum
BB8 gebouwd met Lego Star Wars-delen... En nog het beweegt aan het einde van deze tutorial

BB8 gebouwd met Lego Star Wars-delen... En nog het beweegt aan het einde van deze tutorial

Ik had dit model Lego ideeën ingezondenhttps://Ideas.Lego.com/projects/127584Als je deze Lego-versie van BB8, please vote voor dit project.Log in met uw sociale media-accounten voor het stemmen.Merci te miljoen!Ik keek "Een nieuwe hoop" in 1977
SNEEUWBOL van STAR WARS BB8

SNEEUWBOL van STAR WARS BB8

Howdy alle,Dit Instructable zal u tonen hoe te maken van uw eigen aangepaste redelijk goedkope sneeuwbol. Deze echt kunnen worden aangebracht in elk ontwerp maar uiteraard ging ik met de BB8 van de Star Wars droid ontwerp...Achtergrondinfo:Na een rec
DIY Star Wars kerst Ornament

DIY Star Wars kerst Ornament

Met een nieuwe film van Star Wars, komen deze kerst zijn iedereen met inbegrip van mij die een obsessie over deze saga heeft hele Star Wars Christmas decor. In deze tutorial zal ik je laten zien hoe ik deze BB8 droid kerstboom ornament gemaakt.Stap 1
AT-ATrinket - een Star Wars-Snuisterijdoosje

AT-ATrinket - een Star Wars-Snuisterijdoosje

Update: dit project is deelneming aan de prijsvraag van fandom. Als Enjoy, vergeet niet uw stem te geven!Dit project werd geboren uit bewondering voor de Star Wars-universum, en voertuigen gemaakt voor de films. Imperial wandelaars zijn geweldig mach
Star Wars C3PO en R2D2 geschilderd schoenen!

Star Wars C3PO en R2D2 geschilderd schoenen!

Star Wars C3PO en R2D2 geschilderd hakken!Ja - dit zijn de schoenen die u zoekt!Ik was geïnspireerd door deze R2D2 hakken die Mikeasaurus deed!Ik heb niet de tech toevoegen en ik mengden ze een beetje... maarwie niet wil niet-overeenkomende droid sch
BB-8 en R2-D2 - Star Wars peuter Halloween kostuums

BB-8 en R2-D2 - Star Wars peuter Halloween kostuums

Misschien zijn deze de droids je zoekt? We klaar net maken van deze voor onze kinderen (leeftijd 5 en 3). Mijn dochter is een echte prinses. Ik trouwde met een tom-boy, dus het is zeker een aard over nurture situatie. Alles wat die ze bezit is roze e