Sadržaj:

Koračni motor sa svjetlosnom kontrolom + zidni držač/postolje: 6 koraka
Koračni motor sa svjetlosnom kontrolom + zidni držač/postolje: 6 koraka

Video: Koračni motor sa svjetlosnom kontrolom + zidni držač/postolje: 6 koraka

Video: Koračni motor sa svjetlosnom kontrolom + zidni držač/postolje: 6 koraka
Video: Linear Stepper motor Actuator CNC one Axis controller from www.motiontek.ca 2024, Juli
Anonim
Koračni motor sa svjetlosnom kontrolom + zidni držač/postolje
Koračni motor sa svjetlosnom kontrolom + zidni držač/postolje

Ovo postolje se koristi za smještaj Arduino koračnog motora, dizajniranog za automatsko upravljanje zavjesom prema nivou svjetlosti u prostoriji. Takođe možete dodati LCD ekran za štampanje nivoa svetlosti. 3D oprema služi samo za demonstraciju, može biti potrebna prava oprema za praktičnu primjenu, poput zavjese, ali i bilo koje druge primjene koje se sjetite.

Korak 1: Sastojci

Za pokretanje ovog projekta trebat će vam;

- 2 Arduino seta čipova- Štitnik motora Arduino- Arduino LCD ekran- 1 Oglasna ploča- 1 bipolarni koračni motor- 1 D baterija- 1 otpornik ovisan o svjetlu- 1 otpornik 10 kΩ- 10 muško-muških žica- 6 muških- ženske žice- Pristup 3D štampač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 nabaviti 6 žica (muški na ženski) za LCD ekran i priključite ih u drugu Arduino jedinicu kao što je prikazano na dijagramu kola. Zatim postavite LDR kao što 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 na 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 stepenasti- 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 putanje kroz ugniježđene IF naredbe u smislu zavjese koja se podiž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" za A0 pin#include// Uključuje kod koračnog motora

constintstepsPerRevolution = 200; // Kada 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 svjetlosti:"); Serial.println (lightlevel); // Štampa vrijednost "lightlevel" s natpisom iznad

/* Sada postoji petlja koja detektuje nivo svetlosti u svakoj tački puta* Dostupne su 3 opcije, idite gore, dole, ostanite u istom položaju* Dizajnirano je tako da, ako nivo svetlosti ostane isti, Ostanite isti, ako ne, promijenit će se * tj. ako je 950, onda ide na 952, ništa se neće dogoditi, međutim ako bi prešao s 950 na 600, povuklo bi zavjesu 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 vrši 3 okretaja prema naprijed. Ako je negativan, ide unatrag zaostajanje (30000); // ostavlja ga tamo 5 minuta intlightlevel = analogRead (LDR); // Definira varijablu "lightlevel" kao najnovije očitanje iz LDRSerial.print ("Razina svjetlosti:"); // Štampa tekst ispred varijable Serial.println (lightlevel) // Štampa vrijednost nivoa svjetlosti

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

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); kašnjenje (500); intlightlevel = analogRead (LDR); Serial.print ("Nivo svjetlosti:"); 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); kašnjenje (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 (lagani nivo);}

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); kašnjenje (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

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

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); kašnjenje (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); 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 Light:"); Serial.println (lagani nivo);}

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

}}

}

}

Korak 4: Opcionalno: LCD ekran

Ovo bi na LCD ekranu odštampalo nivo svjetlosti koji je otkrio LDR.

#include

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

    LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // inicijalizira biblioteku brojevima pinova sučelja

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

    }

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

    }

    Korak 5: Štampani dijelovi

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

    Ako će se koristiti 3D štampani 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 držača mogu se ukloniti i ako se montiraju na zid. Dodani su samo kako bi izdržao dok smo testirali s njim.

    Korak 6: Postavljanje

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

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

    Vaša ploča bi sada trebala izgledati kao ova na slici gore.

    Čestitamo!

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

    Završio si. Uživajte u novoj kreaciji.

Preporučuje se: