Mundarija:

Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor): 5 qadam (rasmlar bilan)
Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor): 5 qadam (rasmlar bilan)

Video: Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor): 5 qadam (rasmlar bilan)

Video: Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor): 5 qadam (rasmlar bilan)
Video: Arduino datchiklari va qurilmalari.| Infraqizil nur datchigi ,harakat datchigi 2024, Noyabr
Anonim
Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor)
Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor)

Tinkercad loyihalari »

Keling, Arduinoning Analog Kirish usuli yordamida o'zgaruvchan qarshilikning nurga sezgir turi bo'lgan fotorezistorni o'qishni o'rganamiz. U shuningdek LDR (nurga bog'liq qarshilik) deb ham ataladi.

Siz hozirgacha LEDlarni Arduino analog chiqishi bilan boshqarishni va o'zgaruvchan qarshilikning boshqa turi bo'lgan potansiometrni o'qishni o'rgandingiz, shuning uchun biz bu ko'nikmalarni ushbu darsda mustahkamlaymiz. Esda tutingki, Arduino analog kirishlar (A0-A6 bilan belgilangan pinlar) asta-sekin o'zgarib turadigan elektr signalini aniqlay oladi va bu signalni 0 dan 1023 gacha bo'lgan raqamga aylantiradi.

Rasm
Rasm

Simulyatsiyani boshlash va fotorezistorni bosish (o'rtasidan pastga chiziqli jigarrang tasvirlar) ustiga bosib, ish rejasiga o'rnatilgan namunaviy sxemani o'rganing, so'ng simulyatsiya qilingan yorug'lik kirishini sozlash uchun yorqinlik slayderini harakatlantiring.

Bu darsda siz o'zingiz simulyatsiya qilingan sxemani namunaning yonida qurasiz. Jismoniy zanjirni ixtiyoriy ravishda qurish uchun Arduino Uno kartasi, USB kabeli, lehimsiz non paneli, LED, rezistorlar (220 ohm va 4,7k ohm), fotorezistor va non simlarini yig'ing.

Siz amalda Tinkerkad sxemalarini ishlatishingiz mumkin. Siz hatto bu darsni Tinkercad -dan ko'rishingiz mumkin (bepul kirish kerak)! Namuna sxemasini o'rganing va uning yonida o'zingizning qurilmangizni yarating. Tinkercad Circuits-bu brauzerlarga asoslangan bepul dastur bo'lib, u sizga sxemalarni tuzish va simulyatsiya qilish imkonini beradi. Bu o'rganish, o'qitish va prototip yaratish uchun juda mos keladi.

1 -qadam: O'chirish sxemasini yarating

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Rasmdagi non paneli sxemasiga qarang. Rasmdagi taqqoslash uchun ushbu namunaviy sxemaning bepul simli versiyasini ko'rib chiqish foydali bo'lishi mumkin. Ushbu bosqichda siz ish sxemasidagi namuna yonida ushbu sxemaning o'z versiyasini yaratasiz.

Davom etish uchun yangi Tinkercad Circuits oynasini yuklang va namunaning yonida ushbu sxemaning o'z versiyasini yarating.

Tinkercad Circuits ishchi panelidagi Arduino -ga ulangan fotorezistor, LED, rezistorlar va simlarni aniqlang.

Arduino Uno va non panelini komponentlar panelidan mavjud sxemaning yonidagi ishchi panelga torting.

Simlarni yaratish uchun bosish orqali paneldagi quvvat (+) va er (-) relslarini mos ravishda Arduino 5V va erga (GND) ulang.

Quvvat va er osti relslarini tegishli taxtaning qarama -qarshi chetidagi avtobuslariga uzating (bu sxema uchun ixtiyoriy, lekin yaxshi odatiy amaliyot).

LEDni ikki xil taxtali qatorga ulang, shunda katod (manfiy, qisqaroq oyog'i) rezistorning bir oyog'iga ulanadi (100-1K ohmdan yaxshiroq joy). Rezistor har qanday yo'nalishda harakat qilishi mumkin, chunki rezistorlar LEDlarning farqli o'laroq qutblanmagan, ular ishlash uchun ma'lum tarzda ulangan bo'lishi kerak.

Boshqa qarshilik oyog'ini erga ulang.

LED anodini (musbat, uzunroq oyoqli) Arduino pin 9 ga ulang.

Fotorezistorni komponentlar panelidan non paneliga torting, shunda uning oyoqlari ikki xil qatorga ulanadi.

Bir fotorezistorli oyoqni quvvat bilan bog'laydigan simni yaratish uchun bosing.

Boshqa oyoqni Arduino analog pin A0 ga ulang.

A0 ga ulangan fotorezistor oyog'ini erga ulash uchun komponentlar panelidan rezistorni torting va uning qiymatini 4,7k ohmga sozlang.

2 -qadam: Bloklar bilan kod

Bloklar bilan kod
Bloklar bilan kod

Keling, fotorezistor holatini tinglash uchun kod bloklari tahrirlovchisidan foydalanamiz, so'ngra sensor qanchalik yorug'lik ko'rishiga qarab LEDni nisbiy yorqinlikka o'rnatamiz. Fading LED darsida siz LED analogli chiqish xotirasini yangilashingiz mumkin.

Kod muharririni ochish uchun "Kod" tugmasini bosing. Kulrang Notation bloklari - bu sizning kodingiz nima qilmoqchi ekanligingizni qayd etish uchun sharhlar, lekin bu matn dasturning bir qismi sifatida bajarilmaydi.

Kod muharririda O'zgaruvchilar toifasini bosing.

Fotorezistorning qarshilik qiymatini saqlash uchun "sensorValue" nomli o'zgaruvchini yarating.

"O'rnatish" blokini tortib oling. Biz fotorezistorimiz holatini o'zgaruvchida saqlaymiz

Sensor qiymati

"Kirish" toifasini bosing va "analog o'qish pin" blokini olib tashlang va "to" so'zidan keyin "to'siq" blokiga qo'ying.

Bizning potentsiometrimiz A0 pinidagi Arduino -ga ulanganligi sababli, ochiladigan ro'yxatni A0 ga o'zgartiring.

Chiqish toifasini bosing va "ketma -ket monitorga chop etish" blokini olib tashlang.

"O'zgaruvchilar" toifasiga o'ting va sensorValue o'zgaruvchisini "ketma -ket monitorga chop etish" blokiga torting va ochiladigan ro'yxat yangi qator bilan chop etishga sozlanganligiga ishonch hosil qiling. Ixtiyoriy ravishda simulyatsiyani ishga tushiring va sensorni sozlash paytida o'qishlar kelayotganini va o'zgarishini tekshirish uchun ketma -ket monitorni oching. Analog kirish qiymatlari 0-1023 oralig'ida.

Biz LEDga 0 (o'chirilgan) va 255 (to'liq yorqinlik) oralig'ida raqam yozishni xohlaganimiz uchun, biz "xarita" blokidan foydalanib, biz uchun bir-biridan o'zaro ko'paytirishni amalga oshiramiz. Matematika toifasiga o'ting va "xarita" blokini olib tashlang.

Birinchi uyada sensorValue o'zgaruvchan blokini torting, so'ngra diapazonni 0 dan 255 gacha o'rnating.

"Chiqish" toifasiga qaytib, analog "blokirovka pinini" sudrab olib tashlang, u sukut bo'yicha "3 -pinni 0 ga qo'ying" deb yozadi. 9 -pinni o'rnatish uchun sozlang.

O'zgartirilgan raqamni LED piniga PWM yordamida yozish uchun ilgari qilgan xarita blokini "o'rnatish pin" blokining "to" maydoniga torting.

Boshqarish toifasini bosing va kutish blokini sudrab olib, dasturni 1 soniya kechiktirish uchun sozlang.

3 -qadam: Fotoresistor Arduino kodi tushuntirilgan

Kod muharriri ochiq bo'lganda, siz chapdagi ochiladigan menyuni bosishingiz va "Bloklar + matn" ni tanlashingiz mumkin, bu kod bloklari tomonidan yaratilgan Arduino kodini ochib beradi. Kodni batafsil ko'rib chiqayotganimizda kuzatib boring.

int sensorValue = 0;

Oldin

sozlash()

biz potentsiometrdan o'qilgan joriy qiymatni saqlash uchun o'zgaruvchini yaratamiz. U deyiladi

int

chunki bu butun son yoki har qanday butun son.

bo'sh o'rnatish ()

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

O'rnatish ichida pinlar yordamida sozlangan

pinMode ()

funktsiya. Pin A0 kirish sifatida tuzilgan, shuning uchun biz potentsiometrning elektr holatini "tinglashimiz" mumkin. Pin 9 LEDni boshqarish uchun chiqish sifatida tuzilgan. Xabarlarni yuborish uchun Arduino yangi ketma -ket aloqa kanalini ochadi

Serial.begin ()

bu baud tezligi argumentini (aloqa tezligi) oladi, bu holda sekundiga 9600 bit.

bo'sh halqa ()

{// sensordan sensorning qiymatini o'qingValue = analogRead (A0); // sensor o'qilishini chop eting, shunda siz uning diapazonini bilasiz Serial.println (sensorValue);

Nishablar to'plamidan keyin hamma narsa

//

bu sharh bo'lib, u odamlarga dastur nima uchun mo'ljallanganligini oddiy tilda tushunishga yordam beradi, lekin Arduino ishlaydigan dasturga kiritilmagan. Asosiy tsiklda funktsiya chaqiriladi

analogRead ();

A0 pinining holatini tekshiradi (0-1023 gacha butun son bo'ladi) va bu qiymatni o'zgaruvchiga saqlaydi

Sensor qiymati

// datchik o'qilishini LED uchun diapazonga xaritaga joylashtiring

analogWrite (9, xarita (sensorValue, 0, 1023, 0, 255)); kechikish (100); // 100 millisekund kuting}

Keyingi izohdan keyingi qator birdaniga ko'p ishlarni bajaradi. Eslab qoling

analogWrite ()

ikkita argumentni oladi, pin raqami (bizning holatlarimizda 9) va yozish qiymati 0 dan 255 gacha bo'lishi kerak. Inline funktsiyasi

xarita ()

beshta argumentni oladi: baholash uchun raqam (o'zgaruvchan sensor o'zgaruvchisi), kutilgan minimal va kutilgan maksimal, kerakli min va max. Shunday qilib

xarita ()

bizning vazifamiz-bu sensorValue-ni baholash va chiqishni 0-1023 dan 0-255 gacha kamaytirish uchun o'zaro faoliyat ko'paytirish. Natijada ikkinchi argumentga qaytariladi

analogWrite ();

pin 9 ga ulangan LEDning yorqinligini sozlash.

4 -qadam: Arduino jismoniy sxemasini yarating (ixtiyoriy)

Jismoniy Arduino sxemasini yarating (ixtiyoriy)
Jismoniy Arduino sxemasini yarating (ixtiyoriy)

Jismoniy Arduino Uno -ni dasturlash uchun siz bepul dasturiy ta'minotni (yoki veb -muharriri uchun plaginni) o'rnatib, uni ochishingiz kerak bo'ladi. Har xil fotosellar har xil qiymatga ega, shuning uchun agar sizning jismoniy zanjiringiz ishlamasa, u bilan bog'langan rezistorni o'zgartirishingiz kerak bo'ladi. Rezistorlar bo'yicha Instructables Electronics darsida kuchlanishni ajratuvchilar haqida ko'proq bilib oling.

Bu erda Tinkercad davrlarida ko'rsatilgan ulanishlarga mos keladigan komponentlar va simlarni ulab, Arduino Uno sxemasini ulang. Arduino Uno-ning jismoniy taxtasi bilan ishlashni yanada chuqurroq o'rganish uchun bepul Instructables Arduino sinfini ko'rib chiqing.

Kodni Tinkercad Circuits kod oynasidan nusxa ko'chiring va Arduino dasturidagi bo'sh eskizga joylashtiring yoki yuklab olish tugmasini bosing (pastga qaragan o'q) va oching

natijada Arduino dasturidan faylni topishingiz mumkin. Fayl -> Misollar -> 03. Analog -> AnalogInOutSerial.

USB kabelingizni ulang va dasturiy ta'minot asboblari menyusidan kartani va portni tanlang.

Kodni yuklang va qo'lingiz bilan sensorni yorug'lik olishidan yashiring va/yoki sensoringizga yorug'lik yoqing!

Sensor qiymatlarini kuzatish uchun ketma -ket monitorni oching. Haqiqiy dunyo qiymatlari sizning yorug'lik sharoitingizga qarab 0gacha yoki 1023gacha cho'zilmasligi mumkin. LEDda maksimal yorqinlikni ifodalash diapazonini olish uchun 0-1023 diapazonini kuzatilgan minimal va kuzatilgan maksimal darajaga sozlang.

5 -qadam: Keyin, harakat qilib ko'ring …

Endi siz fotorezistorni o'qishni va LEDning yorqinligini nazorat qilish uchun uning chiqishini xaritaga o'rgandingiz, siz shu paytgacha o'rgangan va boshqa ko'nikmalarni qo'llashga tayyormiz.

Siz LEDni servo dvigatel kabi boshqa turdagi chiqishga almashtira olasizmi va sensorning joriy yorug'lik darajasini o'lchagich bo'ylab ma'lum bir pozitsiyada aks ettiradigan kod yaratasizmi?

O'zingizning fotorezistoringizni ultratovushli masofa sensori yoki potansiometr kabi boshqa analog kirishlar bilan almashtirishga harakat qiling.

Serial monitor yordamida Arduino -ning raqamli va analogli kirishini kompyuter orqali qanday kuzatish haqida ko'proq bilib oling.

Tavsiya: