Mundarija:
- 1 -qadam: O'chirish sxemasini yarating
- 2 -qadam: Bloklar bilan kod
- 3 -qadam: Fotoresistor Arduino kodi tushuntirilgan
- 4 -qadam: Arduino jismoniy sxemasini yarating (ixtiyoriy)
- 5 -qadam: Keyin, harakat qilib ko'ring …
Video: Tinkerkaddagi Arduino bilan yorug'lik sensori (fotorezistor): 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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.
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
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
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 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:
O'zgaruvchan yorug'lik sezuvchi tungi yorug'lik: 8 qadam (rasmlar bilan)
O'zgaruvchan yorug'lik sezgichli tungi yorug'lik: Bu ko'rsatma qo'lda o'chirish uchun tungi yorug'lik sensori qanday buzilganligini ko'rsatadi. Diqqat bilan o'qing, har qanday ochiq sxemalarni yodda tuting va agar kerak bo'lsa, birlikni sinovdan o'tkazishdan oldin o'z hududingizni o'chiring
Yorug'lik sensori bilan harakatni faollashtiradigan yorug'lik tugmasi: 5 qadam
Yorug'lik sensori bilan harakatni faollashtiradigan yorug'lik tugmasi: Harakatlanuvchi yorug'lik tugmasi uyda ham, ofisda ham juda ko'p qo'llanmalarga ega. Biroq, bu yorug'lik sensori bilan jihozlanishning qo'shimcha afzalliklari bo'lib, bu yorug'lik faqat tunda yoqilishi mumkin
Yorug'lik va tovush effektlari bilan Arduino asosidagi yorug'lik chiroqlari: 14 qadam (rasmlar bilan)
Yorug'lik va tovush effektlari bilan Arduino asosidagi Lightsaber: Salom jedi! Bu ko'rsatma kinofilmda bo'lgani kabi ko'rinadigan, ovoz chiqaradigan va bajaradigan chiroqni yasash haqida. Yagona farq - bu metallni kesolmaydi: (Bu qurilma Arduino platformasiga asoslangan va men unga juda ko'p funktsiyalar va funktsiyalarni beraman, u
Sovuq katodli yorug'lik yordamida makro fotografiya yorug'lik manbai: 9 qadam (rasmlar bilan)
Sovuq katodli chiroqlar yordamida makro fotografiya yorug'lik manbai: Yengil chodir yordamida tortishish paytida past zichlikdagi yorug'lik manbai juda foydali. LCD ekranlarda topilgan CCFL (sovuq katodli lyuminestsent nur) bu maqsad uchun juda mos keladi. CCFL va unga tegishli yorug'lik tarqatuvchi panellarni singan lapto ichida topish mumkin
A $ 20 / 20min tijorat sifatli katlanadigan yorug'lik qutisi / yorug'lik chodir: 7 qadam (rasmlar bilan)
20 /20 daqiqalik tijorat sifatli katlanadigan yorug'lik qutisi / yorug'lik chodirlari: Agar siz mahsulot uchun DIY yorug'lik qutisini qidirayotgan bo'lsangiz yoki fotosuratlarni yopib qo'ysangiz, sizda ko'p tanlov bor. Karton qutilardan kir yuvish to'siqlariga qadar, siz loyiha o'limga qadar amalga oshirildi deb o'ylashingiz mumkin. Lekin kuting! 20 dollarga