Kazalo:

Koračni motor z lahkim krmiljenjem + stenski nosilec/stojalo: 6 korakov
Koračni motor z lahkim krmiljenjem + stenski nosilec/stojalo: 6 korakov

Video: Koračni motor z lahkim krmiljenjem + stenski nosilec/stojalo: 6 korakov

Video: Koračni motor z lahkim krmiljenjem + stenski nosilec/stojalo: 6 korakov
Video: Building The World's First MANUAL Dodge DEMON! | PT 3 2024, Julij
Anonim
Stepper motor z lahkim krmiljenjem + stenski nosilec/stojalo
Stepper motor z lahkim krmiljenjem + stenski nosilec/stojalo

To stojalo se uporablja za namestitev koračnega motorja, ki ga upravlja Arduino, zasnovan za samodejno krmiljenje zavese glede na stopnjo svetlobe v prostoru. Za tiskanje ravni svetlobe lahko dodate tudi LCD zaslon. 3D orodje je samo za predstavitev, morda bo potrebno resnično orodje za praktično uporabo, kot je zavesa, pa tudi katera koli druga aplikacija, ki si jo zamislite.

Korak: Sestavine

Za začetek tega projekta boste potrebovali;

- 2 sklopa čipov Arduino- ščit motorja Arduino- zaslon LCD Arduino- 1 plošča- 1 bipolarni koračni motor- 1 D baterija- 1 od svetlobe odvisen upor- 1 10 k Ω upor- 10 moško-moških žic- 6 moških- ženske žice- Dostop do 3D tiskalnika

2. korak: Gradnja Arduina

Gradnja Arduina
Gradnja Arduina

Najprej poravnajte ščit motorja z zatiči Arduino in ko so postavljeni, ga trdno položite. Nato priključite žice koračnega motorja na zatiče 8, 9, 10 in 11. Zatem priključite baterijo D v reže, kot je prikazano na diagramu. Nato boste želeli dobiti 6 žic (moški do ženski) za LCD zaslon in jih priključite v drugo enoto Arduino, kot je prikazano na shemi vezja. Nato nastavite LDR, kot je prikazano zgoraj, z uporom, ki je priključen na negativno vrsto. Ko dodajate LDR, na strani z uporom, dodajte priključke A0 in na nasprotni strani dodajte 1 5V vhod za vsako ploščo, ki jo uporabljate, zato, če uporabljate 2 plošči, boste želeli, da ima vsaka od njih 5V in A0 pin na LDR.

Priključite vse žice, tako da je enak diagramu- 2 vhoda na LDR- 2 izhoda iz LDR in upor, ki je povezan z maso- 8 žic na LCD, 1 5V, 1 ozemljitev in 6 vhodov- 4 žice, ki se povezujejo z korak- 2 povezavi z baterijo- Ozemljitveno ploščo je treba priključiti

3. korak: Kodiranje Arduina

Kodiranje Arduina
Kodiranje Arduina

Tukaj je nekaj vzorčnih kod za spremembo stanja orodja na podlagi LDR

To je koda, ki bi projektu omogočila samodejno krmiljenje zavese. Zgornja fotografija razlaga različne poti skozi ugnezdene stavke IF v smislu zavese, ki se dviga, spušča ali ostane tam, kjer je. (kliknite sliko, da si jo ogledate v celoti, ker obstajajo težave pri oblikovanju)

#defineLDRA0 // Določa spremenljivko "LDR" do A0 pin#include// Vključuje kodo koračnega motorja

constintstepsPerRevolution = 200; // Ko je koračni motor aktiviran, je njegova polna rotacija enaka 200 korakom

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Definira vhod v koračni kot zatiči 8, 9, 10, 11

