Mundarija:

Arduino RGB rang tanlash - Haqiqiy hayot ob'ektlaridan ranglarni tanlash: 7 qadam (rasmlar bilan)
Arduino RGB rang tanlash - Haqiqiy hayot ob'ektlaridan ranglarni tanlash: 7 qadam (rasmlar bilan)

Video: Arduino RGB rang tanlash - Haqiqiy hayot ob'ektlaridan ranglarni tanlash: 7 qadam (rasmlar bilan)

Video: Arduino RGB rang tanlash - Haqiqiy hayot ob'ektlaridan ranglarni tanlash: 7 qadam (rasmlar bilan)
Video: Как использовать светодиод RGB с кодом Arduino для расчета значения резистора 2024, Iyul
Anonim
Image
Image
RGB rang tanlash test sxemasini ulash
RGB rang tanlash test sxemasini ulash

Tinkercad loyihalari »

Arduino asosidagi RGB rang tanlagichi yordamida jismoniy narsalardan ranglarni osongina tanlab oling, bu sizga shaxsiy kompyuter yoki mobil telefoningizda real hayotda ko'riladigan ranglarni qayta tiklash imkonini beradi. Arzon TCS34725 rang sensori moduli yordamida ob'ektning rangini skanerlash uchun tugmani bosish kifoya va sizga RGB rang qiymatlari, shuningdek RGB LED dagi o'lchangan rang ko'rsatkichi beriladi.

Agar siz ushbu ko'rsatmalarni yoqtirsangiz, iltimos, "Yorqin qiling" tanlovida unga ovoz bering.

Men elektronni qurilmani ko'chma qilib, uni USB portiga, zaryadlovchiga yoki quvvat bankiga ulash uchun oddiy 3D bosma korpusini ishlab chiqdim. Bundan tashqari, dizaynni batareyani joylashtirish uchun uni yanada portativ qilish uchun o'zgartirishingiz mumkin.

Men odatda Arduino Uno -dan foydalanishga harakat qilaman, chunki bu eng keng tarqalgan Arduino platalaridan biri, lekin bu qurilmani portativ qilish uchun u Arduino Pro Micro taxtasi atrofida yaratilgan. Biroq, uni Arduino -ga mos keladigan, IO, Leonardo yoki Mega kabi etarli IO bo'lgan boshqa ko'pgina platalarda ishlashga osonlikcha moslash mumkin.

Ushbu qo'llanma siz Arduino dasturlash va unga LCD panelni ulash asoslarini bilishdan oldin Arduino mikrokontroler bilan ishlaganingizni taxmin qiladi. Agar buni qilmasangiz, qo'shimcha ma'lumot va chuqur tushuntirishlar uchun bog'langan ko'rsatmalarga amal qiling.

Ta'minotlar

  • Arduino Pro Micro (yoki boshqa) - Bu erda sotib oling
  • TCS34725 RGB sensori - Bu yerdan sotib oling
  • 16 x 2 LCD paneli - bu erda sotib oling
  • Tugma - bu yerdan sotib oling
  • 2 x 10K rezistorlar - bu erda sotib oling
  • 3 x 220Ω rezistorlar - bu erda sotib oling
  • 470Ω qarshilik - bu yerdan sotib oling
  • RGB LED - bu erda sotib oling
  • 7 pinli ayol boshi tasmasi (uzunligi kesilgan) - bu erda sotib oling
  • 10K potentsiometr - bu erda sotib oling
  • Breadboard va test uchun o'tish joylari - bu erda sotib oling
  • 3D printer va oq/qora filament (uy uchun ixtiyoriy) - bu ishlatilgan

Bunga qo'shimcha ravishda, siz elektron bilan ishlash uchun asosiy vositalarga, shu jumladan lehimlanadigan temirga muhtoj bo'lasiz, agar siz o'z devoringizni muhofazada ishlatish uchun doimiy ravishda qurayotgan bo'lsangiz.

1 -qadam: RGB rang tanlagichining sinov sxemasini ulash

RGB rang tanlash test sxemasini ulash
RGB rang tanlash test sxemasini ulash
RGB rang tanlash test sxemasini ulash
RGB rang tanlash test sxemasini ulash

Har doim lehimli ulanishlarni o'rnatishdan oldin, sizning komponentlaringizni sinov paneliga yig'ish va sizning sxemangiz va dasturiy ta'minotingiz to'g'ri ishlashiga ishonch hosil qilish uchun har doim yaxshi bo'ladi.

Komponentlar elektron sxemada ko'rsatilgandek non paneliga ulangan.

Komponentlar va Arduino o'rtasida bu ulanishlarning hech qanday farqi yoki g'alati joyi yo'q, ular LCD, tugma va LEDlarni Arduino -ga ulash uchun odatiy asosiy elektron konfiguratsiyalar.

10K rezistorlar tugmachalarni ulash uchun ishlatiladi va Rang sensori LED va RGB LEDning qizil va ko'k oyoqlari uchun 220Ω rezistorlar ishlatiladi. 470Ω rezistor LEDning yashil oyog'i uchun haqiqiy ko'rinadigan ranglarni yaratish uchun uning yorqinligini biroz pasaytiradi.

RGB rang sensori Arduino -ga oddiy I2C interfeysi yordamida ulangan. Agar siz boshqa taxtadan foydalansangiz, ushbu interfeys uchun to'g'ri pinlardan foydalanayotganingizga ishonch hosil qiling. U kod bo'limida muhokama qilingan Adafruit kutubxonasi yordamida boshqariladi.

Agar siz boshqa Arduino taxtasidan foydalanayotgan bo'lsangiz, Pro Micro -da ishlatilganidek, har bir pinda bir xil funktsiyaga ega ekanligingizga ishonch hosil qiling. Masalan, tanlangan RGB rangini taqlid qilish uchun sizga RGB LEDini boshqarish uchun PWM -ni yoqadigan pinlar kerak.

2 -qadam: Arduino RGB rang tanlagichini dasturlash

Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash
Arduino RGB rang tanlagichini dasturlash

Endi siz komponentlaringizni taxtaga yig'ib, kerakli ulanishlarni o'rnatganingizdan so'ng, siz kompyuter yordamida kodni Arduino -ga yuklashingiz va komponentlarning to'g'ri ishlashini tekshirishingiz mumkin.

USB kabelini Arduino -ga ulashdan oldin, ularning to'g'ri ulanganligini tekshiring. USB kabeli kartani va ulangan komponentlarni quvvat bilan ta'minlaydi, agar ular to'g'ri ulanmagan bo'lsa, ularga zarar etkazishi mumkin.

Arduino Pro Micro taxtasi shaxsiy kompyuterga ulanganida Leonardo vazifasini bajaradi, shuning uchun Arduino IDE -da to'g'ri taxta turini tanlaganingizga ishonch hosil qiling, aks holda siz kodni yuklaganingizda xatolarga duch kelasiz.

RGB rang tanlash kodiga havola: RGB rang tanlash kodini yuklab oling

Kod har bir bo'lim nima qilayotganini tushuntirish uchun izohlarni o'z ichiga oladi. Rangni aniqlash va LED qismi Adafruit colorview misol kodiga asoslangan. Agar siz o'zingizning kodingizni yozishni xohlasangiz, bu ishni boshlash va boshlash uchun foydali misol.

Adafruit kutubxonalarini o'rnatishingiz kerak bo'ladi. Buni IDE -dagi Asboblar -> Kutubxonalarni boshqarish -ni bosish va qidirish satriga "Adafruit TCS" yozish va topilgan kutubxonani o'rnatish orqali osonlikcha bajarish mumkin.

Kodda e'tiborga olish kerak bo'lgan ba'zi narsalar:

LCD tayinlangan pinlar g'alati tartibda (15, 14, 16, 4, 5, 8, 7). Men odatda pinlarni ketma -ket saqlashga harakat qilaman, lekin bu misolda ular ikkita narsa tufayli aralashib ketgan, birinchisi, men LED uchun PWM pinlari atrofida ishlashim kerak edi, ikkinchisi, chunki Pro Micro -dagi pinlar hammasi emas. ketma -ketlikda.

Rang sensori LED va tugmachalari Pro Micro analog kirishlariga ulangan, ular raqamli IO sifatida ishlatiladi, chunki raqamli IO pinlari etarli emas edi. Ular hali ham kodda standart raqamli IO pinlari sifatida belgilangan.

LEDni qizil, yashil va ko'k o'rtasida o'chirishning qisqa tartibi mavjud. Bu vizual effekt bo'lib, uni bajarish uchun taxminan 1,5 soniya vaqt ketadi va agar siz rang tanlagichingiz tezroq ishga tushishini xohlasangiz, uni o'chirib tashlashingiz mumkin.

Agar rang sensori bilan aloqa o'rnatilmagan bo'lsa, dastur sozlashdan o'tmaydi, agar u ulanishni o'rnatolmasa, LCD displeyingizda "Sensor xatosi" sifatida ko'rsatiladi. Agar LED yonayotgan bo'lsa, bu sensorning quvvatini ko'rsatadi, keyin SDA va SCL ulanishlarini va to'g'ri Arduino pinlarini ishlatayotganingizni tekshiring.

Gamma -jadval RGB o'lchov qiymatlarini sensordan o'zgartiradi, natijada LED haqiqiy rangni yanada aniqroq aks ettiradi, bu faqat LED vizualizatsiya effektini yaxshilash va ko'rsatiladigan RGB qiymatlariga ta'sir qilmaydi..

Keyin kod tugmachali sensor sensordan o'qishni kutadi va qiymatlarni LCD va LED orqali ko'rsatadi. Agar tugma yana qo'yilmasdan oldin takroriy o'qishni oldini olish uchun aylananing uchta kechikishi bo'lsa, haqiqiy o'qish va tsikl vaqti taxminan 100 ms ni tashkil qiladi, agar siz tanlovchi qilmoqchi bo'lsangiz, siz bu qiymatlar bilan o'ynashingiz mumkin. tezroq yoki sekinroq.

3 -qadam: Komponentlarni korpusga o'rnatish

Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish

Foydali va ko'chma qurilma yasash uchun men komponentlarni bir -biriga lehimlab, ularni oddiy 3D bosilgan muhrga o'rnatishga qaror qildim.

Bu murakkablik sxemasi, ehtimol, PCB uchun mo'ljallangan bo'lishi kerak, lekin ko'pchilik odamlar PCB ishlab chiqarish xizmatlaridan foydalana olmaydilar, shuning uchun men komponentlarni lenta kabeli bilan lehimlab qo'ydim.

4 -qadam: Korpusni 3D bosib chiqarish

3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus
3D bosma korpus

Men rang tanlash uchun to'rtburchaklar shaklidagi asosiy korpusni ishlab chiqdim, bu erda 3D bosma fayllarni yuklab olish mumkin. Siz shuningdek ijodkorlik bilan shug'ullanishingiz va dizaynni komponentlaringizni va rang tanlagichdan qanday foydalanishni o'zgartirish uchun o'zgartirishingiz mumkin.

Rang sensori orqa tomonda, shuning uchun siz qurilmani ob'ekt ustida ushlab turishingiz va old tomondan ko'rsatilgan rangni tanlashingiz mumkin.

Men korpusni oq PLA va 20% to'ldirish yordamida chop etdim, men orqa panel uchun rangli filaman ishlatishdan qochardim, chunki siz tanlangan sirtga aks ettirilgan rangli nurni kiritishni xohlamaysiz.

Korpus o'lchamlari taxminan 110 mm (4,3 dyuym) x 46 mm (1,8 dyuym) x 20 mm (0,78 dyuym) bo'lib, ikkala yarmi yig'ilgan. Har bir yarmi 10 mm (0,39 dyuym) balandlikda.

5 -qadam: O'chirish davri

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

Korpusni 3D bosib chiqarganingizdan so'ng, siz barcha komponentlar qayerda va qanday vaqt ichida lehimli lentali kabel ulanishlarini o'rnatish haqida tasavvurga ega bo'lasiz.

Har bir komponentni Arduino -ga lehimlashdan boshlang, chunki uni taxtadan olib tashlang va bir vaqtning o'zida to'liq kontaktlarning zanglashiga olib kelish uchun komponentlarni olib tashlashga harakat qiling.

Masalan, LED sxemasidan boshlang va rezistorlarni LEDga lehimlang va tugmachali komponentlarni olib tashlashdan oldin ularni Arduino-ga ulang. Shunday qilib, siz komponentlarni kuzatib borishingiz va ularni alohida Arduino -ning to'g'ri kirish va chiqishlariga ulashingizga ishonch hosil qilishingiz mumkin.

To'g'ri Arduino IO portlariga ulanganligingizga ishonch hosil qilish uchun LCD paneli va Rang sensori bilan ehtiyot bo'ling.

Rang sensori ulanishlari 7 pinli ayol bosh tasmasiga lehimlanishi mumkin (8 pinli sarg'ish tasmasini 7 pimgacha kesib oling), uni korpusning orqa qismiga ulash mumkin. Agar siz uni ochishingiz kerak bo'lsa, bu ikkala yarmini to'g'ri ajratish imkonini beradi. Bundan tashqari, to'g'ridan -to'g'ri Rangli sensorga tasma kabeli bilan lehimlashingiz mumkin, faqat ulanishlarni lehimlashdan oldin, tasma korpusining uyasi orqali o'tishiga ishonch hosil qiling.

GND va 5V ga ulanish uchun bir nechta ulanishlar mavjud va bu ularning lehimlanishini ikkita Arduino piniga lehimlashga urinishdan ko'ra, ularni katta markaziy nuqtalarga ulashni osonlashtiradi. Men ularning hammasini LCD potansiyometrining ikkita tashqi oyog'iga uladim, chunki u taxminan korpusning markazida va ulanish uchun eng katta sirt maydoniga ega.

Agar siz barcha ulanishlarni o'rnatgan bo'lsangiz va lenta kabelining uzunligidan mamnun bo'lsangiz. Komponentlarni korpusga o'rnatishdan oldin hamma narsa to'g'ri ishlayotganini tekshirish uchun elektronni qayta yoqishga harakat qilib ko'ring. Qisqa tutashuvga olib kelishi mumkin bo'lgan komponentlar yoki ochiq terminallarning hech biri bir -biriga tegmasligiga ishonch hosil qiling. Qisqa tutashuvlarning oldini olish uchun komponentlar orasiga ozgina izolyatsion lenta yoki qog'oz qo'shish kerak bo'lishi mumkin.

Agar sizning sxemangiz to'g'ri ishlayotgan bo'lsa, siz komponentlaringizni 3D bosilgan korpusga o'rnatishingiz mumkin.

6 -qadam: Komponentlarni korpusga o'rnatish

Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish
Komponentlarni korpusga o'rnatish

Oxirgi qadam - komponentlaringizni korpusga o'rnatish. Men komponentlarni o'rnatish uchun issiq eritilgan yopishtiruvchi tabancadan foydalandim, siz epoksi yoki oz miqdordagi super yopishtiruvchi vositadan ham foydalanishingiz mumkin.

Rang sezgichini korpusning orqa qismidagi bo'shliqqa mahkamlab qo'yish mumkin, uning yordamida pin boshi korpusning ichki qismiga yopishadi. Ayol sarlavhasi tasmasi sensorni kontaktlarning zanglashiga ulash uchun ishlatiladi.

Tugmachani, LCD va LEDni old paneldagi teshiklardan o'rnating va ularni korpusning ichki qismiga yopishtiring.

Sizning Arduino bazadagi uyaga mahkam o'rnashishi kerak va uni ushlab turish uchun hech qanday yopishtiruvchi kerak bo'lmasligi kerak, lekin agar shunday bo'lsa, taxtaning orqa qismidagi qismlarga elim yopishtirmasligingizga ishonch hosil qiling. Buning o'rniga, taxtaning chetiga elim surting.

Mikro USB portiga korpusning yon tomonidan osongina o'tish mumkin.

Qo'llanma sifatida ikki burchakdagi qoziqlardan foydalanib, ikkala yarmini bir -biriga yopishtiring. Ular bir -biriga mahkam bosilishi va ikkala yarmini bir -biriga bog'lab turishiga yordam berishi kerak. Rezistorlar, svetodiod yoki potansiyometrlarning hech qanday ochiq terminallari yoki simlari sizning kontaktlarning zanglashiga olib kelmasligiga ishonch hosil qiling, siz qismlarni ajratish uchun izolyatsiya tasmasini yoki qog'ozni ishlatishingiz mumkin - men orqa tomondan sariq lentani ishlatganman. LCD -dan.

7 -qadam: RGB rang tanlagichidan foydalanish

RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish
RGB rang tanlagichidan foydalanish

Rang tanlash moslamasidan foydalanish uchun rang tanlash moslamasining yonidagi portga mikro USB kabelini ulang.

Ishga tushirish ketma -ketligi bajarilishi kerak, shundan so'ng siz "Rang tanlash uchun tayyor" ko'rsatgan rangni tanlashingiz mumkin.

Sensorni siz tanlamoqchi bo'lgan rangga qo'ying va tugmani bosib rangni tanlang. Sensorning LED chirog'i bir zumda yonib turishi kerak, shundan so'ng siz LCD displeyda RGB o'qilishini olasiz va LED tanlangan rangni aks ettirish uchun o'zgaradi.

RGB LED sizga aniqlangan rangni ko'rsatishga mo'ljallangan. Bu sensorning to'g'ri rangni tanlaganligini tekshirishning tezkor usuli va LED bilan cheklanganligi tufayli har doim ham rangning aniq tasviri emas. Masalan, ular qora yoki kulrang ranglarni ko'rsatolmaydi, chunki haqiqiy LED materiali oq bo'lib, ranglarni takrorlash uchun faqat yorug'lik chiqarishi mumkin. Xuddi shu sababga ko'ra, quyuq ranglar LEDda yaxshi ko'rinmaydi.

Agar sizga bu yo'riqnoma yoqqan bo'lsa, iltimos, "Glow Make Make Glow" tanlovida unga ovoz bering.

Arduino bo'yicha boshqa darsliklar, loyihalar va g'oyalar uchun mening blogimni ko'rib chiqing.

Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring

"Yorqin qiling" tanlovida ikkinchi o'rinni egalladi

Tavsiya: