Hand spåra mekanisk Arm - Pyduino + språng Motion (3 / 11 steg)
Steg 3: Konfigurera Pyduino bibliotek
För att vi ska kunna flytta våra motorer i farten behöver vi för att kunna berätta vår Arduino enhet; "Hey! Flytta denna motor till denna vinkel yo!" Detta kan göras genom att skicka ett meddelande via USB-porten till vårt Arduino. För en grundläggande översikt på hur seriell kommunikation fungerar mellan Arduino och python kolla in http://playground.arduino.cc/interfacing/python. Innan vi börjar Låt mig informera er om på några av begränsningarna som python har när du skapar Arduino projekt. Python skapar inte Arduino skisser, eller kommer ni att lägga upp mer än 1 skiss din styrelse här hela tiden. I stället python kommer att skicka små strängar (endast ett fåtal tecken) till vårt Arduino ombord, vårt Arduino ombord kommer att ha en förladdad skiss är associerad med biblioteket för pyduino att tolka våra små meddelande då utföra denna uppgift. Det fiffiga med skissen vi ska ladda upp till vår Arduino ombord är att den kan användas med alla programmeringsspråk som kan skicka meddelanden som följetong. Så om du inte gillar Python kan du använda ett annat språk
.
Kolla in koden nedan: kommer du att spara koden nedan till en fil som heter: pyduino.py
Du vill lägga filen i katalogen du arbetar i. Ta en stund att läsa över del av koden och se vad den gör. Det finns också en del av provet koden längst ner i biblioteket visar hur du kan använda den som jag ska komma in i nästa. Om du vill se ett fungerande exempel på hur man använder biblioteket för att styra något annat än en servomotor kolla min andra instructables.
Om du inte vill använda Python kommer då ni att ta en stund och transkribera denna del av koden till ett annat språk. Mer information om den pyduino bibliotek checken ute https://github.com/lekum/pyduino
"""
Ett bibliotek för att gränssnitt Arduino servon genom seriell anslutning
"""
importera följetong
klass Arduino():
"""
Modeller en Arduino anslutning
"""
def __init__ (self, serial_port = '/ dev/ttyACM0', baud_rate = 9600,
read_timeout = 5):
"""
Initierar seriell anslutning till Arduino styrelsen
"""
Self.Conn = följetong. Följetong (serial_port, baud_rate)
Self.Conn.timeout = read_timeout # Timeout för readline()
skriva ut "Anslutning initieras"
def servo_write (self, pin_number, digital_value):
"""
Skriver digital_value på pin_number
Internt skickar b'WS {pin_number}: {digital_value} "över seriella
anslutning
"""
kommandot = "WS {}: {}".format(str(pin_number),str(digital_value)).encode()
Self.Conn.write(Command)
def close(self):
"""
Att se till vi ordentligt stänger vår anslutning till den
Arduino enhet.
"""
Self.Conn.Close()
Skriv ut "-anslutning till Arduino stängd"