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

Լույսի ցուցիչ (ֆոտոռեպորտաժ) Arduino- ի հետ Tinkercad- ում. 5 քայլ (նկարներով)
Լույսի ցուցիչ (ֆոտոռեպորտաժ) Arduino- ի հետ Tinkercad- ում. 5 քայլ (նկարներով)

Video: Լույսի ցուցիչ (ֆոտոռեպորտաժ) Arduino- ի հետ Tinkercad- ում. 5 քայլ (նկարներով)

Video: Լույսի ցուցիչ (ֆոտոռեպորտաժ) Arduino- ի հետ Tinkercad- ում. 5 քայլ (նկարներով)
Video: Լույսի բեկումը ջրում | 9-րդ և 12-րդ դասարան․ ֆիզիկա | «Քան» ակադեմիա 2024, Հուլիսի
Anonim
Լույսի ցուցիչ (ֆոտոռեզիստոր) Arduino- ի հետ Tinkercad- ում
Լույսի ցուցիչ (ֆոտոռեզիստոր) Arduino- ի հետ Tinkercad- ում

Tinkercad նախագծեր »

Եկեք սովորենք, թե ինչպես կարդալ ֆոտոռեզիստորը `փոփոխական դիմադրության լուսազգայուն տիպը` օգտագործելով Arduino- ի անալոգային մուտքը: Այն կոչվում է նաև LDR (լույսից կախված դիմադրություն):

Մինչ այժմ դուք արդեն սովորել եք վերահսկել LED- ները Arduino- ի անալոգային ելքով և կարդալ պոտենցիոմետր, որը փոփոխական դիմադրության մեկ այլ տեսակ է, ուստի այս դասում մենք կկառուցենք այդ հմտությունները: Հիշեք, որ Arduino- ի անալոգային մուտքերը (A0-A6 նշագծով կապում) կարող են հայտնաբերել աստիճանաբար փոփոխվող էլեկտրական ազդանշան և այդ ազդանշանը թարգմանում է 0-ից 1023-ի միջև ընկած թվին:

Պատկեր
Պատկեր

Ուսումնասիրեք այստեղ աշխատանքային պլանում տեղադրված նմուշի սխեման `կտտացնելով Սկսեք մոդելավորում և կտտացնելով ֆոտոընդդիմադիրին (դարչնագույն օվալաձև գծիկավոր գծով դեպի ներքև), այնուհետև քաշեք պայծառության սահիկը` մոդելավորվող լույսի մուտքը կարգավորելու համար:

Այս դասում դուք ինքներդ կկառուցեք այս մոդելավորված միացումը նմուշի կողքին: Ֆիզիկական միացումն ըստ ցանկության կառուցելու համար հավաքեք ձեր Arduino Uno տախտակը, USB մալուխը, առանց զոդման տախտակ, LED, դիմադրիչներ (220 օմ և 4.7 կահմ), ֆոտոընդդիմադիր և տախտակի լարերը:

Դուք կարող եք գործնականում հետևել ՝ օգտագործելով Tinkercad Circuits- ը: Դուք նույնիսկ կարող եք դիտել այս դասը Tinkercad- ի ներսից (պարտադիր է անվճար մուտք): Ուսումնասիրեք նմուշի սխեման և կառուցեք ձեր սեփականը հենց դրա կողքին: Tinkercad Circuits- ը բրաուզերի վրա հիմնված անվճար ծրագիր է, որը թույլ է տալիս կառուցել և մոդելավորել սխեմաներ: Այն կատարյալ է սովորելու, ուսուցանելու և նախատիպեր պատրաստելու համար:

Քայլ 1: Կառուցեք շրջանը

Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը

Նայեք նկարում պատկերված տախտակի միացումին: Օգտակար կլինի դիտել այս նմուշի սխեմայի ազատ լարային տարբերակը `համեմատության համար, նկարում: Այս քայլում դուք կկառուցեք այս սխեմայի ձեր սեփական տարբերակը `աշխատավայրի նմուշի կողքին:

Հետևելու համար բեռնեք Tinkercad Circuits- ի նոր պատուհան և կառուցեք այս սխեմայի ձեր սեփական տարբերակը նմուշի կողքին:

Նշեք Arduino- ին միացված ֆոտոռեզիստորը, լուսադիոդային դիմադրիչները և լարերը Tinkercad Circuits աշխատանքային հարթակում:

Քաշեք Arduino Uno- ն և տախտակը բաղադրիչների վահանակից դեպի աշխատանքային հարթակ ՝ գոյություն ունեցող սխեմայի կողքին:

Միացրեք հացահատիկի հոսանքի (+) և գրունտային (-) ռելսերը համապատասխանաբար Arduino 5V և գետնին (GND) `սեղմելով լարեր ստեղծելու համար:

Երկարացրեք հոսանքի և գրունտային ռելսերը իրենց համապատասխան ավտոբուսների վրա `տախտակի հակառակ եզրին (ըստ ցանկության այս շրջանի համար, բայց սովորական սովորական պրակտիկա):

Միացրեք LED- ը երկու տարբեր տախտակների մեջ, որպեսզի կաթոդը (բացասական, ավելի կարճ ոտքը) միանա ռեզիստորի մեկ ոտքին (100-1K Օմ-ից լավ է): Ռեզիստորը կարող է գնալ երկու ուղղություններով, քանի որ ռեզիստորները բևեռացված չեն, ի տարբերություն LED- ների, որոնք գործելու համար պետք է միացված լինեն որոշակի եղանակով:

Միացրեք այլ դիմադրության ոտքը գետնին:

Միացրեք LED անոդը (դրական, ավելի երկար ոտք) Arduino կապին 9:

Քաշեք ֆոտոընդդիմադիրը բաղադրիչների վահանակից դեպի ձեր տախտակ, որպեսզի նրա ոտքերը միացվեն երկու տարբեր տողերի:

Կտտացրեք ՝ մեկ ֆոտոընդդիմադիր ոտքը հոսանքին միացնող մետաղալար ստեղծելու համար:

Մյուս ոտքը միացրեք Arduino անալոգային A0 կապին:

Քաշեք դիմադրիչը բաղադրիչների վահանակից `A0- ին միացված ֆոտոռեզիստորի ոտքը գետնին միացնելու համար և դրա արժեքը կարգավորեք 4,7k ohms- ով:

Քայլ 2: Կոդ բլոկներով

Բլոկներով ծածկագիր
Բլոկներով ծածկագիր

Եկեք օգտագործենք ծածկագրերի բլոկի խմբագիրը `լսելու ֆոտոընդդիմադրիչի վիճակը, այնուհետև լուսադիոդ սահմանեք հարաբերական պայծառության վրա` հիմնվելով սենսորի տեսած լուսավորության վրա: Գուցե ցանկանաք թարմացնել LED- ի անալոգային ելքի ձեր հիշողությունը Fading LED դասում:

Կոդի խմբագրիչը բացելու համար կտտացրեք «Կոդ» կոճակին: Մոխրագույն նշագրման բլոկները մեկնաբանություններ են `նշելու, թե ինչ եք մտադիր անել ձեր ծածկագրի համար, բայց այս տեքստը չի կատարվում որպես ծրագրի մաս:

Կոդի խմբագրիչում կտտացրեք Variables կատեգորիայի վրա:

Ֆոտոռեզիստորի դիմադրության արժեքը պահելու համար ստեղծեք «sensorValue» անունով փոփոխական:

Քաշեք դուրս «սահմանված» բլոկը: Մենք կպահենք փոփոխականի մեջ մեր ֆոտոընդդիմադիրի վիճակը

sensorValue

Կտտացրեք Մուտքագրման կատեգորիայի վրա և դուրս հանեք «անալոգային ընթերցման քորոց» բլոկը և տեղադրեք «սահմանված» բլոկի մեջ «դեպի» բառից հետո

Քանի որ մեր պոտենցիոմետրը միացված է Arduino- ին A0 փինով, բացվող պատուհանը փոխեք A0- ի:

Կտտացրեք Ելքի կատեգորիա և քաշեք «տպել սերիական մոնիտորին» բլոկը:

Անցեք «Փոփոխականներ» կատեգորիա և քաշեք ձեր փոփոխական sensorValue- ը «տպել սերիական մոնիտոր» բլոկի վրա և համոզվեք, որ բացվող պատուհանը նոր տողով տպելու համար է: Oանկության դեպքում սկսեք մոդելավորումը և բացեք սերիական մոնիտորը `ստուգելու համար, թե երբ են սենսորը կարգավորվում: Անալոգային մուտքային արժեքները տատանվում են 0-1023-ի սահմաններում:

Քանի որ մենք ցանկանում ենք LED- ին գրել 0 (անջատված) և 255 (լրիվ պայծառություն) թվերով, մենք կօգտագործենք «քարտեզ» բլոկը ՝ մեզ համար խաչաձեւ բազմապատկում կատարելու համար: Անցեք Մաթեմատիկայի կատեգորիա և քաշեք «քարտեզ» բլոկը:

Առաջին բնիկում քաշեք sensorValue փոփոխական բլոկը, այնուհետև սահմանեք միջակայքը 0 -ից 255 -ի սահմաններում:

Վերադառնալով Ելքի կատեգորիա, դուրս քաշեք անալոգային «սահմանել քորոց» բլոկը, որը լռելյայն ասում է «սահմանել կապը 3 -ից 0 -ը»: Կարգավորեք այն 9 -րդ կապում տեղադրելու համար:

Քաշեք ավելի վաղ պատրաստած քարտեզի բլոկը «սահմանել կապում» բլոկի «դեպի» դաշտ ՝ PWM- ի միջոցով ճշգրտված թիվը LED փինին գրելու համար:

Կտտացրեք «Վերահսկիչ» կատեգորիա և քաշեք սպասման բլոկը և կարգավորեք այն `ծրագիրը հետաձգելու համար: 1 վայրկյան:

Քայլ 3. Լուսանկարի դիմացկուն Arduino ծածկագիրը բացատրված է

Երբ կոդերի խմբագիրը բաց է, կարող եք սեղմել ձախ կողմում գտնվող բացվող ընտրացանկի վրա և ընտրել «Արգելափակումներ + տեքստ» ՝ կոդային բլոկների կողմից ստեղծված Arduino ծածկագիրը բացահայտելու համար: Հետևեք, երբ մենք ավելի մանրամասն ուսումնասիրենք ծածկագիրը:

int sensorValue = 0;

Նախքան

կարգավորում ()

մենք ստեղծում ենք փոփոխական ՝ պոտենցիոմետրից ընթերցված ընթացիկ արժեքը պահելու համար: Դա կոչվում է

ներ

քանի որ դա ամբողջ թիվ է, կամ որևէ ամբողջ թիվ:

դատարկ կարգավորում ()

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

Կարգավորման ներսում կապերը կազմաձևված են ՝ օգտագործելով

pinMode ()

գործառույթը: Pin A0- ը կազմաձևված է որպես մուտքագրում, այնպես որ մենք կարող ենք «լսել» պոտենցիոմետրի էլեկտրական վիճակը: Pin 9 -ը կազմաձևված է որպես ելք ՝ LED- ը վերահսկելու համար: Որպեսզի կարողանաք հաղորդագրություններ ուղարկել, Arduino- ն բացում է սերիական հաղորդակցության նոր ալիք

Serial.begin ()

որը վերցնում է baud փոխարժեքի փաստարկը (հաղորդակցման ինչ արագություն), այս դեպքում 9600 բիթ / վրկ:

դատարկ շրջան ()

{// կարդալ արժեքը տվիչի sensorValue = analogRead (A0); // տպեք ցուցիչի ընթերցումը, որպեսզի իմանաք դրա միջակայքը Serial.println (sensorValue);

Thingանկացած բան մի շարք թեքություններից հետո

//

մեկնաբանություն է, որն օգնում է մարդկանց պարզ լեզվով հասկանալ, թե ինչ է նախատեսված անել ծրագիրը, բայց ներառված չէ ձեր Arduino- ի գործարկած ծրագրում: Հիմնական հանգույցում կոչվում է գործառույթ

analogRead ();

ստուգում է քորոց A0- ի վիճակը (որը կլինի 0-1023-ի ամբողջ թիվը) և պահում է այդ արժեքը փոփոխականի մեջ

sensorValue

// քարտեզ տվեք ցուցիչի ընթերցումը LED- ի համար

analogWrite (9, քարտեզ (sensorValue, 0, 1023, 0, 255)); ուշացում (100); // Սպասեք 100 միլիվայրկյան (եր)}

Հաջորդ մեկնաբանությանը հաջորդող տողը միանգամից շատ բան է անում: Հիշեք

analogWrite ()

վերցնում է երկու արգումենտ ՝ կապի համարը (մեր դեպքում 9) և գրելու արժեքը, որը պետք է լինի 0 -ից 255 -ի սահմաններում:

քարտեզ ()

վերցնում է հինգ փաստարկ. գնահատման համարը (անընդհատ փոփոխվող սենսորային փոփոխական), ակնկալվող նվազագույն և սպասվող առավելագույնը և ցանկալի min և max: Այսպիսով,

քարտեզ ()

Մեր դեպքում գործառույթը գնահատում է մուտքային sensorValue- ը և կատարում է խաչաձև բազմապատկում `արդյունքը 0-1023-ից 0-255-ով իջեցնելու համար: Արդյունքը վերադարձվում է երկրորդ փաստարկին

analogWrite ();

սահմանելով LED- ի պայծառությունը, որը միացված է 9 -րդ կապին:

Քայլ 4. Կառուցեք ֆիզիկական Arduino միացում (ըստ ցանկության)

Կառուցեք ֆիզիկական Arduino միացում (ըստ ցանկության)
Կառուցեք ֆիզիկական Arduino միացում (ըստ ցանկության)

Ձեր ֆիզիկական Arduino Uno- ն ծրագրավորելու համար ձեզ հարկավոր է տեղադրել անվճար ծրագրակազմ (կամ վեբ խմբագրի plugin), այնուհետև բացել այն: Տարբեր լուսաբջիջներն ունեն տարբեր արժեքներ, ուստի եթե ձեր ֆիզիկական միացումը չի աշխատում, գուցե անհրաժեշտ լինի փոխել դրա հետ զուգակցված դիմադրությունը: Լրացուցիչների մասին ավելին իմացեք Instructables Electronics Class ռեզիստորների դասին:

Լարացրեք Arduino Uno- ի միացումը `միացնելով բաղադրիչներն ու լարերը, որպեսզի համապատասխանեն այստեղ Tinkercad Circuits- ում ցուցադրված միացումներին: Ձեր ֆիզիկական Arduino Uno տախտակի հետ աշխատելու ավելի խորը ծանոթանալու համար այցելեք անվճար Instructables Arduino դասը:

Պատճենեք կոդը Tinkercad Circuits կոդի պատուհանից և տեղադրեք այն Arduino ծրագրաշարի դատարկ ուրվագծի մեջ, կամ կտտացրեք ներբեռնման կոճակին (ներքև ուղղված սլաք) և բացեք

արդյունքում ստացված ֆայլը օգտագործելով Arduino- ն: Այս օրինակը կարող եք գտնել նաև Arduino ծրագրաշարում ՝ անցնելով դեպի Ֆայլ -> Օրինակներ -> 03. Անալոգ -> AnalogInOutSerial:

Միացրեք ձեր USB մալուխը և ընտրեք ձեր տախտակը և նավահանգիստը ծրագրակազմի Գործիքների ցանկում:

Վերբեռնեք ծածկագիրը և ձեր ձեռքով ծածկեք սենսորը լույս ստանալուց և/կամ լույս տվեք ձեր տվիչի վրա:

Բացեք սերիական մոնիտորը `ձեր սենսորի արժեքները դիտելու համար: Հավանական է, որ իրական աշխարհի արժեքները չեն տարածվի մինչև 0 կամ մինչև 1023 ՝ կախված լուսավորության պայմաններից: Ազատորեն հարմարեցրեք 0-1023 տիրույթը ձեր դիտարկվող նվազագույնին և դիտարկված առավելագույնին `LED- ի առավելագույն պայծառության արտահայտման տիրույթը ստանալու համար:

Քայլ 5: Հաջորդը, փորձեք…

Այժմ, երբ սովորել եք կարդալ ֆոտոընդդիմադիր և դրա ելքը քարտեզագրել ՝ լուսադիոդի պայծառությունը վերահսկելու համար, պատրաստ եք կիրառել մինչ այժմ սովորած այդ և այլ հմտությունները:

Կարո՞ղ եք LED- ը փոխարինել մեկ այլ տեսակի ելքի համար, օրինակ ՝ servo շարժիչով, և ստեղծել ինչ -որ կոդ, որն արտացոլում է սենսորի ընթացիկ լույսի մակարդակը ՝ որպես որոշակի չափիչի երկայնքով որոշակի դիրքորոշում:

Փորձեք ձեր ֆոտոռեզիստորը փոխարինել այլ անալոգային միջոցների հետ, ինչպիսիք են ուլտրաձայնային հեռավորության սենսորը կամ պոտենցիոմետրը:

Իմացեք ավելին, թե ինչպես վերահսկել ձեր Arduino- ի թվային և անալոգային մուտքերը համակարգչի միջոցով ՝ օգտագործելով Սերիական մոնիտորը:

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