INHOUDSOPGAWE:
- Stap 1: Bestanddele
- Stap 2: Bou van Arduino
- Stap 3: Kodering van Arduino
- Stap 4: Opsioneel: LCD -skerm
- Stap 5: Gedrukte onderdele
- Stap 6: Plasing
Video: Ligte beheerde stapmotor + muurbeugel/staander: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie staanplek word gebruik om 'n Arduino -beheerde stapmotor te huisves, wat ontwerp is om 'n gordyn outomaties te beheer volgens die ligvlak in die kamer. U kan ook 'n LCD -skerm byvoeg om die ligvlak te druk. Die 3D -rat is slegs vir demonstrasie; 'n regte toerusting kan nodig wees vir praktiese toepassing, soos die gordyn, maar ook enige ander toepassing waaraan u kan dink.
Stap 1: Bestanddele
Om hierdie projek te begin, benodig u;
- 2 Arduino-chip-stelle- 'n Arduino-motorskerm- 'n Arduino LCD-skerm- 1 broodbord- 1 tweepolige stappenmotor- 1 D-batterij- 1 Lichtafhanklike weerstand- 1 10k Ω weerstand- 10 mannetje-mannetjies- 6 mannetje- vroulike drade- Toegang tot 'n 3D-drukker
Stap 2: Bou van Arduino
Stel eers die motorskerm in lyn met die Arduino -penne, en plaas dit stewig as dit eers in lyn is. Bevestig dan die drade van die stapmotor in penne 8, 9, 10 en 11 van die motorskerm. Koppel daarna die D -battery in die gleuwe soos in die diagram getoon. Vervolgens wil u die 6 drade (manlik tot vroulik) vir die LCD -skerm en steek dit in die ander Arduino -eenheid, soos in die stroombaan -diagram getoon. die A0 -verbindings en aan die teenoorgestelde kant, voeg 1 5V -ingang by vir elke bord wat u gebruik, so as u 2 borde gebruik, wil u hê dat elkeen 'n 5V- en A0 -pen na die LDR moet hê.
Koppel alle drade sodat dit dieselfde is as die diagram- 2 ingange na die LDR- 2 uitsette van die LDR en 'n weerstand wat met grond verbind word- 8 drade na die LCD, 1 5V, 1 grond en 6 ingange- 4 drade wat aansluit by die stepper- 2 verbindings met die battery- Die broodbordgrond moet gekoppel word
Stap 3: Kodering van Arduino
Hier is 'n voorbeeldkode om die status van die rat op grond van die LDR te verander
Dit is die kode waarmee die projek outomaties 'n gordyn kan beheer. Die foto hierbo verduidelik die verskillende paaie deur die geneste IF -stellings in terme van die gordyn wat op, af of bly waar dit is. (klik op die prentjie om dit volledig te sien, want daar is formateringsprobleme)
#definieerLDRA0 // Definieer veranderlike "LDR" tot A0 -pen#sluit in
constintstepsPerRevolution = 200; // As die stapmotor geaktiveer word, is sy volle rotasie gelyk aan 200 trappe
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Definieer die invoer van die stepper as penne 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Stel in hoe vinnig die motor 'n rotasiepinMode (LDR, INPUT) doen; // Definieer die veranderlike "LDR" as 'n invoer Serial.begin (9600); // Begin 'n reekslesing }
voidloop () {intlightlevel = analogRead (LDR); // Definieer die veranderlike "lightlevel" as 'n aksie wat die waarde van "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel) lees; // Druk die waarde van "lightlevel" af met die byskrif hierbo
/* Daar is nou 'n lus wat die ligvlak op elke punt van die pad opspoor* 3 opsies is beskikbaar, gaan op, gaan af, bly in dieselfde posisie* Dit is so ontwerp dat as die ligvlak dieselfde bly, dit bly dieselfde, indien nie, sal dit verander * dws as dit 950 is, dan gaan dit na 952, niks sal gebeur nie, maar as dit van 950 tot 600 gaan, trek dit die gordyn omhoog en omgekeerd * Elke stap word aangedui deur 'n letter voor die stap om op te spoor waar dit in die lus is deur die seriële monitor */
if (lightlevel> = 900) {Serial.println ("A"); // Watter stap is dit in die loopmyStepper.step (3*stepsPerRevolution); // Die stepper maak 3 omwentelinge vorentoe. As dit negatief is, gaan dit agteruit (vertraag) (30000); // Laat dit vir 5 minute daar; // Druk die teks voor die veranderlike Serial.println (lightlevel) // Druk die waarde van die ligvlak af
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (ligvlak);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (ligvlak);}
anders {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); vertraging (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
anders {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); vertraging (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 (ligvlak);}
anders {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
}
anders {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 Level:"); Serial.println (ligvlak);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (ligvlak);}
anders {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); vertraging (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
anders {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 (ligvlak);}
anders {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
Stap 4: Opsioneel: LCD -skerm
Dit sal die ligvlak wat deur die LDR opgespoor word, op die LCD -skerm druk.
#insluit
-
// Voeg die vloeibare kristalbiblioteek by met bykomende kode#definieer ldr A0 // Definieer die veranderlike "ldr" na die A0 -pen
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // initialiseer die biblioteek met die nommers van die koppelvlakpenne
voidsetup () {// kode wat een keer loop by die startlcd.begin (16, 2); // stel die kolomme en reëls van die LCD onderskeidelik in pinMode (ldr, INPUT); // Definieer die ldr as 'n invoer pinSerial.begin (9600); // Begin kommunikasie met die seriële monitor
}
voidloop () {// kode wat voortdurend herhaal wordSerial.println (analogRead (ldr)); // Druk die lesing af wat die ldr optel ('n getal tussen 0-1023) op die seriële monitorlcd.setCursor (6, 0); // stel die wyser in kolom 6, reël 0lcd.print (analogRead (ldr)); // Druk hierdie lesing af op die LCD -skerm (1000); // Vertraag die volgende opdrag vir 'n sekonde
}
Stap 5: Gedrukte onderdele
Gebruik die volgende lêers om die staander en rat uit te druk. U kan die toerusting vir u eie doeleindes aanpas, en u kan die bracket gebruik om dit teen 'n muur of as 'n skerm te monteer. Aangesien die 3D -rat swak is, kan 'n regte rat as plaasvervanger daarvoor gebruik word, solank dit pas by die gordyn wat dit sou beheer.
As die 3D -gedrukte rat gebruik gaan word, is een van die tandheelkundige tande verwyder sodat 'n stelskroef dit aan die motor kan vasmaak.
Die voorste 2 bene van die muurbeugel kan ook verwyder word as dit teen 'n muur gemonteer word. Hulle is slegs bygevoeg, sodat dit sou opstaan terwyl ons daarmee toets.
Stap 6: Plasing
Noudat al die dele gereed is, is dit tyd om met die finale plasing te begin.
Plaas eerstens die stapmotor in die meegeleverde boks op die staander en plaas die rat op die as. Beweeg die drade sodat hulle agter die staander kan kom. Plaas uiteindelik die arduino en die battery agter die staander
Jou bord moet nou soos die op die foto hierbo lyk.
Baie geluk!
Die toerusting kan gebruik word vir outomatiese gordyne of enige ander ding wat u deur die LDR wil beheer.
Jy is klaar. Geniet u nuwe skepping.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies