Obsah:

Svetlom riadený krokový motor + nástenný držiak/stojan: 6 krokov
Svetlom riadený krokový motor + nástenný držiak/stojan: 6 krokov

Video: Svetlom riadený krokový motor + nástenný držiak/stojan: 6 krokov

Video: Svetlom riadený krokový motor + nástenný držiak/stojan: 6 krokov
Video: Stepper motor controlled by Mach 3 2024, November
Anonim
Svetlom riadený krokový motor + nástenný držiak/stojan
Svetlom riadený krokový motor + nástenný držiak/stojan

Tento stojan sa používa na umiestnenie krokového motora ovládaného Arduinom, určeného na automatické ovládanie závesu podľa úrovne svetla v miestnosti. Môžete tiež pridať LCD obrazovku na tlač úrovne svetla. 3D zariadenie slúži len na ukážku, na praktické použitie, ako je opona, ale aj na akúkoľvek inú aplikáciu, na ktorú si spomeniete, môže byť potrebný skutočný prevodový stupeň.

Krok 1: Prísady

Na spustenie tohto projektu budete potrebovať;

- 2 súpravy čipov Arduino- štít motora Arduino- LCD obrazovka Arduino- 1 doska na chlieb- 1 bipolárny krokový motor- 1 batéria D- 1 odpor závislý na svetle- 1 odpor 10 kOhm- 10 káblov muž-muž- 6 samcov- ženské vodiče- prístup k 3D tlačiarni

Krok 2: Konštrukcia Arduina

Konštrukcia Arduina
Konštrukcia Arduina

Najprv zarovnajte štít motora s kolíkmi Arduino a akonáhle sú zoradené, pevne ho položte. Potom pripojte vodiče krokového motora k kolíkom 8, 9, 10 a 11 štítu motora. Potom zapojte batériu D do otvorov podľa obrázku. Ďalej budete chcieť získať 6 vodičov (muž - žena) LCD obrazovku a zapojte ich do druhej jednotky Arduino, ako je znázornené na schéme zapojenia. Potom nastavte LDR, ako je uvedené vyššie, s odporom pripojeným k zápornému riadku. Pri pridávaní LDR na strane s odporom pridajte pripojenia A0 a na opačnú stranu pridajte 1 5V vstup pre každú dosku, ktorú používate, takže ak používate 2 dosky, budete chcieť, aby každá z nich mala kolík 5V a A0 smerujúci do LDR.

Pripojte všetky vodiče tak, aby boli rovnaké ako na obrázku- 2 vstupy na LDR- 2 výstupy z LDR a rezistor pripojený na uzemnenie- 8 vodičov na LCD, 1 5 V, 1 uzemnenie a 6 vstupov- 4 drôty na pripojenie krokový- 2 pripojenia k batérii- Uzemňovacia doska by mala byť pripojená

Krok 3: Kódovanie Arduina

Kódovanie Arduino
Kódovanie Arduino

Tu je niekoľko ukážkových kódov na zmenu stavu prevodového stupňa na základe LDR

Toto je kód, ktorý by projektu umožnil automaticky ovládať oponu. Vyššie uvedená fotografia vysvetľuje rôzne cesty vnorenými vyhláseniami IF v zmysle, ako opona stúpa, klesá alebo zostáva tam, kde je. (kliknutím na obrázok ho zobrazíte celý, pretože existujú problémy s formátovaním)

#defineLDRA0 // Definuje premennú "LDR" na pin A0#include// Obsahuje kód krokového motora

constintstepsPerRevolution = 200; // Keď je krokový motor aktivovaný, jeho úplné otočenie sa rovná 200 krokom

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Definuje vstup do steppera ako piny 8, 9, 10, 11

