Kazalo:
- Korak: Sestavine
- 2. korak: Gradnja Arduina
- 3. korak: Kodiranje Arduina
- 4. korak: Izbirno: LCD zaslon
- 5. korak: Natisnjeni deli
- 6. korak: Namestitev
Video: Koračni motor z lahkim krmiljenjem + stenski nosilec/stojalo: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
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
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
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 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); }} } } 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 } 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. 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.4. korak: Izbirno: LCD zaslon
5. korak: Natisnjeni deli
6. korak: Namestitev
Priporočena:
Arduino - Robot za reševanje labirinta (MicroMouse) Stenski robot: 6 korakov (s slikami)
Arduino | Robot za reševanje labirinta (MicroMouse) Wall Naslednji robot: Dobrodošli, jaz sem Isaac in to je moj prvi robot "Striker v1.0". Ta robot je bil zasnovan za reševanje preprostega labirinta. Na tekmovanju smo imeli dva labirinta in robota jih je lahko identificiral. Vse druge spremembe v labirintu lahko zahtevajo spremembo
Stenski plezalni robot: 9 korakov
Stenski plezalni robot: Stenski plezalni robot služi alternativnemu pregledu sten z uporabo mehanskih in električnih sistemov. Robot ponuja alternativo stroškom in nevarnostim najemanja ljudi za pregled sten na visokih višinah. Rop
Stenski nosilec za iPad kot nadzorno ploščo za avtomatizacijo doma, z uporabo servo krmiljenega magneta za aktiviranje zaslona: 4 koraki (s slikami)
Stenski nosilec za IPad Kot nadzorna plošča za avtomatizacijo doma, z uporabo servo krmiljenega magneta za aktiviranje zaslona: Zadnje čase sem kar nekaj časa avtomatiziral stvari v hiši in okoli nje. Domoticz uporabljam kot aplikacijo za avtomatizacijo doma, za podrobnosti glejte www.domoticz.com. Pri iskanju aplikacije na nadzorni plošči, ki prikazuje vse informacije o Domoticzu
LED stenski nosilec: 5 korakov
LED stenski prikazovalnik: V tem navodilu se bomo naučili, kako narediti stenski LED svetlobni zaslon primeren tako za priložnostno kot za profesionalno okolje. To sem hotel narediti, ker so LED diode zame nov koncept in jih pogosto spregledamo, vendar so lahko jed
Nosilec za stenski polnilnik: 8 korakov
Držalo za stenski polnilnik: kul način za ponovno uporabo koledarja in izdelavo držala za polnjenje mobilnega telefona. Traja 15 minut. pred televizorjem