Stap 3: Stap 3: uitvoeren van de Code
Dus nu dat u beschikt over alle van de fysieke onderdelen klaar om te gaan, laten we richten op de code die wordt gebruikt voor het aandrijven van deze contraption (door de manier, hoor ik Tom is echt goed in codering.)
Te beginnen met de eerste afbeelding, laten we de code doorlopen en zien wat elk stuk volbrengt. Eerst moeten we onze definities. We definiëren de nabijheid sensor pinnen, alle 4 stepper motor pinnen, zowel de LED-pin. Tot slot, we delaytime definiëren als de vertragingbij ms tussen elke spoel activeren in volgorde van A tot en met D (meer hierover later).
Nu op naar de setup. We beginnen met het activeren van de seriële poort, die de waarden van de afstand van de sensor van de nabijheid zal voorlezen (want waarom niet!). Vervolgens definiëren we de echo-pin als een input en de pin van de trigger als een output. Wij definiëren ook alle 4 stepper motor pinnen als uitgangen, en de LED-pin als uitgang. Dus is de enige inbreng die we hebben in het circuit de echo-pin.
Verhuizen naar het tweede beeld, de leegte lus. Het eerste blok van code vertelt de nabijheidssensor om waarden lezen en converteren van de pulsen naar waarden van de afstand in centimeters. Dan, hebben we een als anders verklaring die dat stelt als de afstand minder dan 15 cm afstand, activeren de stappenmotor. Het andere deel van de code maakt nu gebruik van sommige functies die in een andere code-bestand zijn gedefinieerd. Dit bestand wordt weergegeven in afbeelding 3 en 4. Het definieert in feite stap A tot en met D als de activering van een van de 4 spoelen in de motor. Dan, wanneer we de functie "vooruit()" verwijst naar de spoelen activeren in volgorde van A tot en met D, met een vertraging die gelijk is aan "delaytime" die eerder werd gedefinieerd. Hoe lager de vertraging, hoe sneller de motor draait omdat de spoelen sneller activeren. De functie "backward()" activeert de spoelen van D naar A, draaien van de motor de tegenovergestelde richting. Nu, bewegen terug naar de instructie else. In de eerste plaats, zolang de afstand minder dan 15 cm is, zal de LED's activeren. Om te bepalen hoe ver de spoel draait, we definiëren een variabele met de naam "numberofsteps" die hoe vaak definieert de vooruit of achteruit functie herhaalt. Met de waarde 50, de stappenmotor 50 voorwaartse cycli, pauzeert voor 10ms, doorloopt en doorloopt 50 neerwaarts cycli. Terwijl de motor in beweging is, blijven de LEDs verlicht.