voidsetup () {myStepper.setSpeed (60); // Nastavuje, ako rýchlo motor robí rotačný pinMode (LDR, INPUT); // Definuje premennú "LDR" ako vstup Serial.begin (9600); // Spustí sériové čítanie }

voidloop () {intlightlevel = analogRead (LDR); // Definuje premennú "lightlevel" ako akciu, ktorá číta hodnotu "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Vytlačí hodnotu „úrovne svetla“s vyššie uvedeným nadpisom

/* Teraz existuje slučka, ktorá detekuje úroveň svetla v každom bode cesty* K dispozícii sú 3 možnosti, ísť hore, ísť dole, zostať v rovnakej polohe* Je navrhnutý tak, aby v prípade, že úroveň svetla zostane rovnaká, zostaň rovnaký, ak nie, zmení sa * tj. ak je 950, potom prejde na 952, nič sa nestane, ak by však išlo z 950 na 600, zatiahlo by to oponu nahor a naopak * Každý krok je označený písmenom pred schodom sledovať v sériovom monitore, kde sa nachádza, v slučke */

if (lightlevel> = 900) {Serial.println ("A"); // Aký krok sa nachádza v loopmyStepper.step (3*krokyPerRevolution); // Krokovač urobí 3 otáčky dopredu. Ak je záporný, vráti sa späť k oneskoreniu (30 000); // Nechá ho tam 5 minút intlightlevel = analogRead (LDR); // Definuje premenlivú „úroveň svetla“ako posledné čítanie z LDRSerial.print („Úroveň svetla:“); // Vytlačí text pred premennú Serial.println (úroveň svetla) // Vytlačí hodnotu úrovne svetla

if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň svetla);

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň svetla);}

else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň svetla);}

else {Serial.println ("G"); myStepper.step (0); delay (10 000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

}

else {Serial.println ("H"); myStepper.step (0); delay (10 000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň svetla);

if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň svetla);}

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); delay (10 000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

else {Serial.println ("L"); myStepper.step (0); delay (10 000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň svetla);}

else {Serial.println ("N"); myStepper.step (0); delay (10 000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

}

}

Krok 4: Voliteľné: LCD obrazovka

To by vytlačilo úroveň svetla zistenú LDR na obrazovku LCD.

#zahrnúť

  • // Pridá knižnicu tekutých kryštálov s ďalším kódom#define ldr A0 // Definuje premennú "ldr" na pin A0

    LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // inicializácia knižnice číslami pinov rozhrania

    voidsetup () {// kód, ktorý sa spustí raz na startlcd.begin (16, 2); // nastavenie počtu stĺpcov a riadkov na LCD, respektíve pinMode (ldr, INPUT); // Definuje ldr ako vstupný pinSerial.begin (9600); // Spustí komunikáciu so sériovým monitorom

    }

    voidloop () {// kód, ktorý sa bude kontinuálne opakovaťSerial.println (analogRead (ldr)); // Vytlačí údaj, ktorý ldr zdvihne (číslo medzi 0-1023) na sériový monitorlcd.setCursor (6, 0); // nastav kurzor na stlpec 6, riadok 0lcd.print (analogRead (ldr)); // Vytlačí tento údaj na LCD skreendelay (1000); // Posunie nasledujúci príkaz o jednu sekundu

    }

    Krok 5: Tlačené diely

    Na vytlačenie stojana a prevodu použite nasledujúce súbory. Zariadenie si môžete prispôsobiť svojim vlastným účelom a pomocou držiaka ho môžete pripevniť na stenu alebo ako displej. Pretože je 3D prevodovka slabá, je možné ako náhradu za ňu použiť skutočný prevodový stupeň, pokiaľ sa zhoduje s oponou, ktorú by ovládal.

    Ak sa bude používať zariadenie s 3D tlačou, jeden z zubov ozubeného kolesa bol odstránený, aby ho mohla nastavovacia skrutka pripevniť k motoru.

    Predné 2 nohy nástenného držiaka je možné tiež odstrániť, ak ho chcete namontovať na stenu. Boli pridané iba preto, aby obstáli, kým sme s nimi testovali.

    Krok 6: Umiestnenie

    Teraz, keď sú všetky diely pripravené, je čas začať konečné umiestnenie.

    Najprv umiestnite krokový motor do dodanej skrinky na stojane a dajte ozubené koleso na nápravu. Potom posuňte drôty tak, aby smerovali za stojan. Nakoniec umiestnite arduino a batériu za stojan.

    Vaša doska by teraz mala vyzerať ako na obrázku vyššie.

    Gratulujem

    Zariadenie môžete použiť na automatické záclony alebo akúkoľvek inú vec, ktorú chcete ovládať pomocou LDR.

    Skončil si. Užite si svoju novú tvorbu.

Odporúča: