Stap 3: Instellen van Pyduino bibliotheek
Om ons te kunnen verplaatsen van onze motoren op de vliegen moeten we zitten kundig voor zeggen ons Arduino-apparaat; "Hey! Verplaats deze motor deze hoek yo!" Dit kan worden gedaan door een bericht te sturen via de USB-poort naar onze Arduino. Voor een basisoverzicht op hoe seriële communicatie werken tussen de Arduino en python check out http://playground.arduino.cc/interfacing/python. Voordat we beginnen laat mij u informeren over enkele van de beperkingen die python heeft bij het maken van Arduino projecten. Python maakt geen Arduino schetsen, noch zult u worden uploaden van meer dan 1 schets aan uw Raad van bestuur deze hele tijd. In plaats daarvan, python's gonna sturen kleine strijkers (slechts een paar tekens) aan onze Arduino board, onze Arduino board zal hebben een voorgeladen schets gekoppeld aan de bibliotheek van de pyduino te interpreteren onze kleine boodschap dan genoemde taak uitvoeren. Het handige ding over de schets die we naar onze Arduino board uploaden zult is dat het kan worden gebruikt met elke programmeertaal kan seriële berichten verzenden. Dus als je niet van Python, kunt u een andere taal gebruiken
.
Bekijk de onderstaande code: wil je de onderstaande code opslaan in een bestand met de naam: pyduino.py
U zult willen zetten dat bestand in de map die u in werkt. Neem een moment om te lezen over het stukje code en zien wat het doet. Er is ook een stuk van de code van de steekproef aan de onderkant van de bibliotheek tonen u hoe het te gebruiken die ik in de volgende krijgen zal. Als u zou willen zien een werkend voorbeeld van het gebruik van de bibliotheek waarmee iets anders dan een servomotor check out mijn andere instructables.
Als u niet wilt gebruiken Python vervolgens moet je neem een moment en transcriberen van dit stukje code om een andere taal. Voor meer informatie over de pyduino bibliotheek check out https://github.com/lekum/pyduino
"""A library to interface Arduino Servos through serial connection """ import serialclass Arduino(): """ Models an Arduino connection """ def __init__(self, serial_port='/dev/ttyACM0', baud_rate=9600, read_timeout=5): """ Initializes the serial connection to the Arduino board """ self.conn = serial.Serial(serial_port, baud_rate) self.conn.timeout = read_timeout # Timeout for readline() print 'Connection initiated' def servo_write(self, pin_number, digital_value): """ Writes the digital_value on pin_number Internally sends b'WS{pin_number}:{digital_value}' over the serial connection """ command = "WS{}:{}".format(str(pin_number),str(digital_value)).encode() self.conn.write(command) def close(self): """ To ensure we are properly closing our connection to the Arduino device. """ self.conn.close() print 'Connection to Arduino closed'