INHOUDSOPGAWE:

Ligte beheerde stapmotor + muurbeugel/staander: 6 stappe
Ligte beheerde stapmotor + muurbeugel/staander: 6 stappe

Video: Ligte beheerde stapmotor + muurbeugel/staander: 6 stappe

Video: Ligte beheerde stapmotor + muurbeugel/staander: 6 stappe
Video: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, Julie
Anonim
Ligte beheerde stapmotor + muurbeugel/staander
Ligte beheerde stapmotor + muurbeugel/staander

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

Bou van Arduino
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

Kodering Arduino
Kodering 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// Sluit die stepper motor kode 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: