Sadržaj:

Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak: 6 koraka
Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak: 6 koraka

Video: Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak: 6 koraka

Video: Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak: 6 koraka
Video: 4 nevjerojatna Mosfet projekta koja čak i početnici mogu stvoriti! 2024, Srpanj
Anonim
Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak
Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak

Ovo postolje služi za smještaj Arduino koračnog motora, dizajniranog za automatsko upravljanje zavjesom prema razini svjetlosti u prostoriji. Također možete dodati LCD zaslon za ispis razine osvjetljenja. 3D oprema služi samo za demonstraciju, može biti potrebna prava oprema za praktičnu primjenu, poput zastora, ali i bilo koje druge primjene koje se sjetite.

Korak 1: Sastojci

Za početak ovog projekta trebat će vam;

- 2 Arduino seta čipova- Štitnik motora Arduino- Arduino LCD zaslon- 1 Oglasna ploča- 1 bipolarni koračni motor- 1 D baterija- 1 otpornik ovisan o svjetlu- 1 otpornik od 10 kΩ- 10 muško-muških žica- 6 muških- ženske žice- Pristup 3D pisaču

Korak 2: Izgradnja Arduina

Izgradnja Arduina
Izgradnja Arduina

Prvo poravnajte štitnik motora s Arduino iglicama i kad se postave, čvrsto ga postavite. Zatim spojite žice koračnog motora u pinove 8, 9, 10 i 11 štitnika motora. Nakon toga spojite D bateriju u utore kao što je prikazano na dijagramu. Zatim ćete htjeti 6 žica (muški na ženski) za LCD zaslon i priključite ih u drugu Arduino jedinicu kao što je prikazano na dijagramu kruga. Zatim postavite LDR kako je gore prikazano, tako da se otpornik spoji na negativni red. Prilikom dodavanja LDR -a, sa strane otpornika, dodajte priključcima A0 i na suprotnoj strani, dodajte 1 5V ulaz za svaku ploču koju koristite, pa ako koristite 2 ploče, poželjet ćete da svaka od njih ima pin 5V i A0 koji ide prema LDR -u.

Spojite sve žice tako da budu iste kao na dijagramu- 2 ulaza u LDR- 2 izlaza iz LDR-a i otpornik spojen na masu- 8 žica na LCD, 1 5V, 1 uzemljenje i 6 ulaza- 4 žice spojene na stepper- 2 spoja na bateriju- Uzemljenje matične ploče treba biti spojeno

Korak 3: Kodiranje Arduina

Kodiranje Arduina
Kodiranje Arduina

Evo nekoliko primjera koda za promjenu statusa opreme prema LDR -u

Ovo je kod koji bi omogućio projektu da automatski kontrolira zavjesu. Gornja fotografija objašnjava različite staze kroz ugniježđene IF naredbe u smislu zavjese koja se diže, spušta ili ostaje tamo gdje je. (kliknite na sliku da biste je vidjeli u cijelosti jer postoje problemi s oblikovanjem)

#defineLDRA0 // Definira varijablu "LDR" do A0 pin#include// Uključuje kod koračnog motora

constintstepsPerRevolution = 200; // Kad je koračni motor aktiviran, njegova puna rotacija jednaka je 200 koraka

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Definira ulaz u steper kao pinove 8, 9, 10, 11

voidsetup () {myStepper.setSpeed (60); // Postavlja koliko brzo motor radi rotacijski način rada (LDR, INPUT); // Definira varijablu "LDR" kao ulaz Serial.begin (9600); // Pokreće serijsko čitanje }

voidloop () {intlightlevel = analogRead (LDR); // Definira varijablu "lightlevel" kao radnju koja čita vrijednost "LDR" Serial.print ("Razina svjetla:"); Serial.println (lightlevel); // Ispisuje vrijednost "lightlevel" s natpisom iznad

/* Sada postoji petlja koja detektira razinu svjetla u svakoj točki puta* Dostupne su 3 opcije, idite gore, spustite se, ostanite u istom položaju* Dizajnirana je tako da, ako razina svjetlosti ostane ista, Ostanite isti, ako ne promijenit će se * tj. ako je 950, tada ide na 952, ništa se neće dogoditi, međutim ako bi prešao s 950 na 600 povukao bi zavjesu prema gore i obrnuto * Svaki korak označen je slovom ispred koraka za praćenje gdje se nalazi u petlji kroz serijski monitor */

if (lightlevel> = 900) {Serial.println ("A"); // Koji je to korak u loopmyStepper.step (3*stepsPerRevolution); // Steper čini 3 okretaja naprijed. Ako je negativan, ide unatrag zakašnjenje (30000); // ostavlja ga tamo 5 minuta intlightlevel = analogRead (LDR); // Definira varijablu "lightlevel" kao najnovije očitanje iz LDRSerial.print ("Razina svjetlosti:"); // Ispisuje tekst ispred varijable Serial.println (lightlevel) // Ispisuje vrijednost razine svjetlosti

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

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); kašnjenje (500); intlightlevel = analogRead (LDR); Serial.print ("Razina svjetla:"); Serial.println (lightlevel);}

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

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

if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lagana razina);}

else {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); 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); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (svjetlosna razina);

if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); kašnjenje (500); intlightlevel = analogRead (LDR); Serial.print ("Razina svjetla:"); Serial.println (lightlevel);}

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); delay (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 Light:"); Serial.println (lightlevel);

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

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

}}

}

}

Korak 4: Izborno: LCD zaslon

Time bi se na LCD zaslonu ispisala razina svjetlosti koju detektira LDR.

#uključi

  • // Dodaje knjižnicu tekućih kristala s dodatnim kodom#define ldr A0 // Definira varijablu "ldr" na pin A0

    LCD tekući kristal (8, 9, 4, 5, 6, 7); // inicijalizira knjižnicu brojevima pinova sučelja

    voidsetup () {// kôd koji se jednom pokreće na startlcd.begin (16, 2); // postavljanje broja stupaca i redaka LCD -a pinpinMode (ldr, INPUT); // Definira ldr kao ulazni pinSerial.begin (9600); // Pokreće komunikaciju sa serijskim monitorom

    }

    voidloop () {// kôd koji će se kontinuirano ponavljatiSerial.println (analogRead (ldr)); // Ispisuje čitanje koje ldr preuzima (broj između 0-1023) na serijskom monitoru lcd.setCursor (6, 0); // postavite kursor na stupac 6, redak 0lcd.print (analogRead (ldr)); // Ispisuje ovo očitanje na LCD zaslonu (1000); // Odgađa sljedeću naredbu na jednu sekundu

    }

    Korak 5: Ispisani dijelovi

    Za ispis postolja i opreme koristite sljedeće datoteke. Opremu možete prilagoditi za vlastite potrebe, a nosač možete postaviti za postavljanje na zid ili kao zaslon. Kako je 3D zupčanik slab, pravi se zupčanik može koristiti kao njegova zamjena sve dok odgovara zavjesi koju bi kontrolirao.

    Ako će se koristiti 3D tiskani zupčanik, uklonjen je jedan od zubaca zupčanika kako bi ga vijak za pričvršćivanje mogao pričvrstiti na motor.

    Prednje 2 noge zidnog nosača također se mogu ukloniti ako se montiraju na zid. Dodani su samo kako bi stajao dok smo testirali s njim.

    Korak 6: Postavljanje

    Sada kada su svi dijelovi spremni, vrijeme je za početak konačnog postavljanja.

    Najprije postavite koračni motor u predviđenu kutiju na postolju i stavite zupčanik na osovinu Sljedeće, pomaknite žice tako da idu iza postolja Konačno, postavite arduino i bateriju iza postolja

    Vaša ploča sada bi trebala izgledati poput ove na gornjoj slici.

    Čestitamo!

    Zupčanik se može koristiti za automatizirane zavjese ili bilo koju drugu stvar koju želite kontrolirati LDR.

    Ti si gotov. Uživajte u svojoj novoj kreaciji.

Preporučeni: