Мазмұны:

Жарық сенсоры (фоторезистор) Tinkercad -тегі Arduino -мен: 5 қадам (суреттермен)
Жарық сенсоры (фоторезистор) Tinkercad -тегі Arduino -мен: 5 қадам (суреттермен)

Бейне: Жарық сенсоры (фоторезистор) Tinkercad -тегі Arduino -мен: 5 қадам (суреттермен)

Бейне: Жарық сенсоры (фоторезистор) Tinkercad -тегі Arduino -мен: 5 қадам (суреттермен)
Бейне: Smart Street Lights: How to Automate Your Neighborhood! | Tinkercad | 60 second Design Prep 2024, Қараша
Anonim
Жарық сенсоры (фоторезистор) Tinkercad -те Arduino көмегімен
Жарық сенсоры (фоторезистор) Tinkercad -те Arduino көмегімен

Tinkercad жобалары »

Келіңіздер, Arduino Analog Input көмегімен фоторезисторды, жарыққа сезімтал айнымалы резистордың түрін оқуды үйренейік. Оны LDR (жарыққа тәуелді резистор) деп те атайды.

Сіз осы уақытқа дейін светодиоды Arduino аналогтық шығысымен басқаруды және айнымалы резистордың басқа түрі болып табылатын потенциометрді оқуды үйрендіңіз, сондықтан біз бұл дағдыларды осы сабақта дамытамыз. Есіңізде болсын, Arduino аналогты кірістері (түйреуіштер A0-A6) біртіндеп өзгеретін электр сигналын анықтай алады және бұл сигналды 0 мен 1023 аралығындағы санға аударады.

Кескін
Кескін

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

Бұл сабақта сіз осы модельдендірілген схеманы үлгі бойынша өзіңіз жасайсыз. Физикалық тізбекті қалауыңыз бойынша Arduino Uno тақтасын, USB кабелін, дәнекерленбеген тақтаны, светодиодты, резисторларды (220 Ом және 4.7к Ом), фоторезисторды және нан тақтасының сымдарын жинаңыз.

Сіз Tinkercad схемаларын қолдана аласыз. Сіз бұл сабақты Tinkercad ішінен қарай аласыз (ақысыз кіру қажет)! Үлгі тізбегін зерттеп, оның қасына өзіңіз жасаңыз. Tinkercad Circuits-бұл тізбектерді құруға және модельдеуге мүмкіндік беретін браузерге негізделген ақысыз бағдарлама. Бұл үйренуге, үйретуге және прототиптеуге өте ыңғайлы.

1 -қадам: Схеманы құрыңыз

Циклды құрыңыз
Циклды құрыңыз
Циклды құрыңыз
Циклды құрыңыз

Суреттегі нан тақтасының схемасын қараңыз. Суреттегі салыстыру үшін осы үлгі схемасының тегін сымды нұсқасын қарау пайдалы болуы мүмкін. Бұл қадамда сіз жұмыс схемасындағы үлгі бойынша осы схеманың жеке нұсқасын құрасыз.

Жалғастыру үшін жаңа Tinkercad Circuits терезесін жүктеңіз және осы тізбектің үлгісін өзіңіз құрыңыз.

Tinkercad Circuits жұмыс жоспарындағы Arduino -ға қосылған фоторезисторды, жарық диодты, резисторларды және сымдарды анықтаңыз.

Arduino Uno мен нан тақтасын компоненттер тақтасынан жұмыс схемасына дейін бар схеманың жанына сүйреңіз.

Сымды жасау үшін басу арқылы нан тақтасының қуатын (+) және жердегі (-) рельстерді сәйкесінше Arduino 5V және жерге (GND) қосыңыз.

Нан тақтасының қарама -қарсы шетіндегі тиісті автобустарға электр және жер рельстерін кеңейтіңіз (бұл схема үшін міндетті емес, бірақ жақсы тәжірибе).

Жарық диодты екі түрлі тақтаның қатарына қосыңыз, осылайша катод (теріс, қысқа аяғы) резистордың бір аяғына қосылады (100-1К Ом-нан кез келген жерде жақсы). Резистор екі бағытта да жүре алады, себебі резисторлар жарықдиодты шамалардан айырмашылығы поляризацияланбаған.

Басқа резисторлық аяқты жерге қосыңыз.

Жарық диодты анодты (оң, ұзын аяқ) Arduino түйрегіш 9 -ге қосыңыз.

Фоторезисторды компоненттер панелінен тақтаға сүйреп апарыңыз, осылайша оның аяқтары екі түрлі қатарға қосылады.

Фоторезистордың бір аяғын қуат көзіне қосатын сым жасау үшін басыңыз.

Екінші аяқты Arduino аналогтық A0 түйреуішіне қосыңыз.

А0 -ға қосылған фоторезистордың аяғын жерге қосу үшін компоненттер тақтасынан резисторды сүйреп апарыңыз және оның мәнін 4,7к Ом -ға реттеңіз.

2 -қадам: Блоктары бар код

Блоктармен код
Блоктармен код

Фоторезистордың күйін тыңдау үшін код блоктары редакторын қолданып көрейік, содан кейін сенсор қанша жарық көретініне байланысты жарық диодты салыстырмалы жарықтыққа орнатамыз. Fading LED сабағында жарықдиодты аналогты шығыс жадын жаңартқыңыз келуі мүмкін.

Код редакторын ашу үшін «Код» түймесін басыңыз. Сұр белгілер блоктары - бұл сіздің кодыңызға не істегіңіз келетінін жазып алуға арналған түсініктеме, бірақ бұл мәтін бағдарлама бөлігі ретінде орындалмайды.

Код редакторында айнымалылар санатын нұқыңыз.

Фоторезистордың кедергі мәнін сақтау үшін «sensorValue» деп аталатын айнымалы құрыңыз.

«Орнатылған» блокты шығарыңыз. Біз фоторезистордың күйін айнымалы мәнде сақтаймыз

sensorValue

Енгізу санатын нұқыңыз және «аналогты оқу түйреуіші» блогын сүйреп апарып, «to» сөзінен кейін оны «орнату» блогына қойыңыз.

Біздің потенциометріміз A0 түйреуішінде Arduino -ға қосылғандықтан, ашылмалы мәзірді A0 -ге өзгертіңіз.

Шығару санатын нұқыңыз және «сериялық мониторға басып шығару» блогын шығарыңыз.

Айнымалылар санатына өтіңіз және sensorValue айнымалы мәнін «сериялық мониторға басып шығару» блогына апарыңыз және ашылмалы тізім жаңа жолмен басып шығарылатын етіп орнатылғанын тексеріңіз. Қажет болса, модельдеуді бастаңыз және датчикті реттеген кезде көрсеткіштердің өзгеретінін тексеру үшін сериялық мониторды ашыңыз. Аналогты кіріс мәндері 0-1023 аралығында болады.

Біз светодиодқа 0 (сөндіру) мен 255 (толық жарықтылық) арасындағы санды жазғымыз келетіндіктен, біз үшін «карта» блогын пайдаланып, қайшылықты көбейту жасаймыз. Математика санатына өтіңіз және «карта» блогын шығарыңыз.

Бірінші ұяшықта sensorValue айнымалы блогын сүйреп апарыңыз, содан кейін диапазонды 0 -ден 255 -ке дейін орнатыңыз.

Шығу санатына қайта оралып, «түйреуішті бекіту» аналогтық блогын шығарыңыз, ол әдепкі бойынша «3 -істікті 0 -ге орнатыңыз» деп айтады. 9 -түйреуішті орнату үшін оны реттеңіз.

PWM көмегімен реттелген нөмірді жарықдиодты түйреуішке жазу үшін бұрын жасаған карта блогын «түйреуіш» блогының «дейін» өрісіне сүйреңіз.

Басқару санатын басып, күту блогын сүйреп апарып, бағдарламаны.1 секундқа кешіктіру үшін реттеңіз.

3 -қадам: Фоторезистор Arduino коды түсіндірілді

Код редакторы ашық болғанда, сіз сол жақтағы ашылмалы мәзірді шертіп, код блоктарымен жасалған Arduino кодын ашу үшін «Блоктар + Мәтін» таңдай аласыз. Кодты егжей -тегжейлі зерттеген кезде бізбен бірге жүріңіз.

int sensorValue = 0;

Алдында

орнату()

біз потенциометрден оқылған ағымдағы мәнді сақтау үшін айнымалы жасаймыз. Ол аталады

int

себебі бұл бүтін сан немесе кез келген бүтін сан.

жарамсыз орнату ()

{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }

Орнатудың ішінде түйреуіштер көмегімен конфигурацияланған

pinMode ()

функция. A0 түйреуіші кіріс ретінде конфигурацияланған, сондықтан біз потенциометрдің электрлік күйін «тыңдай» аламыз. Pin 9 жарықдиодты басқару үшін шығыс ретінде конфигурацияланған. Хабарлама жіберу үшін Arduino жаңа сериялық байланыс арнасын ашады

Serial.begin ()

ол жіберу жылдамдығының аргументін алады (байланыс жылдамдығы), бұл жағдайда секундына 9600 бит.

бос цикл ()

{// датчик sensValue = analogRead (A0) мәнін оқу; // сенсордың көрсеткішін басып шығарыңыз, осылайша сіз оның ауқымын білесіз Serial.println (sensorValue);

Қиғаш сызықтар жиынтығынан кейін бәрі

//

бұл түсініктеме, бұл адамдарға бағдарламаның не үшін арналғанын қарапайым тілде түсінуге көмектеседі, бірақ сіздің Arduino жұмыс істейтін бағдарламасына кірмейді. Негізгі циклде функция шақырылады

analogRead ();

A0 түйреуішінің күйін тексереді (ол 0-1023 аралығындағы бүтін сан болады) және айнымалы мәнді сақтайды

sensorValue

// сенсордың диодты диодты диапазонына салыстырыңыз

analogWrite (9, карта (sensorValue, 0, 1023, 0, 255)); кешіктіру (100); // 100 миллисекунд күтіңіз}

Келесі түсініктемедегі жол бірден көп нәрсені жасайды. Есіңізде болсын

analogWrite ()

екі аргумент қабылдайды, түйреуіш нөмірі (біздің жағдайда 9) және жазу мәні, ол 0 мен 255 аралығында болуы керек. Кірістірілген функция

карта ()

бес аргумент қабылдайды: бағалауға болатын сан (сенсордың үнемі өзгеріп отыратын мәні), күтілетін минимум мен күтілетін максимум, қалаған мин және максимум. Сонымен

карта ()

Біздің жағдайда бұл функция кіретін sensorValue-ді бағалайды және шығуды 0-1023-тен 0-255-ке дейін төмендету үшін көлденең көбейтуді жасайды. Нәтиже екінші аргументке қайтарылады

analogWrite ();

түйреуіш 9 -ға қосылған жарық диодты жарықтылықты орнату.

4 -қадам: физикалық Arduino схемасын құрыңыз (міндетті емес)

Физикалық Arduino схемасын құрыңыз (міндетті емес)
Физикалық Arduino схемасын құрыңыз (міндетті емес)

Arduino Uno физикалық бағдарламасын жасау үшін сізге ақысыз бағдарламалық жасақтаманы (немесе веб -редакторға арналған плагинді) орнату керек, содан кейін оны ашу қажет. Әр түрлі фотоэлементтердің мәндері әр түрлі, сондықтан егер сіздің физикалық схемаңыз жұмыс істемесе, онымен жұптастырылған резисторды өзгерту қажет болуы мүмкін. Резисторлар бойынша Instructables Electronics сабағындағы кернеу бөлгіштер туралы толығырақ біліңіз.

Tinkercad тізбектерінде көрсетілген қосылыстарға сәйкес келетін компоненттер мен сымдарды қосу арқылы Arduino Uno схемасын қосыңыз. Arduino Uno физикалық тақтасымен жұмыс жасаудың егжей-тегжейлі нұсқасын алу үшін Arduino тегін Instructables сыныбын қараңыз.

Tinkercad Circuits код терезесінен кодты көшіріп, Arduino бағдарламалық жасақтамасындағы бос нобайға қойыңыз немесе жүктеу түймесін басыңыз (төмен қараған көрсеткі) және ашыңыз

Сонымен қатар Arduino бағдарламалық жасақтамасынан File -> Examples -> 03. Analog -> AnalogInOutSerial тармағына өту арқылы табуға болады.

USB кабелін қосыңыз, бағдарламалық құралдың Құралдар мәзірінен тақта мен портты таңдаңыз.

Кодты жүктеңіз және сенсорға жарық түспейтін сенсорды жабу үшін қолыңызды қолданыңыз!

Сенсорлық мәндерді бақылау үшін сериялық мониторды ашыңыз. Нағыз әлемдік құндылықтар сіздің жарық жағдайыңызға байланысты 0 -ге дейін немесе 1023 -ке дейін созылмайтын шығар. Жарық диодты жарықтылықтың максималды диапазонына жету үшін 0-1023 диапазонын байқалған минимумға және бақыланатын максимумға реттеуге болады.

5 -қадам: Әрі қарай, көріңіз …

Енді сіз фоторезисторды оқуды үйрендіңіз және жарық диодты жарықтандыруды бақылау үшін оның шығысын картадан білдіңіз, сіз осы уақытқа дейін үйренген дағдыларды қолдануға дайынсыз.

Светодиодты серво қозғалтқышы сияқты шығудың басқа түріне ауыстыра аласыз ба және сенсордың ағымдағы жарық деңгейін өлшеуіш бойындағы белгілі бір позиция ретінде көрсететін код жасай аласыз ба?

Фоторезисторды ультрадыбыстық қашықтық сенсоры немесе потенциометр сияқты басқа аналогтық кірістерге ауыстырып көріңіз.

Serial Monitor көмегімен компьютер арқылы Arduino сандық және аналогтық кірістерін бақылау әдісі туралы көбірек біліңіз.

Ұсынылған: