Mundarija:

RGB LEDini Raspberry Pi 2 va Scratch yordamida rangli spektr orqali aylantiring: 11 qadam
RGB LEDini Raspberry Pi 2 va Scratch yordamida rangli spektr orqali aylantiring: 11 qadam

Video: RGB LEDini Raspberry Pi 2 va Scratch yordamida rangli spektr orqali aylantiring: 11 qadam

Video: RGB LEDini Raspberry Pi 2 va Scratch yordamida rangli spektr orqali aylantiring: 11 qadam
Video: BIG LED Sand Toy – Raspberry Pi RGB LED Matrix 2024, Noyabr
Anonim
Raspberry Pi 2 va Scratch yordamida RGB LEDni rangli spektr orqali aylantiring
Raspberry Pi 2 va Scratch yordamida RGB LEDni rangli spektr orqali aylantiring

Eslatmalarni 2016 yil 25 -fevralga qadar yangilang: men Scratch dasturini takomillashtirdim va ko'rsatmalarni qayta ishlab chiqdim.

Salom bolalar, men bu loyihada RGB LED -ni rangli spektr orqali aylantirish uchun Scratch -dan foydalanmoqchi edim.

Arduino -da buni amalga oshiradigan ko'plab loyihalar bor, shuning uchun men Raspberry Pi bilan munosib natijaga erisha olamanmi, deb qiziqardim.

Bu ko'rsatma bo'yicha mening birinchi urinishim unchalik yaxshi emas edi, shuning uchun men biroz ko'proq tadqiqotlar o'tkazdim va menda yaxshiroq ishlaydigan narsa bor deb o'ylayman. Men asl dasturimda qayerda xato qilganimni tushunishga harakat qilib, Arduino loyihalarini ko'rib chiqayotganimda, men sizni oxirigacha havola qiladigan juda yaxshi Arduino skriptiga duch keldim. Do'stim Endryu bilan men tushdan keyin uni Scratch -ga aylantirdik. Biz qo'limizdan kelganicha harakat qildik va umid qilamanki, siz buni sinab ko'rasiz.

Loyihaning tugmachalari va Scratch yordamida LEDning yorqinligini o'zgartirish bo'yicha ko'rsatmalarimning davomi bu erda.

www.instructables.com/id/PWM-Based-LED-Cont…

Asl Arduino Sketch -ga havola, men Scratch dasturiga asoslandim:

www.arduino.cc/en/Tutorial/DimmingLEDs muallifi Kley Shirki

1 -qadam: Ushbu loyiha uchun kerak bo'ladigan narsalarni yig'ing

Ushbu loyiha uchun kerak bo'lgan narsalarni birgalikda yig'ish
Ushbu loyiha uchun kerak bo'lgan narsalarni birgalikda yig'ish
Ushbu loyiha uchun kerak bo'lgan narsalarni birgalikda yig'ish
Ushbu loyiha uchun kerak bo'lgan narsalarni birgalikda yig'ish
Ushbu loyiha uchun kerak bo'lgan narsalarni birgalikda yig'ish
Ushbu loyiha uchun kerak bo'lgan narsalarni birgalikda yig'ish

Sizga kerak bo'lgan komponentlar:

Raspian operatsion tizimi va internetga ulangan Raspberry Pi

1 x non paneli

1 x RGB LED (umumiy katod)

3 x 330 ohmli rezistorlar (to'q sariq to'q jigarrang)

4 ta erkak/ayol non paneli

1 x erkak/erkak non paneli

2 -qadam: RGB LED -dagi oyoqlar nima qilishini tushunish

RGB LED -dagi oyoqlar nima qilishini tushunish
RGB LED -dagi oyoqlar nima qilishini tushunish

RGB LED -ni oling va oyoqlariga qarang, siz bir oyog'ingiz boshqalarga qaraganda uzunroq ekanligini ko'rasiz. LEDni shunday yo'naltiringki, eng uzun oyog'i chap tomonda.

1 -pin, LEDni qizil rangda porlashi uchun ishlatiladi

2 -pin - bu yer uchi

3 -pin LEDni Yashil qiladi

4 -pin LEDni ko'k rangga aylantiradi

Men foydalanadigan RGB LED -ning umumiy katodi bor, bu uning ishlashini ta'minlash uchun asosiy oyog'ini Raspberry Pi -ga ulaydi.

3 -qadam: 330 Ohmli rezistorlar va erga ulanish kabelini non paneliga o'rnatish

330 Ohmli rezistorlar va erga ulanish kabelini non paneliga joylashtirish
330 Ohmli rezistorlar va erga ulanish kabelini non paneliga joylashtirish

Diagrammada ko'rinadigan narsalarni oson ushlab turish uchun biz rezistorlar va topraklama kabelini birinchi navbatda kerakli joyga qo'yishimiz mumkin. Rezistorlar qutbga ega emas, shuning uchun ular qanday yo'lni bosib o'tishlari muhim emas.

Eslatma: Nega bizga bitta LED uchun uchta rezistor kerak?

RGB LED -ni 3 xil LED bir -biriga birlashtirilgan deb tasavvur qiling. Agar bizda kontaktlarning zanglashiga olib keladigan 3 ta alohida LED bo'lsa, biz har biri uchun rezistorni ishlatardik, shuning uchun RGB LEDning har bir rangli oyog'i uchun rezistor kerak.

4 -qadam: LEDni bizning davrimizga qo'shish

LEDni bizning davrimizga qo'shish
LEDni bizning davrimizga qo'shish
LEDni bizning davrimizga qo'shish
LEDni bizning davrimizga qo'shish

Endi bizda rezistorlar va topraklama kabeli bor, biz LEDni non paneliga o'rnatishimiz mumkin. LEDni eng uzun oyog'i chap tomonga yo'naltiring.

Har bir oyog'i mos keladigan rezistor bilan bir qatorda ekanligiga ishonch hosil qilish uchun, oyoqlarini ozgina bo'laklarga joylashtiring.

Eng uzun oyoq (2 -oyoq) qora tuproqli kabel bilan to'g'ri kelishi kerak.

5 -qadam: Kabellarni Breadboardga ulash 1 -qism: Tuproqni ulash

Kabellarni taxtaga ulash 1 -qism: erga ulanish
Kabellarni taxtaga ulash 1 -qism: erga ulanish
Kabellarni taxtaga ulash 1 -qism: erga ulanish
Kabellarni taxtaga ulash 1 -qism: erga ulanish
Kabellarni taxtaga ulash 1 -qism: erga ulanish
Kabellarni taxtaga ulash 1 -qism: erga ulanish

Birinchidan, biz Raspberry Pi -dan erni LED -dagi er oyog'iga ulaymiz.

Diagrammada men Raspberry GPIO -dagi 6 -pinli erkak/urg'ochi kabelini diodli datchikni Raspberry Pi -ga ulash uchun non panelining er osti yo'lakchasiga uladim.

Malumot kartasi sizga Raspberry Pi GPIO uchun pin tartibini ko'rsatadi. Rasmning o'ng tomonidagi 40 pinli GPIO Raspberry Pi 2 uchun, men bu loyihani amalga oshiraman.

6 -qadam: Kabellarni Breadboardga ulash 2 -qism: Qizil LED oyog'ini ulash

Kabellarni taxtaga ulash 2 -qism: Qizil LED oyog'ini ulash
Kabellarni taxtaga ulash 2 -qism: Qizil LED oyog'ini ulash
Kabellarni taxtaga ulash 2 -qism: Qizil LED oyog'ini ulash
Kabellarni taxtaga ulash 2 -qism: Qizil LED oyog'ini ulash
Kabellarni taxtaga ulash 2 -qism: Qizil LED oyog'ini ulash
Kabellarni taxtaga ulash 2 -qism: Qizil LED oyog'ini ulash

Kabelning erkak uchini chapdagi rezistor ustidagi teshikka suring va kabelning urg'ochi uchini Raspberry Pi -dagi GPIO17 (pin11) ga suring.

GPIO pinlari uchun mos yozuvlar kartasi sizga to'g'ri pinni ko'rsatishga yordam beradi.

7 -qadam: Kabellarni stolga ulash 3 -qism: Yashil LED oyog'ini ulash

Kabellarni taxtaga ulash 3 -qism: Yashil LED oyog'ini ulash
Kabellarni taxtaga ulash 3 -qism: Yashil LED oyog'ini ulash
Kabellarni taxtaga ulash 3 -qism: Yashil LED oyog'ini ulash
Kabellarni taxtaga ulash 3 -qism: Yashil LED oyog'ini ulash
Kabellarni taxtaga ulash 3 -qism: Yashil LED oyog'ini ulash
Kabellarni taxtaga ulash 3 -qism: Yashil LED oyog'ini ulash

Kabelning erkak uchini o'rtadagi rezistor ustidagi teshikka suring va kabelning ayol uchini Raspberry Pi -dagi GPIO18 (pin12) ga suring.

GPIO pinlari uchun mos yozuvlar kartasi sizga to'g'ri pinni ko'rsatishga yordam beradi.

8 -qadam: Kabellarni stolga ulash 4 -qism: Moviy LED oyog'ini ulash

Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash
Kabellarni taxtaga ulash 4 -qism: Moviy LED oyog'ini ulash

Kabelning erkak uchini o'ngdagi rezistor ustidagi teshikka suring va kabelning ayol uchini Raspberry Pi -dagi GPIO27 (pin13) ga suring.

GPIO pinlari uchun mos yozuvlar kartasi sizga to'g'ri pinni ko'rsatishga yordam beradi.

9 -qadam: Skratchda dasturlash: O'chirish tekshiruvi

Scratch -da dasturlash: O'chirish tekshiruvi
Scratch -da dasturlash: O'chirish tekshiruvi
Scratch -da dasturlash: O'chirish tekshiruvi
Scratch -da dasturlash: O'chirish tekshiruvi
Skratchda dasturlash: O'chirish tekshiruvi
Skratchda dasturlash: O'chirish tekshiruvi

Men bu loyihani birinchi marta ulaganimda, men biroz beparvo bo'ldim va rangli kabellarimni aralashtirib yubordim, demak, qizil rang yonishini xohlaganimda, yashil yonib ketdi, shuning uchun men hamma narsa to'g'ri ulanganligini tekshirish uchun oddiy dastur yozdim.

LED sinovi 3 juft tugma bilan boshqariladi

A va Z REDni boshqaradi, A qizil yonadi, Z qizil o'chadi

S va X boshqaruv Yashil, S yashil yonadi, X yashil o'chadi

D va C ni boshqarish BLUE, D ko'kni yoqadi, C ko'kni o'chiradi

PIN -kodni baland qilib qo'yish LED yoritilishini yoqadi, past darajaga qo'yish esa LEDni o'chiradi.

Agar siz uning to'g'ri ulanganligiga ishonch hosil qilishni xohlasangiz, dasturni yuklab oling va elektron qurilmangizni sinab ko'ring.

10 -qadam: Scratch bilan dasturlash: RGB LED bilan nima qilmoqchi edim

Scratch -da dasturlash: RGB LED bilan nima qilishni xohlardim
Scratch -da dasturlash: RGB LED bilan nima qilishni xohlardim

Scratch -da dasturlash yaxshi tajriba. U bosish va tortish interfeysiga ega va juda intuitiv. Garchi u asosan bolalarni dasturlash bilan tanishtirish uchun yaratilgan bo'lsa -da, menimcha, bu juda foydali dasturlash muhiti, menimcha, mening loyihamdagi LEDni boshqaruvchi kodda ko'rsatilgan.

Mana men nima qilishni xohlardim:

Rang o'zgarishi uch bosqichda amalga oshiriladi:

Birinchi bosqichda biz qizil rang bilan boshlaymiz va yashil va ko'k rangni juda kichik darajaga qo'yamiz.

Keyin biz qizil yorqinlikni -1 ga kamaytira boshladik, yashil rangning yorqinligini esa 1 ga oshirdik.

Biz bu hodisani necha marta sodir bo'lishini cheklash uchun pastadir hisoblagichidan foydalandik.

Loop hisoblagichi 255 ga yetganda, biz ikkinchi bosqichni boshladik.

Ikkinchi bosqichda yashil rang maksimal bo'ladi, qizil va ko'k past darajaga o'rnatiladi.

Biz yashil yorqinlikni -1 ga kamaytiramiz, blyuz yorqinligini esa 1 ga oshiramiz.

Ikkinchi bosqich uchun bizning hisoblagichimiz 509 ga o'rnatildi.

509 ga yetgach, biz 3 -bosqichni boshlaymiz.

Uchinchi bosqichda ko'k maksimal yorqinlikda, yashil va qizil past darajada.

Biz ko'k yorqinligini -1 ga kamaytira boshlaymiz, qizil yorqinligini esa 1 ga oshiramiz.

Loop hisoblagichi 763 ga yetgach, tsikl 1 -bosqichda qayta boshlanadi.

Bizda har bir rangning yorqinlik darajasi qiymatlarini ushlab turish uchun redVal, greenVal va blueVal uchta o'zgaruvchilar mavjud va bu qiymatlar har bir rangning yorqinligini belgilash uchun LEDlarning oyoqlarini quvvatlantirish uchun to'g'ri GPIO pinlariga yuboriladi. biz xohlagan rang aralashmasi.

Va bu mening RGB LED va Scratch yordamida ranglar spektrini aylanib o'tishga urinishim.

Agar sizda Arduino bo'lsa va siz men chizgan versiyani yozishga ilhom bergan eskizni ishga tushirsangiz, hech qanday miltillovchi rang yo'qligini ko'rasiz. Men nima uchun Scratch versiyasi shunchalik titrab ketayotganiga amin emasman. Men Arduino PWM bilan ishlashda yaxshiroq ekanligiga shubha qilaman, lekin agar siz mening kodimda yaxshilanishni talab qiladigan narsani ko'rsangiz, menga vaqt ajratganingizda minnatdor bo'lardim.

Mening ko'rsatmalarni o'qiganingiz uchun tashakkur va kuningiz yaxshi o'tishini tilayman!

11 -qadam: Scratch dasturining ekran tasvirini olish

Scratch dasturining ekran tasvirini olish
Scratch dasturining ekran tasvirini olish

Agar siz o'zingizni dasturlashni xohlasangiz, bu erda tartibni diqqat bilan ko'rib chiqing.

Tavsiya: