Light Plotter with Intel Edison (13 / 16 stap)

Stap 13: Python Code om te rijden de steppers


Waarom dit doen in Python?

Het is mogelijk om te sturen de Grove I2C Motor Driver V1.3 een opdracht moet worden uitgevoerd van een stepper voor een opgegeven aantal stappen zonder te geven elke stap afzonderlijk, maar dit helpt ons niet, we willen weten precies wanneer elke stap gebeurt en wanneer een reeks stappen zijn voltooid, zodat wij de LED in- en uitschakelen op het juiste moment kunnen omzetten.

Als u wilt dat de free-running stepper kenmerken van dit bord en je motor is stuurprogramma alleen geladen met V1.2 als mijne was, dan u moet aan het upgraden van de firmware, zoals ik eerder in dit Instructable deed.

Ook als ik net Python.

Maar Python is niet realtime, u niet rijden motoren mee!

Dat is waar, en dat is niet waar. Het is dicht genoeg bij realtime voor dit doel. Als de stap tijden enigszins inconsistent zijn echt is het niet een big deal. Ik echter verzorgen processen uitgevoerd in draden, zodat de motoren kunnen gelijktijdig worden uitgevoerd en andere processen (zoals draaien in- en uitschakelen van de LED) zijn behandeld in draden, zodat ze niet de stepping tijd storen en dus ook de dynamiek van de LED-vergadering (die zou veroorzaken trillingen).

De Stepper-klasse

In Python ik heb gemaakt een stepper klasse waarin een paar variabelen over de huidige stand van de motoren worden opgeslagen

  • stappen: deze array bevat de 8 individuele polariteit paren die deel van een volledige rotatie voor een half-intensivering motor uitmaken
  • nextStep: dit is de index van de next step in de matrix moet worden gebruikt
  • richting: slaan We de richting die de tekenreeks langer, dit in feite bepaalt of wij zijn intensivering vooruit of achteruit door de array.
 class stepper: steps = [[2,2],[2,0],[2,1],[0,1],[1,1],[1,0],[1,2],[0,2]] nextStep = 0 direction = 1 #1 or -1 #can be inverted to invert motor direction stepCount = 0 

De stappenmotor initialisatie functie is ingesteld van de GroveMD-stuurprogramma's. Zorg ervoor dat u de juiste I2C adres zoals deze is geconfigureerd op de board dip-schakelaars.

Neem nota van de "setMotorSpeeds", waarin de PWM van het motor-stuurprogramma. Voor steppers de PWM moet altijd 255 als actieve of 0 wanneer uitgeschakeld, doet geen afbreuk aan snelheid, de vertraging tussen stappen die wordt ingesteld.

 def __init__(self, I2C_ADDR, I2C_BUS,direction): self.motorDriver = upmGrovemd.GroveMD(I2C_BUS, I2C_ADDR) self.motorDriver.setMotorSpeeds(255,255) time.sleep(0.05) self.direction=direction 

De step()-functie neemt in één argument is waar of onwaar. Als het argument is waar vervolgens de motor stappen in de richting waarin de tekenreeks zal verlengen.

 def step(self,lengthen): """ Take one step in either direction. Takes a boolean argument to indicate lengthen or shortening string """ if (lengthen): self.stepCount += 1 self.nextStep += self.direction else: self.stepCount -= 1 self.nextStep -= self.direction if self.nextStep > 7: self.nextStep = 0 if self.nextStep < 0: self.nextStep = 7 self.motorDriver.setMotorDirections(self.steps[self.nextStep][0],self.steps[self.nextStep][1] 

Gerelateerde Artikelen

Groen huis Smart with Intel Edison en Microsoft Azure

Groen huis Smart with Intel Edison en Microsoft Azure

Ik heb de Intel IoT Roadshow hier in Silicon Valley tijdens afgelopen weekend bijgewoond, en maakte dit koele project – Smart Green House. Intel verstrekt een heleboel sensoren, en ik dacht aan iets met groen huis te doen. Ik heb diverse sensoren in
Intel Edison hydrocultuur Controller

Intel Edison hydrocultuur Controller

Creëren van een IoT ingeschakeld hydrocultuur Controller met behulp van de Intel Edison tijdens de Boston IoT HackathonOns doel:Binnen een 36 uur hackathon voor de bouw van een controller te gebruiken met onze vorige instructable (verticale hydrocult
Intel Edison IoT externe milieuparameters monitor

Intel Edison IoT externe milieuparameters monitor

Dit is een zeer fundamentele project volledig gemaakt in javascript via de IDE "Intel XDK IoT edition". Wanneer u klaar bent, hebt u een systeem te controleren Omgevings parameters (temperatuur, licht en lucht kwaliteit), lokaal in het LCD-scher
Geiger rugzak met Intel Edison

Geiger rugzak met Intel Edison

Wij zijn een groep van makers die graag besteden nachten en weekenden knutselen met tecnology hier bij Verona FabLab (Verona is een stad in het noorden van Italië) en met dit instructable willen we Beschrijf het project wij voor Intel Maker wedstrijd
Intel Edison Sensor Dashboard met behulp van Vrijboord/Python/kolf (minimale programmering nodig)

Intel Edison Sensor Dashboard met behulp van Vrijboord/Python/kolf (minimale programmering nodig)

Eerst wilde ik zeggen dank u voor de kans om te werken met een Edison en voor een door Intel/Instructables wordt gegeven met het oog op het invoeren van hun IoT-wedstrijd. Ik denk dat dit een geweldige manier om te doen gemeenschapsopbouw en ontwikke
TEAM IMPACT! Smart helm - Intel Edison, Sparkfun 9DOF

TEAM IMPACT! Smart helm - Intel Edison, Sparkfun 9DOF

Intel Edison met Sparkfun 9DOF LSM9DS0 IMU3e plaats @ de Intel IoT Roadshow NYC 2015Dit Instructable is voor een Intel Edison IoT Smart helm die gebruik maakt van een 9DOF van Sparkfun om gegevens te verzamelen van de helm om te meten hoofd tramas en
Intel Edison Motion Sensor waterpomp

Intel Edison Motion Sensor waterpomp

Leer het bouwen van een geautomatiseerde water pompsysteem door het gebruik van een motiesensor en een waterpomp.Benodigde materialen:1 x 6v Mini waterpomp2 x Grove IR afstand Interruptor1 x Grove estafette (30a)1 x Grove Water Sensor1 x Intel edison
Intel Edison lawaai Alarm (Intel IoT)

Intel Edison lawaai Alarm (Intel IoT)

IntroductieIk heb een inbraakalarm en brandalarm, maar geen manier om te weten als ofwel zijn klinkende tenzij ik in het huis ben. In plaats van hen vervangen door 'slimme' alternatieven, ik ben van plan om te bouwen van een apparaat om te luisteren
Geautomatiseerde gordijn met behulp van intel Edison & thethings. IO

Geautomatiseerde gordijn met behulp van intel Edison & thethings. IO

Keer gaat door en dingen krijgen oud en dus, ze eindelijk breken. Jaloezieën zijn een uitzondering niet.Dit is een van de redenen waarom we het kopen van gordijnen. Niet alleen voor esthetica maar ook voor het filtreren van de hoeveelheid licht in on
MCU-1: Een prijsbewuste Intel Edison MCU gebaseerd Rover speelgoedauto. (Intel IoT)

MCU-1: Een prijsbewuste Intel Edison MCU gebaseerd Rover speelgoedauto. (Intel IoT)

Kleine weergegeven video: obstakel te vermijden en weinig knop gebaseerde opdrachten via bluetooth.Stap 1: samenvattingDit project zal het bouwen van een eenvoudige rover auto die kan worden gecontroleerd door een Androïde slimme app met behulp van s
Maken van een intelligente bureauklok, geschreven in JavaScript, aangedreven door de Intel Edison

Maken van een intelligente bureauklok, geschreven in JavaScript, aangedreven door de Intel Edison

Waarom moeten mijn klokken worden intelligenter...Ik altijd herinneringen instellen voor mijn agenda vergaderingen maar wanneer die weinig "XYZ vergadering, die begint in 15 minuten" desktop kennisgeving in de hoek van het computerscherm van mij
Intel IoT EDI - toezicht op een comfortabele en veilige omgeving (met Intel Edison)

Intel IoT EDI - toezicht op een comfortabele en veilige omgeving (met Intel Edison)

Voordat ik wil om te beginnen, Intel en Instructables bedanken voor deze kans: Ik heb geselecteerd onder andere winnaar van een wonderbare Intel IoT Edison & Grove Kit... Dat was erg verrassend aan me, en ik ben zeer dankbaar voor het. Bedankt! :-)In
Intel Edison, nabijheid geactiveerd, spreken kalender

Intel Edison, nabijheid geactiveerd, spreken kalender

(Boven is een Video - maar kan niet op een mobiele telefoon. Klik hier om te bekijken op youtube. )Dit project werd gepland als een Ondersteunende technologie apparaat voor verzorgers van mensen met Geheugenstoornissen. Het is een wandmodel kalender
Intel Edison - Robot

Intel Edison - Robot

Geruime tijd geleden ik een Arduino Robot gebouwd en vervolgens een upgrade dat naar een betere versie die veel sneller was, na het experimenteren met de Intel Edison heb ik besloten om de Arduino robot een upgrade en vervanging van de Arduino met de