Мазмұны:

Жарықпен басқарылатын қадамдық қозғалтқыш + Қабырға кронштейні/стенд: 6 қадам
Жарықпен басқарылатын қадамдық қозғалтқыш + Қабырға кронштейні/стенд: 6 қадам

Бейне: Жарықпен басқарылатын қадамдық қозғалтқыш + Қабырға кронштейні/стенд: 6 қадам

Бейне: Жарықпен басқарылатын қадамдық қозғалтқыш + Қабырға кронштейні/стенд: 6 қадам
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Қараша
Anonim
Жарықпен басқарылатын қадамдық қозғалтқыш + Қабырға кронштейні/стенд
Жарықпен басқарылатын қадамдық қозғалтқыш + Қабырға кронштейні/стенд

Бұл стенд бөлмедегі жарық деңгейіне сәйкес перделерді автоматты түрде басқаруға арналған Arduino басқарылатын қадамдық қозғалтқышты орналастыру үшін қолданылады. Сондай -ақ, жарық деңгейін басып шығару үшін СКД экранын қосуға болады. 3D беріліс тек демонстрацияға арналған, перде сияқты практикалық қолдану үшін нақты құрал қажет болуы мүмкін, бірақ сіз ойлайтын кез келген басқа қосымша.

1 -қадам: ингредиенттер

Бұл жобаны бастау үшін сізге қажет;

- 2 Arduino чиптер жиынтығы- Arduino моторлы қалқаны аналық сымдар- 3D принтеріне қол жеткізу

2 -қадам: Arduino құрылысы

Arduino құрылысы
Arduino құрылысы

Алдымен мотор қалқанын Arduino түйреуіштерімен қатарға қойыңыз және олар бір қатарға қойылғаннан кейін оны мықтап орналастырыңыз. Содан кейін қадамдық қозғалтқыштың сымдарын қозғалтқыш қалқанының 8, 9, 10 және 11 түйреуіштеріне бекітіңіз, содан кейін D батареясын диаграммада көрсетілген ұяшықтарға жалғаңыз, содан кейін сіз 6 сымды (еркектен әйелге) алғыңыз келеді. СКД экраны мен оларды схемада көрсетілген басқа Arduino қондырғысына қосыңыз, содан кейін резистор теріс жолға қосылып, жоғарыда көрсетілгендей LDR орнатыңыз. A0 қосылымдары мен қарама -қарсы жаққа әр тақтаға 1 5В кіріс қосыңыз, сондықтан егер сіз 2 тақтаны қолдансаңыз, олардың әрқайсысында LDR -ге 5В және A0 түйреуіші болғанын қалайды.

Барлық сымдарды диаграммаға ұқсас етіп қосыңыз- LDR-ге 2 кіру- 2 LDR-ден шығыс және жерге қосылатын резистор- СКД-ге 8 сым, 1 5 В, 1 Жерге және 6 кіріс- 4 сым қадам- аккумуляторға 2 қосылым- Нан тақтайшасы қосылуы керек

3 -қадам: Arduino кодтау

Arduino кодталуда
Arduino кодталуда

LDR -ге негізделген беріліс қорабының күйін өзгертуге арналған код үлгісі

Бұл жобаға пердені автоматты түрде басқаруға мүмкіндік беретін код. Жоғарыдағы фотосуретте кірістірілген IF мәлімдемелері арқылы әр түрлі жолдар перденің жоғары, төмен немесе орнында қалу тұрғысынан түсіндіріледі. (пішімдеу мәселесі болғандықтан, суретті толық көру үшін оны басыңыз)

#defineLDRA0 // «LDR» айнымалысын A0 түйрегіне#қосу үшін анықтайды// 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); // Жоғарыдағы жазумен «жеңіл деңгей» мәнін басып шығарады

/* Қазір жарық деңгейін жолдың әр нүктесінде анықтайтын цикл бар* 3 опция бар, жоғары көтерілу, төмен түсу, сол күйде қалу* Ол жарық деңгейі өзгеріссіз қалатындай етіп жасалған. сол қалпында болыңыз, егер ол өзгермесе * яғни егер ол 950 болса, онда 952 -ге кетеді, ештеңе болмайды, алайда егер ол 950 -ден 600 -ге дейін көтерілсе, пердені жоғары көтеріп, керісінше болады * Әр қадам әріппен белгіленеді қадамның алдында тізбекті монитор арқылы оның қай жерде орналасқанын қадағалау үшін */

