Obsah:

Světlo řízený krokový motor + nástěnný držák/stojan: 6 kroků
Světlo řízený krokový motor + nástěnný držák/stojan: 6 kroků

Video: Světlo řízený krokový motor + nástěnný držák/stojan: 6 kroků

Video: Světlo řízený krokový motor + nástěnný držák/stojan: 6 kroků
Video: Foxalien Vasto Cnc with Linear Rails & Ballscrews - Build, Test & Review. 2024, Červenec
Anonim
Světlo řízený krokový motor + nástěnný držák/stojan
Světlo řízený krokový motor + nástěnný držák/stojan

Tento stojan slouží k umístění krokového motoru ovládaného Arduinem, určeného k automatickému ovládání závěsu podle úrovně světla v místnosti. Můžete také přidat LCD obrazovku pro tisk úrovně světla. 3D zařízení je pouze pro demonstraci, pro praktické použití, jako je opona, ale také jakákoli jiná aplikace, na kterou si vzpomenete, může být zapotřebí skutečný převod.

Krok 1: Ingredience

K zahájení tohoto projektu budete potřebovat;

- 2 čipové sady Arduino- stínění motoru Arduino- LCD obrazovka Arduino- 1 Breadboard- 1 bi-polární krokový motor- 1 D baterie- 1 odpor závislý na světle- 1 odpor 10k Ω- 10 kabelů male-male- 6 male- ženské vodiče- přístup k 3D tiskárně

Krok 2: Konstrukce Arduina

Stavba Arduina
Stavba Arduina

Nejprve seřaďte stínění motoru pomocí kolíků Arduino a až budou seřazené, pevně jej položte. Dále připojte vodiče krokového motoru k pinům 8, 9, 10 a 11 stínění motoru. Poté připojte baterii D do slotů, jak je znázorněno na obrázku. Dále budete chtít získat 6 vodičů (samec - samice) pro LCD obrazovku a zapojte je do druhé jednotky Arduino, jak je znázorněno na schématu zapojení. Poté nastavte LDR, jak je uvedeno výše, s odporem připojeným k zápornému řádku. Při přidávání LDR na straně s odporem přidejte připojení A0 a na opačné straně přidejte 1 5V vstup pro každou desku, kterou používáte, takže pokud používáte 2 desky, budete chtít, aby každá z nich měla pin LV a A0 směřující do LDR.

Připojte všechny vodiče tak, aby byly stejné jako na obrázku- 2 vstupy do LDR- 2 výstupy z LDR a odpor připojující k zemi- 8 vodičů k LCD, 1 5 V, 1 uzemnění a 6 vstupů- 4 vodiče připojující k krokový- 2 připojení k baterii- Zemnící deska by měla být připojena

Krok 3: Kódování Arduina

Kódování Arduina
Kódování Arduina

Zde je ukázkový kód pro změnu stavu zařízení na základě LDR

Toto je kód, který by projektu umožnil automaticky ovládat oponu. Výše uvedená fotografie vysvětluje různé cesty vnořenými příkazy IF, pokud jde o oponu stoupající, dolů nebo zůstávající tam, kde je. (kliknutím na obrázek jej zobrazíte celý, protože existují problémy s formátováním)

#defineLDRA0 // Definuje proměnnou "LDR" na A0 pin#include// Zahrnuje kód krokového motoru

constintstepsPerRevolution = 200; // Když je krokový motor aktivován, jeho plné otáčení se rovná 200 krokům

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Definuje vstup do stepperu jako piny 8, 9, 10, 11

voidsetup () {myStepper.setSpeed (60); // Nastavuje, jak rychle motor provede rotační pinMode (LDR, INPUT); // Definuje proměnnou "LDR" jako vstup Serial.begin (9600); // Zahájí sériové čtení }

voidloop () {intlightlevel = analogRead (LDR); // Definuje proměnnou "lightlevel" jako akci, která čte hodnotu "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Vytiskne hodnotu „úrovně světla“s nadpisem výše

/* Nyní existuje smyčka, která detekuje úroveň světla v každém bodě cesty* K dispozici jsou 3 možnosti, jít nahoru, jít dolů, zůstat ve stejné poloze* Je navržen tak, že pokud úroveň světla zůstane stejná, bude zůstaň stejný, pokud ne, změní se * tj. pokud je 950, pak přejde na 952, nic se nestane, ale pokud by šlo z 950 na 600, zatáhlo by to oponu nahoru a svěrák naopak * Každý krok je označen písmenem před schodem sledovat, kde je ve smyčce přes sériový monitor */

if (lightlevel> = 900) {Serial.println ("A"); // Který krok je ve smyčceStepper.step (3*krokyPerRevolution); // Krokovač provede 3 dopředné otáčky. Pokud je záporné, jde zpětně zpožděním (30 000); // Nechá to tam 5 minut intlightlevel = analogRead (LDR); // Definuje proměnnou „úroveň světla“jako nejnovější čtení z LDRSerial.print („Úroveň světla:“); // Vytiskne text před proměnnou Serial.println (úroveň světla) // Vytiskne hodnotu úrovně světla

if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň světla);

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň světla);}

else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); delay (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 (úroveň světla);}

else {Serial.println ("G"); myStepper.step (0); delay (10 000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

}

else {Serial.println ("H"); myStepper.step (0); delay (10 000); 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 (úroveň světla);

if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (úroveň světla);}

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

else {Serial.println ("L"); myStepper.step (0); delay (10 000); 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 (úroveň světla);}

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

}}

}

}

Krok 4: Volitelné: LCD obrazovka

To by vytisklo úroveň světla detekovanou LDR na LCD obrazovce.

#zahrnout

  • // Přidá knihovnu tekutých krystalů s dalším kódem#define ldr A0 // Definuje proměnnou "ldr" na pin A0

    LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // inicializace knihovny čísly pinů rozhraní

    voidsetup () {// kód, který se spustí jednou na startlcd.begin (16, 2); // nastavení počtu sloupců a řádků na LCD displeji pinMode (ldr, INPUT); // Definuje ldr jako vstupní pinSerial.begin (9600); // Zahájí komunikaci se sériovým monitorem

    }

    voidloop () {// kód, který se bude nepřetržitě opakovatSerial.println (analogRead (ldr)); // Vytiskne hodnotu načtenou ldr (číslo mezi 0-1023) na sériovém monitorlcd.setCursor (6, 0); // nastavte kurzor na sloupec 6, řádek 0lcd.print (analogRead (ldr)); // Vytiskne tento údaj na LCD screendelay (1000); // Zpoždění dalšího příkazu o jednu sekundu

    }

    Krok 5: Tištěné díly

    Pomocí následujících souborů vytiskněte stojan a zařízení. Zařízení si můžete přizpůsobit pro své vlastní účely a pomocí držáku jej můžete připevnit na zeď nebo jako displej. Protože je 3D zařízení slabé, lze jako náhradu použít skutečný rychlostní stupeň, pokud odpovídá oponě, kterou by ovládal.

    Pokud bude použito 3D vytištěné ozubené kolo, byl odstraněn jeden ze zubů ozubeného kola, aby jej stavěcí šroub mohl připevnit k motoru.

    Přední 2 nohy nástěnného držáku lze také sejmout, pokud by byly namontovány na zeď. Byly přidány pouze proto, aby obstály, když jsme s nimi testovali.

    Krok 6: Umístění

    Nyní, když jsou všechny díly připraveny, je čas zahájit konečné umístění.

    Nejprve umístěte krokový motor do dodané krabice na stojanu a nasaďte ozubené kolo na nápravu, poté přesuňte dráty tak, aby směřovaly za stojan, Nakonec umístěte arduino a baterii za stojan

    Vaše deska by nyní měla vypadat jako na obrázku výše.

    Gratulujeme!

    Zařízení lze použít pro automatické závěsy nebo jakoukoli jinou věc, kterou chcete ovládat pomocí LDR.

    Jsi hotov. Užijte si svůj nový výtvor.

Doporučuje: