Utöver StandardFirmata - lägger till stöd för nya (2 / 10 steg)

Steg 2: Ange och utforma de nya PyMata API och Reporter metod gränssnitt



Med Stepper.h offentliga gränssnitt som en guide, kan vi börja utforma PyMata stegmotor API och reporter metod gränssnitt.

Först behöver vi en metod som instruerar seriell biblioteket att instansiera ett motor-objekt. Låt oss kalla denna metod, stepper_config, och liknar stepper bibliotekets konstruktörer, vi gör att den som ringt att ange antalet steg per varv, samt att tillhandahålla en lista över motorisk kontroll stift. Denna listan, vid alternativet som ringer kommer att innehålla 2 pin värden för en 2 ledare motor eller 4 värden för en 4 ledare motor.

Här är signatur för API-metoden stepper_config.

def stepper_config (self, steps_per_revolution, stepper_pins):
"""
Konfigurera stegmotor före operation.
steps_per_revolution: antal steg per motor revolution
stepper_pins: en lista över kontroll pin-nummer - antingen 4 eller 2
"""

Hänvisning till Stepper.h, erbjuder biblioteket separata metoder att ställa in hastigheten på motorn och att flytta motorn ett visst antal steg.

Vår PyMata gränssnitt kommer att behöva göra samma sak, men vi ska göra en designbeslut och kombinera både verksamheten i en metod.

Vi kommer namn denna metod stepper_step och dess API signatur visas nedan.

def stepper_step (self, motor_speed, number_of_steps):
"""
Flytta en stegmotor för antalet steg vid den specificerade hastigheten
motor_speed: 21 bitar data ange varvtal
number_of_steps: 14 bitar för antal steg & riktning
positiva är framåt, negativ är omvänd
"""

Vi måste också tillhandahålla en metod för att tillåta användaren att begära Stepper Motor bibliotek version. På grund av den asynkrona naturen för Firmata rapportering, kommer vi att tillhandahålla separata metoder att skicka version begäran till Arduino, och hämta svaret. Båda dessa metoder ingår i den offentliga API: N.

Metoden begäran har följande API signatur:

def stepper_request_library_version(self):
"""
Begära stepper bibliotek version från Arduino.
För att hämta versionen efter detta kommando kallas, ring
get_stepper_version().
"""

Innan vi diskuterar den sista API-metoden, måste vi ange signaturen för metoden reporter som bearbetar data som skickas från Arduino till klienten. Dessa data är i form av två 7-bitars byte som ska vara ihop för att bilda det bibliotek versionsnummer som lagras av klienten.

def stepper_version_response (self, data):
"""
Denna metod hanterar stepper bibliotek version meddelanden som skickas
från den Arduino och butiker begär värdet tills användaren
dess värde med hjälp av get_stepper_version()
data-två 7-bitars byte som innehåller versionsnumret bibliotek
"""

Värdet som returneras av Arduino i stepper_version_response meddelandet lagras internt av PyMata. Om du vill hämta värdet, anropar användaren metoden get_stepper_version API. För att möjliggöra Arduino dataöverföring och handläggningstiderna är anges en maximal vänta tid parametern. Standardvärdet för den här parametern är 20 sekunder. Om Arduino svarar innan den maximala tiden löper ut, värdet kommer att returneras omedelbart och timern är inställd. Signaturen för metoden är:

def get_stepper_version (self, timeout = 20):
"""
tidsgräns: ange en max tid att låta arduino att bearbeta
och returnera versionen
stepper versionsnumret om det var inställt.
"""

En viktig anmärkning

Alla PyMata "kommando" metoder implementeras i pymata.py. Därför när vi kod stepper_config, stepper_step, stepper_request_library_version och get_stepper_version, kommer de alla läggas till pymata.py.

Alla "reporter brev" med ursprung från Arduino hanteras av pymata_command_handler.py. Genomförandet av stepper_version_response kommer därför att läggas till filen.

Se Steg
Relaterade Ämnen

Hur du lägger till en USB-fingeravtrycksläsare internt till laptop

jag hade en Dell Mini-9 att jag installerat Mac OS X på och i processen såg andra användare att lägga till en inbyggd GPS-mottagare. Detta fick mig att tänka, kunde jag lägga till en fingeravtrycksläsare i den. Användarna av http://www.mydellmini.com...

Hur man lägger till "Öppna med anteckningar" högerklicka

jag personligen hatar att använda "öppna med" på grund av tiden, även om det bara några sekunder, och att behöva komma ihåg då var exakt ett visst program finns i min katalog.Detta kommer att visa dig hur du lägger till något program högerklicka...

Hur du lägger till vipparm spool fästen till en Honda F4i

dessa är instruktioner för hur du lägger till vipparm spool monteringshålen en Honda F4i vipparm. Vipparm spolar ger en säkrare och mer bekväm metod för lyft på baksidan av din cykel för att göra ändringar av däck, kedja glidmedel, etc. De flesta cyk...

Hur du lägger till en Instructable till din lista med favoriter och Betygsätt en Instructable

för att lägga en Instructable till din lista över favoriter, klicka på länken "favorit" i det grå fältet under den Instructable bilder.Du lista över favoriter finns på din hemsida (Klicka på ditt användarnamn uppe till höger) under "Din Ins...

Hur du lägger till en SATA hårddisk till datorn

tid: 5-10 minuterDet krävs skicklighetsnivå: ingenSäkerheten är det första steget när leka med en dator.För att säkerställa att du inte chockera dig själv eller datorn, kommer att klädd i en anti-statiskt armband absorbera en avgift som du kan bära.D...

Hur du lägger till en mottagare lufttank för mer kompressor kapacitet

Om din lilla kompressor är inte tillräckligt för att driva din inverkan drivrutin eller andra kompressor bifogade filer, behöver du inte spendera en mindre förmögenhet på en nyare och större setup. Med dessa enkla instruktioner, ska jag visa dig hur...

Salta eller söta Carb eller NO Carb du bestämmer dig av vad du lägger till

Här är ett recept för att göra en välsmakande bröd eller en söt cookie beroende om du vill ett bröd typ recept med inga kolhydrater och mycket protein eller en mjuk kaka typ recept med lite sötma eller mycket, beroende på vad du sätter på den. Detta...

Hur du lägger till servrar i Minecraft Pocket Edition!

Detta instructable lär dig hur du lägger till publika servrar till Minecraft Pocket Edition!Steg 1: Komma igång Först öppna Minecraft och trycker på play.Steg 2: Lägga till något nytt Tryck på knappen ny värld i övre högra hörnet.Steg 3: + Nästa, try...

Hur du lägger till fler utgångar till din Microcontroller

detta Instructable visar dig steg för steg hur du lägger till 8 extra digitala utgångar, med endast 3 din microcontroller digital utgång.Steg 1: Vilken Microcontroller ska du använda? För att göra detta Instructable med din mikrokontroller, måste du...

Hur du lägger till en Lineart eller någon Skanna profil i Windows Faxa och skanna

Hej, trött av avsökningen din ritade bilder i färg eller gråskala läge och behöver ett bättre sätt att scanna dem? Du vet jag har, men jag nyligen upptäckt hur du lägger till en annan skanningsprofil i Windows Faxa och skanna. (Obs: detta är för Wind...

Hur du lägger till skript RSBot

Hej,Idag kommer jag att visa dig hur du lägger till ett skript till RSBot.Detta är mycket enkelt och tar inte så lång tid.Steg 1:1) samla nödvändiga objekt Behöver du följande saker:1) Java Development Kit - DL-2)rsbot(duh)3) skript för att lägga til...

Hur du lägger till anpassade sökmotorer i Opera

så använder du Opera? (Förmodligen ja eftersom du visar detta instructable)Du vet den "g * söka termen *" söka * söka termen * på Google, och samma för Wikipedia etc.?Jag använder dem hela tiden, och jag har lagt till ett par av mina egna, och b...

Hur du lägger till en frontlight till Gameboy färg

om du växte upp med att spela Game Boy som jag gjorde, jag är säker på att du minns otaliga timmar av pokemon strider, av vilka många var endast möjligt genom den frälsande nåd av din wormlight. Jag vet att jag är skyldig många långa nätter av Gamebo...

Hur man lägger till spel till LG VX9900 (env) (avund) mobiltelefon

jag kommer att visa dig steg för steg hur du lägger till flera .swf spel på telefonen LG VX9900 enV.Steg 1: Vad du behöver Här är en lista över saker som du behöver. Det ska inte kosta dig något förutsatt att du redan har en dator, en LG VX9900 env o...

Hur du lägger till textrutor

jag kunde aldrig hitta hur du lägger till de textrutor som gjorde livet så mycket easyer. Jag slutligen gjorde självklart, men för att göra det easyer å du stötarna... här är hur ya gör den.Steg 1: Här är en video på hur man gör det> här är en video...

Hur du lägger till flera bilder till Pintrest.

Här jag ska visa dig hur du lägger till flera bilder till ett stift på Pintrest. Det är lätt! Följ bara dessa några steg. Lets go!Steg 1: Ladda ner Photo Collage (iOS 6.12 +) jag använder iOS 6.12. Så om din med android då någon bild collage app fung...

Hur du lägger till blandade tal AKA blandade fraktioner

En enkel steg för steg video handledning om hur du lägger till blandade tal AKA blandade fraktioner....

Hur du lägger till bråk med till skillnad från nämnare

I den här videon visar jag steg för steg hur du lägger till bråk med till skillnad från nämnare....

Hur du lägger till fraktioner

I denna steg för steg video visar jag hur du lägger till bråk med som nämnare....