if (lightlevel> = 900) {Serial.println («A»); // loopmyStepper.step қай қадамда (3*stepsPerRevolution); // Қадам 3 алға айналуды жасайды. Егер ол теріс болса, ол артқа шегінеді (30000); // оны 5 минут ішінде қалдырады intlightlevel = analogRead (LDR); // «жарық деңгейін» LDRSerial.print («Жарық деңгейі:») соңғы оқылымы ретінде анықтайды; // Мәтінді Serial.println (lightlevel) айнымалысының алдында басып шығарады // Жарық деңгейінің мәнін басып шығарады

if (lightlevel> = 900) {Serial.println («B»); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (жеңіл деңгей);

if (lightlevel> = 900) {Serial.println («C»); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (жеңіл деңгей);}

else {Serial.println («D»); myStepper.step (3*-stepsPerRevolution); кешіктіру (10000); intlightlevel = analogRead (LDR); Serial.print («Жарық деңгейі:»); Serial.println (жеңіл деңгей);}}

else {Serial.println («E»); myStepper.step (3*-stepsPerRevolution); кешіктіру (10000); intlightlevel = analogRead (LDR); Serial.print («Жарық деңгейі:»); Serial.println (жеңіл деңгей);

if (lightlevel> = 900) {Serial.println («F»); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (жеңіл деңгей);}

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); delay (10000); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (жеңіл деңгей);

if (lightlevel> = 900) {Serial.println («J»); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (жеңіл деңгей);}

else {Serial.println («K»); myStepper.step (3*-stepsPerRevolution); кешіктіру (10000); intlightlevel = analogRead (LDR); Serial.print («Жарық деңгейі:»); Serial.println (жеңіл деңгей);

}}

else {Serial.println («L»); myStepper.step (0); кешіктіру (10000); intlightlevel = analogRead (LDR); Serial.print («Жарық деңгейі:»); Serial.println (жеңіл деңгей);

if (lightlevel> = 900) {Serial.println («M»); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (жеңіл деңгей);}

else {Serial.println («N»); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print («Light Level:»); Serial.println (lightlevel);

}}

}

}

4 -қадам: Қосымша: СКД экраны

Бұл СКД экранында LDR анықтайтын жарық деңгейін басып шығарады.

#қосу

  • // Қосымша#анықтайтын сұйық кристалды кітапхананы қосады ldr A0 // A0 түйрегіне «ldr» айнымалысын анықтайды

    LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // интерфейстің түйреуіштерінің нөмірлерімен кітапхананы инициализациялау

    voidsetup () {// startlcd.begin (16, 2) ішінде бір рет жұмыс істейтін код; // СКД бағандары мен жолдарының санын сәйкесінше pinMode (ldr, INPUT) орнату; // ldr -ді кіріс pinSerial.begin (9600) ретінде анықтайды; // Сериялық монитормен байланысты бастайды

    }

    voidloop () {// үздіксіз қайталанатын кодSerial.println (analogRead (ldr)); // llr жинайтын оқуды басып шығарады (0-1023 арасындағы сан) monitorlcd.setCursor (6, 0) сериясында; // курсорды 6 -бағанға, 0lcd.print жолына орнатыңыз (analogRead (ldr)); // Бұл көрсеткішті СКД экранында басып шығарады (1000); // Келесі команданы бір секундқа кешіктіреді

    }

    5 -қадам: Басылған бөліктер

    Стенд пен механизмді басып шығару үшін келесі файлдарды пайдаланыңыз. Сіз редукторды өзіңіздің қажеттіліктеріңізге қарай баптай аласыз және оны қабырғаға немесе дисплейге бекіту үшін кронштейнді қолдана аласыз. 3D редукторы әлсіз болғандықтан, егер ол басқаратын пердеге сәйкес келсе, оны ауыстыруға болады.

    Егер 3D басып шығарылған беріліс құралын пайдаланатын болсақ, онда бұрандалы қозғалтқышқа бекітетін етіп тісті тістердің біреуі алынып тасталған.

    Қабырға кронштейнінің алдыңғы 2 аяғы қабырғаға бекітілетін болса, оны да алып тастауға болады. Олар тек тестілеу кезінде орнынан тұруы үшін ғана қосылды.

    6 -қадам: орналастыру

    Енді барлық бөлшектер дайын, соңғы орналастыруды бастау керек.

    Алдымен, қадамдық қозғалтқышты стендте берілген қорапқа салыңыз және редукторды оське қойыңыз Келесіде, сымдарды тіректің артына қарай жылжытыңыз Ақырында, ардуино мен батареяны тіректің артына қойыңыз.

    Сіздің тақтаңыз енді жоғарыдағы суреттегідей болуы керек.

    Құттықтаймын!

    Беріліс автоматтандырылған перделерге немесе LDR басқарғыңыз келетін кез келген басқа нәрсеге қолданылуы мүмкін.

    Сіз аяқталды. Жаңа туындыдан ләззат алыңыз.

Ұсынылған: