Hur skriva ut din nya bästis surfare till 3D (3 / 4 steg)
Steg 3: Steg 3: kör koden
Så nu när du har alla fysiska komponenter redo att gå, låt oss fokusera på koden som används för att driva denna apparat (Förresten, jag hör att Tom är riktigt bra på kodning.)
Från och med den första bilden, låt oss gå igenom koden och se vad varje del åstadkommer. Först har vi våra definitioner. Vi definierar både närhet sensor stift, alla 4 stepper motor stift och LED stift. Slutligen definiera vi fördröjningstid som fördröjning i ms mellan varje spole aktivering i ordning från A till D (mer om detta senare).
Nu på setup. Vi börjar genom att aktivera den seriella porten, som kommer att läsa ut avstånd värdena från rörelsesensor (eftersom varför inte!). Vi definierar sedan, echo stiftet som indata och utlösa stiftet som en utgång. Vi definierar också alla 4 stepper motor stift som utgångar, och LED stift som en utgång. Så är den enda input vi har in i krets echo PIN-koden.
Går vidare till den andra bilden, utan laga kraft slingan. Det första segmentet i koden berättar Närhetssensor läsa värden och konvertera pulserna till avstånd värden i centimeter. Sedan har vi en om annat uttalande där det står att om avståndet är mindre än 15 cm, till aktivera stegmotor. Den andra delen av koden använder nu vissa funktioner som definieras i en annan fil. Filen visas i bild 3 och 4. Det definieras i huvudsak steg A till och med D som aktivering av en av de 4 spolarna inuti motorn. Sedan, när vi refererar till funktionen "forward()" Aktivera spolarna i ordning från A till D, med en försening som motsvarar "fördröjningstid" som definierades tidigare. Ju lägre förseningen, desto snabbare motorn roterar eftersom spolarna aktivera snabbare. Funktionen "backward()" aktiveras spolar från D till A, roterande motorn motsatt riktning. Nu flyttar tillbaka till else-sats. För det första så länge avståndet är mindre än 15 cm, kommer att lysdioder aktivera. För att avgöra hur långt spolen roterar, vi definierar en variabel som kallas "numberofsteps" som definierar hur många gånger framåt eller bakåt funktion upprepas. Med värdet på 50, stepper motor går igenom 50 framåt cyklar, pauser för 10ms, och går igenom 50 bakåt cyklar. Medan motorn är i rörelse, förblir lysdioderna tänd.