voidsetup () {myStepper.setSpeed (60); // Nastavi, kako hitro motor izvede rotacijski način (LDR, INPUT); // Določi spremenljivko "LDR" kot vhodni Serial.begin (9600); // Začne serijsko branje }

voidloop () {intlightlevel = analogRead (LDR); // Definira spremenljivko "lightlevel" kot dejanje, ki bere vrednost "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Natisne vrednost "lightlevel" z zgornjim napisom

/* Zdaj obstaja zanka, ki zazna nivo svetlobe na vsaki točki poti* Na voljo so 3 možnosti: pojdi navzgor, navzdol, ostani v istem položaju* Zasnovana je tako, da če raven svetlobe ostane enaka, bo ostanite enaki, če se ne, se bo spremenilo * tj. če je 950, potem gre na 952, se ne bo zgodilo nič, če pa bi šlo od 950 na 600, bi potegnilo zaveso navzgor in obratno * Vsak korak je označen s črko pred korakom za sledenje, kje je v zanki skozi serijski monitor */

if (lightlevel> = 900) {Serial.println ("A"); // Kateri korak je v loopmyStepper.step (3*stepsPerRevolution); // Korak naredi 3 obrate naprej. Če je negativen, se vrne nazaj (30000); // pusti ga 5 minut intlightlevel = analogRead (LDR); // spremenljivko "lightlevel" definira kot zadnjo vrednost iz LDRSerial.print ("raven svetlobe:"); // Natisne besedilo pred spremenljivko Serial.println (lightlevel) // Natisne vrednost ravni svetlobe

if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lahka raven);

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); zakasnitev (500); intlightlevel = analogRead (LDR); Serial.print ("Svetlobni nivo:"); Serial.println (lightlevel);}

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

else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); zakasnitev (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 (lahka raven);}

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

}

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

if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); zakasnitev (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lahka raven);

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

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

}}

else {Serial.println ("L"); myStepper.step (0); delay (10000); 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 (lahka raven);}

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

}}

}

}

4. korak: Izbirno: LCD zaslon

Tako bi na LCD -zaslon natisnili raven svetlobe, ki jo zazna LDR.

#vključi

  • // Doda knjižnico tekočih kristalov z dodatno kodo#define ldr A0 // Določi spremenljivko "ldr" na pin A0

    LCD tekoči kristal (8, 9, 4, 5, 6, 7); // inicializiramo knjižnico s številkami vmesnikov

    voidsetup () {// koda, ki se enkrat zažene na startlcd.begin (16, 2); // nastavimo število stolpcev in vrstic LCD -ja pinMode (ldr, INPUT); // Določa ldr kot vhodni pinSerial.begin (9600); // Začne komunikacijo s serijskim monitorjem

    }

    voidloop () {// koda, ki se bo neprekinjeno ponavljalaSerial.println (analogRead (ldr)); // Natisne branje, ki ga ldr pobere (število med 0-1023) na serijskem monitorju lcd.setCursor (6, 0); // nastavimo kazalec na stolpec 6, vrstica 0lcd.print (analogRead (ldr)); // Natisne to branje na LCD zaslon (1000); // Zamudi naslednji ukaz za eno sekundo

    }

    5. korak: Natisnjeni deli

    Za tiskanje stojala in orodja uporabite naslednje datoteke. Orodje lahko prilagodite za svoje namene in ga lahko z nosilcem pritrdite na steno ali kot zaslon. Ker je 3D -orodje šibko, se lahko kot nadomestilo uporabi pravo orodje, če se ujema z zaveso, ki bi jo upravljala.

    Če boste uporabili 3D tiskano orodje, je bil odstranjen eden od zob zobnika, da bi ga lahko pritrdil vijak za pritrditev na motor.

    Sprednji 2 nogi stenskega nosilca lahko odstranite tudi, če ga namestite na steno. Dodali so jih le tako, da je zdržal, medtem ko smo z njim testirali.

    6. korak: Namestitev

    Zdaj, ko so vsi deli pripravljeni, je čas, da se lotimo končne postavitve.

    Najprej postavite koračni motor v priloženo škatlo na stojalu in prestavite prestavo na os. Nato premaknite žice tako, da gredo za stojalo. Nazadnje, arduino in baterijo postavite za stojalo

    Vaša tabla bi morala zdaj izgledati kot na zgornji sliki.

    Čestitamo!

    Zobnik se lahko uporablja za avtomatizirane zavese ali katero koli drugo stvar, za katero želite, da jo nadzoruje LDR.

    Končali ste. Uživajte v svoji novi kreaciji.

Priporočena: