Përmbajtje:
- Hapi 1: Përbërësit
- Hapi 2: Ndërtimi i Arduino
- Hapi 3: Kodimi i Arduino
- Hapi 4: Opsionale: Ekran LCD
- Hapi 5: Pjesët e Shtypura
- Hapi 6: Vendosja
Video: Stepper Motor i kontrolluar nga drita + Kllapa e murit/qëndrim: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
Ky stendë përdoret për të vendosur një motor stepper të kontrolluar nga Arduino, i krijuar për të kontrolluar automatikisht një perde sipas nivelit të dritës në dhomë. Ju gjithashtu mund të shtoni një ekran LCD për të printuar nivelin e dritës. Pajisja 3D është vetëm për demonstrim, një pajisje e vërtetë mund të jetë e nevojshme për aplikim praktik siç është perdja, por edhe çdo aplikacion tjetër që mund të mendoni.
Hapi 1: Përbërësit
Për të filluar këtë projekt do t'ju duhet;
- 2 çipa Arduino- Një mburojë motorike Arduino- Një ekran Arduino LCD- 1 tabelë me petë- 1 Stepper Motor bi-polar- 1 bateri D- 1 Rezistencë e varur nga drita- 1 Rezistencë 10k Ω- 10 Tela meshkuj-6 meshkuj- telat femra- Qasja në një printer 3D
Hapi 2: Ndërtimi i Arduino
Së pari rreshtoni mburojën e motorit me kunjat Arduino dhe pasi të jenë rreshtuar, vendoseni poshtë fort. Tjetra ngjitni telat e motorit stepper në kunjat 8, 9, 10 dhe 11 të mburojës së motorit. Pas kësaj lidhni baterinë D në lojëra elektronike siç tregohet në diagram. Tjetra ju do të dëshironi të merrni 6 telat (meshkuj në femra) për ekranin LCD dhe lidhini ato në njësinë tjetër Arduino siç tregohet në diagramin e qarkut. Pastaj vendosni LDR siç tregohet më sipër, me rezistencën që lidhet me rreshtin negativ. Kur shtoni LDR, në anën e rezistorit, shtoni lidhjet A0 dhe në anën e kundërt, shtoni 1 hyrje 5V për secilën tabelë që po përdorni, kështu që nëse përdorni 2 dërrasa, do të dëshironi që secila prej tyre të ketë një kunj 5V dhe A0 që shkon në LDR.
Lidhni të gjitha telat në mënyrë që të jetë e njëjtë me diagramin- 2 Hyrje në LDR- 2 Dalje nga LDR dhe një rezistencë që lidhet me tokën- 8 tela në LCD, 1 5V, 1 Ground dhe 6 hyrje- 4 tela që lidhen me stepper- 2 lidhje me baterinë- Toka e pllakës së bukës duhet të lidhet
Hapi 3: Kodimi i Arduino
Këtu është një kod mostër për të ndryshuar statusin e ingranazhit bazuar në LDR
Ky është kodi që do të lejonte që projekti të kontrollonte automatikisht një perde. Fotografia e mësipërme shpjegon rrugët e ndryshme përmes deklaratave të futura IF përsa i përket perdes që ngrihet, zbret ose qëndron aty ku është. (klikoni mbi imazhin për ta parë të plotë pasi ka probleme me formatimin)
#defineLDRA0 // Përcakton ndryshoren "LDR" në A0 pin#include
constintstepsPerRevolution = 200; // Kur motor stepper është aktivizuar, rrotullimi i tij i plotë është i barabartë me 200 hapa
SteppermyStepper (hapatPerRevolution, 8, 9, 10, 11); // Përcakton hyrjen në hapës si kunjat 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Vendos sa shpejt motori bën një rotacionpinMode (LDR, INPUT); // Përcakton variablin "LDR" si një hyrje Serial.begin (9600); // Fillon një lexim serik }
voidloop () {intlightlevel = analogRead (LDR); // Përcakton variablin "lightlevel" si një veprim që lexon vlerën e "LDR" Serial.print ("Niveli i Dritës:"); Serial.println (niveli i lehtë); // Shtyp vlerën e "lightlevel" me titullin e mësipërm
/* Tani ekziston një lak i cili zbulon nivelin e dritës në çdo pikë të rrugës* 3 opsione janë në dispozicion, ngjituni, zbritni, qëndroni në të njëjtin pozicion* isshtë projektuar në mënyrë që nëse niveli i dritës të mbetet i njëjtë, do të qëndroni të njëjtë, nëse jo do të ndryshojë * dmth nëse është 950, atëherë shkon në 952, asgjë nuk do të ndodhë, megjithatë nëse do të shkonte nga 950 në 600 do të tërhiqte perden lart dhe anasjelltas * Çdo hap nënkuptohet me një letër para hapit për të gjurmuar se ku është në lak përmes monitorit serik */
if (lightlevel> = 900) {Serial.println ("A"); // Cili hap është në loopmyStepper.step (3*hapaPerRevolution); // Hapi bën 3 rrotullime përpara. Nëse është negative, shkon prapa vonesa (30000); // E lë atje për 5 minuta intlightlevel = analogRead (LDR); // Përcakton variablin "lightlevel" si leximin më të fundit nga LDRSerial.print ("Niveli i dritës:"); // Shtyp tekstin para variablës Serial.println (lightlevel) // Shtyp vlerën e nivelit të dritës
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); vonesë (500); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);}
tjetër {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);}}
tjetër {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); vonesë (500); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);}
else {Serial.println ("G"); myStepper.step (0); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);}}
}
else {Serial.println ("H"); myStepper.step (0); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); vonesë (500); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);}
tjetër {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
}}
else {Serial.println ("L"); myStepper.step (0); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); vonesë (500); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);}
else {Serial.println ("N"); myStepper.step (0); vonesë (10000); intlightlevel = analogRead (LDR); Serial.print ("Niveli i dritës:"); Serial.println (niveli i lehtë);
}}
}
}
Hapi 4: Opsionale: Ekran LCD
Kjo do të printonte nivelin e dritës të zbuluar nga LDR në ekranin LCD.
#përfshi
-
// Shton bibliotekën e kristaleve të lëngëta me kod shtesë#define ldr A0 // Përcakton variablin "ldr" në kunjin A0
LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // inicializoni bibliotekën me numrat e kunjave të ndërfaqes
voidsetup () {// kodi që ekzekutohet një herë në startlcd.begin (16, 2); // vendos numrin e kolonave dhe linjave të LCD përkatësishtpinMode (ldr, INPUT); // Përcakton ldr si një input pinSerial.begin (9600); // Fillon komunikimin me monitorin serik
}
voidloop () {// kodi që do të përsëritet vazhdimishtSerial.println (analogRead (ldr)); // Shtyp leximin që merr ldr (një numër midis 0-1023) në serial monitorlcd.setCursor (6, 0); // vendosni kursorin në kolonën 6, rreshti 0lcd.print (analogRead (ldr)); // Shtyp këtë lexim në ekranin e ekranit LCD (1000); // Vonon komandën tjetër për një sekondë
}
Hapi 5: Pjesët e Shtypura
Përdorni skedarët e mëposhtëm për të printuar stendën dhe ingranazhet. Mund ta personalizoni ingranazhin për qëllimet tuaja dhe mund ta përdorni kllapën për ta montuar në mur ose si ekran. Meqenëse ingranazhi 3D është i dobët, një ingranazh i vërtetë mund të përdoret si zëvendësues i tij për sa kohë që përputhet me perden që do të kontrollonte.
Nëse do të përdoret ingranazhi i printuar 3D, një nga dhëmbët e ingranazhit është hequr në mënyrë që një vidë e vendosur ta fiksojë atë në motor.
2 këmbët e përparme të kllapës së murit gjithashtu mund të hiqen nëse do të montoheshin në një mur. Ato u shtuan vetëm që të ngrihej ndërsa ne po testonim me të.
Hapi 6: Vendosja
Tani që të gjitha pjesët janë gati, është koha për të filluar vendosjen përfundimtare.
Së pari, vendoseni motorin shkelës në kutinë e dhënë në stendë dhe vendosni ingranazhin në boshtTjetra, lëvizni telat në mënyrë që ata të shkojnë prapa stendës Së fundi, vendosni arduino dhe baterinë prapa stendës
Tabela juaj tani duhet të duket si ajo e paraqitur më lart.
Urime!
Pajisja mund të përdoret për perde të automatizuara ose ndonjë gjë tjetër që dëshironi të kontrollohet nga LDR.
Ju keni mbaruar. Shijoni krijimin tuaj të ri.
Recommended:
Si të krijoni një faqe të thjeshtë në internet duke përdorur kllapa për fillestarët: 14 hapa
Si të krijoni një faqe të thjeshtë në internet duke përdorur kllapa për fillestarët: HyrjeUdhëzimet e mëposhtme japin udhëzime hap pas hapi për të krijuar një faqe në internet duke përdorur kllapa. Kllapat është një redaktues i kodit burim me një fokus kryesor në zhvillimin e uebit. Krijuar nga Adobe Systems, është softuer falas dhe me burim të hapur i licencuar
Kllapa e montimit të trekëmbëshit ISight: 3 hapa
Kllapa e montimit të trekëmbëshit ISight: Unë gjithmonë e gjej veten duke regjistruar, mbështetur ose varur kamerët e mi të ndryshëm në internet ose kamerën time iSight nga librat, raftet ose kutitë në të gjithë shtëpinë- nëse jam duke bërë një projekt të kalimit të kohës ose duke vendosur një kamerë për mbikëqyrje video, kjo bëhet ab
Kllapa HDD 3.5”për 5.25” Drive Bay: 3 hapa
Kllapa HDD 3.5”për 5.25” Drive Bay: Shumica prej nesh kanë akoma CD/DVD-romë të vjetër për të cilët tashmë nuk keni nevojë, por ju vjen keq t’i hidhni jashtë. Kjo është e udhëzueshme se si t’i jepni jetën tuaj të dytë CD/DVD-romëve tuaj të vjetër