Բովանդակություն:

Light Controlled Stepper Motor + Wall Bracket/Stand: 6 քայլ
Light Controlled Stepper Motor + Wall Bracket/Stand: 6 քայլ

Video: Light Controlled Stepper Motor + Wall Bracket/Stand: 6 քայլ

Video: Light Controlled Stepper Motor + Wall Bracket/Stand: 6 քայլ
Video: Տեղադրում Կոնդիցիոներ է էքսկավատոր Բեռնող Volvo bl71b, լրիվ դրույքով. Սեփական ձեռքերով. 2024, Հուլիսի
Anonim
Light Controlled Stepper Motor + Wall Bracket/Stand
Light Controlled Stepper Motor + Wall Bracket/Stand

Այս տակդիրն օգտագործվում է Arduino- ի միջոցով կառավարվող սլաքային շարժիչ տեղադրելու համար, որը նախատեսված է ինքնաբերաբար կառավարելու վարագույրը `ըստ սենյակի լուսավորության մակարդակի: Լույսի մակարդակը տպելու համար կարող եք նաև ավելացնել LCD էկրան: 3D հանդերձանքը միայն ցուցադրման համար է, իսկական հանդերձանքը կարող է անհրաժեշտ լինել գործնական կիրառման համար, ինչպիսին է վարագույրը, այլ նաև ցանկացած այլ ծրագիր, որի մասին կարող եք մտածել:

Քայլ 1: Բաղադրությունը

Այս նախագիծը սկսելու համար ձեզ հարկավոր է.

- 2 Arduino չիպային հավաքածու- Arduino շարժիչի վահան- Arduino LCD էկրան- 1 հատ տախտակ- 1 երկբևեռ Stepper Motor- 1 D մարտկոց- 1 թեթև կախյալ դիմադրիչ- 1 10k Ω Resistor- 10 Արական արական լարեր- 6 Արական- կանացի լարեր- մուտք դեպի 3D տպիչ

Քայլ 2. Arduino- ի կառուցում

Արդուինոյի կառուցում
Արդուինոյի կառուցում

Սկզբում շարեք շարժիչի վահանը Arduino- ի կապումներով և դրանք շարվելուց հետո ամուր տեղադրեք: Հաջորդը ամրացրեք շարժիչի լարերը շարժիչի վահանի 8, 9, 10 և 11 կապում: Դրանից հետո միացրեք D մարտկոցը slots- ում, ինչպես ցույց է տրված դիագրամում: Հաջորդը կցանկանաք ստանալ 6 լարերը (արականից իգական) LCD էկրանը և միացրեք դրանք Arduino- ի մյուս միավորին, ինչպես ցույց է տրված սխեմայում: Այնուհետև տեղադրեք LDR- ն, ինչպես ցույց է տրված վերևում, իսկ դիմադրիչը միանում է բացասական շարքին: LDR- ն ավելացնելիս, դիմադրության կողքին, ավելացրեք A0 միացումներին և հակառակ կողմում, յուրաքանչյուր օգտագործվող տախտակի համար ավելացրեք 1 5V մուտքագրում, այնպես որ, եթե օգտագործում եք 2 տախտակ, կցանկանաք, որ դրանցից յուրաքանչյուրը ունենա 5V և A0 կապում դեպի LDR:

Միացրեք բոլոր լարերը այնպես, որ այն նույնը լինի, ինչ դիագրամը. stepper- 2 միացում մարտկոցին- The breadboard ground- ը պետք է միացված լինի

Քայլ 3. Arduino- ի կոդավորումը

Կոդավորում Arduino
Կոդավորում Arduino

Ահա LDR- ի հիման վրա հանդերձանքի կարգավիճակը փոխելու մի քանի նմուշ

Սա այն ծածկագիրն է, որը թույլ կտա նախագծին ինքնաբերաբար կառավարել վարագույրը: Վերոնշյալ լուսանկարը բացատրում է տարբեր ուղիներ ՝ ներկառուցված IF հայտարարությունների միջով ՝ վարագույրի բարձրացման, վարման կամ տեղում մնալու առումով: (կտտացրեք պատկերի վրա ՝ այն ամբողջությամբ տեսնելու համար, քանի որ ձևավորման հետ կապված խնդիրներ կան)

#defineLDRA0 // Սահմանում է «LDR» փոփոխականը A0 pin#include- ում// Ներառում է stepper շարժիչի ծածկագիրը

constintstepsPerRevolution = 200; // Երբ քայլող շարժիչը միացված է, դրա ամբողջական պտույտը հավասար է 200 քայլի

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Ստեփերպերի մուտքը սահմանում է որպես 8, 9, 10, 11 կապում

voidsetup () {myStepper.setSpeed (60); // Սահմանում է, թե որքան արագ է շարժիչը կատարում պտտման ռեժիմ (LDR, INPUT); // սահմանում է «LDR» փոփոխականը որպես մուտքագրում Serial.begin (9600); // Սկսում է սերիական ընթերցում }

voidloop () {intlightlevel = analogRead (LDR); // սահմանում է «lightlevel» փոփոխականը որպես գործողություն, որը կարդում է «LDR» - ի արժեքը Serial.print («Light Level:»); Serial.println (lightlevel); // Տպում է «lightlevel» - ի արժեքը ՝ վերը նշված մակագրությամբ

/* Այժմ կա մի օղակ, որը լուսավորման մակարդակը հայտնաբերում է ճանապարհի յուրաքանչյուր կետում* առկա է 3 տարբերակ, բարձրանալ, իջնել, մնալ նույն դիրքում* Այն նախագծված է այնպես, որ եթե լուսարձակման մակարդակը մնա նույնը, այն մնա նույնը, եթե ոչ, այն կփոխվի * այսինքն, եթե այն լինի 950, ապա գնա 952 -ի, ոչինչ չի պատահի, այնուհանդերձ, եթե այն 950 -ից հասներ 600 -ի, այն կվերցներ վարագույրը և հակառակը * Յուրաքանչյուր քայլ նշվում է տառով քայլի դիմաց ՝ սերիական մոնիտորի միջոցով հետևելու համար, թե որտեղ է գտնվում հանգույցում */

if (lightlevel> = 900) {Serial.println ("A"); // Ո՞ր քայլն է այն loopmyStepper.step (3*stepsPerRevolution); // The stepper- ը կատարում է 3 առաջ պտույտ: Եթե բացասական է, հետ է գնում (30000); // Այն թողնում է այնտեղ 5 րոպե intlightlevel = analogRead (LDR); // սահմանում է փոփոխական «թեթև մակարդակը» որպես LDRSerial.print ("Light Level:") վերջին ընթերցում:; // Տպում է տեքստը փոփոխականի դիմաց Serial.println (lightlevel) // Տպում է լուսավորության մակարդակի արժեքը

if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (թեթև մակարդակ);

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); ուշացում (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (թեթև մակարդակ);}

else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); ուշացում (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (թեթև մակարդակ);}

else {Serial.println ("G"); myStepper.step (0); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

}

else {Serial.println ("H"); myStepper.step (0); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Սերիա.println (թեթև մակարդակ);

if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); ուշացում (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (թեթև մակարդակ);}

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

else {Serial.println ("L"); myStepper.step (0); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); ուշացում (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (թեթև մակարդակ);}

else {Serial.println ("N"); myStepper.step (0); ուշացում (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

}

}

Քայլ 4: Լրացուցիչ. LCD էկրան

Սա կտպագրի LDR- ի կողմից հայտնաբերված լույսի մակարդակը LCD էկրանին:

#ներառում

  • // Ավելացնում է հեղուկ բյուրեղների գրադարանը լրացուցիչ կոդով#define ldr A0 // A0 պինին սահմանում է «ldr» փոփոխականը

    LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // գրադարան նախաստորագրել ինտերֆեյսի կապերի համարներով

    voidsetup () {// կոդը, որն աշխատում է մեկ անգամ startlcd.begin- ում (16, 2); // կարգավորել LCD- ի սյունակների և տողերի համապատասխանաբարpinMode (ldr, INPUT); // Սահմանում է ldr- ը որպես մուտքագրման pinSerial.begin (9600); // Սկսում է հաղորդակցումը սերիական մոնիտորի հետ

    }

    voidloop () {// ծածկագիրը, որը շարունակաբար կկրկնվիSerial.println (analogRead (ldr)); // Տպում է ldr- ի ստացած ընթերցումը (մի շարք 0-1023-ի միջև) սերիական monitorlcd.setCursor- ում (6, 0); // կուրսորը սահմանել 6 -րդ սյունակի վրա, տող 0lcd.print (analogRead (ldr)); // Տպում է այս ընթերցումը LCD սանդղակի վրա (1000); // Հետաձգում է հաջորդ հրամանը մեկ վայրկյանով

    }

    Քայլ 5: Տպագիր մասեր

    Օգտագործեք հետևյալ ֆայլերը ՝ տրիբունան և հանդերձանքը տպելու համար: Դուք կարող եք հարմարեցնել հանդերձանքը ձեր սեփական նպատակների համար և կարող եք օգտագործել փակագիծը ՝ այն պատին կամ ցուցադրման համար ամրացնելու համար: Քանի որ 3D հանդերձանքը թույլ է, իսկական հանդերձանքը կարող է օգտագործվել որպես դրա փոխարինող, քանի դեռ այն համընկնում է այն վարագույրի հետ, որը նա կառավարելու էր:

    Եթե եռաչափ տպագրված հանդերձանքը օգտագործվելու է, հանդերձի ատամներից մեկը հանվել է, որպեսզի ամրացված պտուտակը կարողանա այն ամրացնել շարժիչին:

    Պատի փակագծի առջևի 2 ոտքերը նույնպես կարող են հեռացվել, եթե այն ամրացվեն պատին: Դրանք միայն ավելացվել են, որպեսզի այն ոտքի կանգնի, մինչ մենք դրա հետ փորձարկում էինք:

    Քայլ 6: Տեղադրում

    Այժմ, երբ բոլոր մասերը պատրաստ են, ժամանակն է սկսել վերջնական տեղադրումը:

    Նախ, սլաքի շարժիչը տեղադրեք տեղադրված տուփի մեջ և տեղադրեք հանդերձը առանցքի վրա: Հաջորդը, լարերը տեղափոխեք այնպես, որ նրանք գնան հետևի տակ: Վերջապես, տեղադրեք arduino- ն և մարտկոցը կանգառի հետևում

    Այժմ ձեր տախտակը պետք է նման լինի վերևում պատկերվածին:

    Շնորհավորում եմ:

    Հանդերձանքը կարող է օգտագործվել ավտոմատ վարագույրների կամ ցանկացած այլ բանի համար, որը ցանկանում եք վերահսկել LDR- ով:

    Դուք ավարտեցիք: Վայելեք ձեր նոր ստեղծագործությունը:

Խորհուրդ ենք տալիս: