Mündəricat:

Raspberry Pi 2 və Scratch istifadə edərək, rəng spektrində bir RGB LEDini dövr edin: 11 addım
Raspberry Pi 2 və Scratch istifadə edərək, rəng spektrində bir RGB LEDini dövr edin: 11 addım

Video: Raspberry Pi 2 və Scratch istifadə edərək, rəng spektrində bir RGB LEDini dövr edin: 11 addım

Video: Raspberry Pi 2 və Scratch istifadə edərək, rəng spektrində bir RGB LEDini dövr edin: 11 addım
Video: 128 GB SSD ilə Argon ONE M.2 korpusunda Raspberry Pi 4B, Home Assistant üçün server yığır 2024, Noyabr
Anonim
Raspberry Pi 2 və Scratch istifadə edərək Rəng Spektrində RGB LEDini dövr edin
Raspberry Pi 2 və Scratch istifadə edərək Rəng Spektrində RGB LEDini dövr edin

Qeydləri 25 Fevral 2016 -cı il tarixinə qədər yeniləyin: Scratch proqramını təkmilləşdirdim və təlimat verdiyim şeyi yenidən hazırladım.

Salam uşaqlar, bu layihə ilə rəng spektrində bir RGB LEDini dövr etmək üçün Scratch istifadə etmək istədim.

Arduino ilə bunu edən bir çox layihə var, buna görə də Raspberry Pi ilə layiqli bir nəticə əldə edə biləcəyimi bilmək maraqlı idi.

Bu təlimatlandırmada ilk cəhdim çox yaxşı olmadı, buna görə bir az daha araşdırma apardım və daha yaxşı işləyən bir şeyim olduğunu düşünürəm. Orijinal proqramımda harada səhv etdiyimi anlamağa çalışmaq üçün bəzi Arduino layihələrinə baxarkən sonda sizi əlaqələndirəcəyim tamamilə mükəmməl bir Arduino skriptinə rast gəldim. Dostum Andrew ilə günortadan sonra onu Scratch -ə çevirərək keçirdik. Bununla əlimizdən gələni etdik və ümid edirəm sınayacaqsınız.

Bu layihə, burada tapa biləcəyiniz düymələr və Scratch istifadə edərək bir LED-in parlaqlığını dəyişdirməklə bağlı göstərişlərimin davamıdır:

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

Scratch proqramına əsaslanan orijinal Arduino Sketch -ə bağlantı:

www.arduino.cc/en/Tutorial/DimmingLEDs müəllifi Clay Shirky

Addım 1: Bu Layihə üçün Lazım Olanları Birlikdə Toplayın

Bu Layihə üçün Lazım Olanları Birlikdə Toplayın
Bu Layihə üçün Lazım Olanları Birlikdə Toplayın
Bu Layihə üçün Lazım Olanları Birlikdə Toplayın
Bu Layihə üçün Lazım Olanları Birlikdə Toplayın
Bu Layihə üçün Lazım Olanları Birlikdə Toplayın
Bu Layihə üçün Lazım Olanları Birlikdə Toplayın

Lazım olacaq komponentlər:

Raspian əməliyyat sistemi və internet bağlantısı olan bir Raspberry Pi

1 x Çörək paneli

1 x RGB LED (ümumi katod)

3 x 330 ohm rezistorlar (narıncı narıncı qəhvəyi)

4 x kişi/qadın çörək taxtası kabeli

1 x kişi/kişi çörək taxtası kabeli (və ya varsa kiçik bir tək nüvəli tullanan kabel)

Addım 2: RGB LED -də Ayaqların Nə Etdiyini Anlamaq

RGB LED -də Ayaqların Nə Etdiyini Anlamaq
RGB LED -də Ayaqların Nə Etdiyini Anlamaq

RGB LED -ni götürün və ayaqlara baxın, bir ayağınızın digərlərindən daha uzun olduğunu görəcəksiniz. LED -i elə yönləndirin ki, bu ən uzun ayaq sol olsun.

Pin 1, LED parıltısını QIRMIZI etmək üçün istifadə olunur

Pin 2, torpaq pimidir

Pin 3 LED -i YAŞIL edir

Pin 4 LED -i MAVİ edir

İstifadə etdiyim RGB LED -in ümumi bir katodu var, bu da əsasən işləmək üçün yer ayağını Raspberry Pi torpaq pininə bağladığınız deməkdir.

Addım 3: 330 Ohm Rezistorlar və Torpaq Atlama Kabelini Breadboard -a daxil edin

330 Ohm Rezistorlar və Torpaq Atlama Kabelini Breadboard -a daxil edin
330 Ohm Rezistorlar və Torpaq Atlama Kabelini Breadboard -a daxil edin

Diaqramda hər şeyi asan görmək üçün rezistorları və torpaq kabelini əvvəlcə lazım olduqları yerə yerləşdirə bilərik. Rezistorların qütblülüyü yoxdur, buna görə də hansı istiqamətdə getmələrinin əhəmiyyəti yoxdur.

Qeyd: Niyə bir LED üçün üç rezistora ehtiyacımız var?

Bir RGB LEDini bir yerə yığılmış 3 fərqli LED olaraq düşünün. Bir dövrədə 3 fərdi LED olsaydı, hər biri üçün bir rezistor istifadə edərdik və buna görə RGB LED -in hər rəng ayağı üçün bir rezistora ehtiyacımız var.

Addım 4: LED -ni dövrəmizə əlavə edin

LED -in dövrəyə əlavə edilməsi
LED -in dövrəyə əlavə edilməsi
LED -in dövrəyə əlavə edilməsi
LED -in dövrəyə əlavə edilməsi

İndi rezistorlar və torpaq kabeli yerimizdədir, LEDimizi çörək taxtası sxeminə quraşdıra bilərik. LED -i ən uzun ayağı sola yönəldin.

Ayaqlarınızı çörək taxtasına bağlamaları üçün yumşaq bir şəkildə ayırın, hər ayağınızın müvafiq bir rezistorla eyni xətdə olduğundan əmin olun.

Ən uzun ayaq (2 -ci ayaq) qara torpaq kabelinə uyğun olmalıdır.

Addım 5: Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək

Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək
Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək
Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək
Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək
Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək
Kabelləri Breadboard -a bağlamaq 1 -ci hissə: Zəmini birləşdirmək

Əvvəlcə Raspberry Pi -dən torpağı LED -dəki ayağa bağlayaq.

Diaqramda, Raspberry GPIO -nun 6 -cı pinindən olan kişi/qadın kabelini, LED -in yer ayağını Raspberry Pi -yə bağlamaq üçün çörək taxtasının yer relsinə bağladım.

İstinad kartı sizə Raspberry Pi GPIO üçün pin planını göstərir. Şəklin sağındakı 40 pinli GPIO, bu layihəni həyata keçirmək üçün istifadə etdiyim Raspberry Pi 2 üçündür.

Addım 6: Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq

Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 2 -ci hissə: Qırmızı LED ayağını bağlamaq

Kabelin kişi ucunu soldakı rezistorun üstündəki çuxura itələyin və kabelin dişi ucunu Raspberry Pi üzərindəki GPIO17 (pin11) üzərinə itələyin.

GPIO sancaqlar üçün istinad kartı düzgün pin üçün sizə kömək edəcək.

Adım 7: Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq

Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq
Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq
Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq
Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq
Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq
Kabelləri Breadboard -a bağlamaq 3 -cü hissə: Yaşıl LED Ayağını Bağlamaq

Kabelin kişi ucunu ortadakı rezistorun üstündəki çuxura itələyin və kabelin dişi ucunu Raspberry Pi üzərindəki GPIO18 (pin12) üzərinə itələyin.

GPIO sancaqlar üçün istinad kartı düzgün pin üçün sizə kömək edəcək.

Adım 8: Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq

Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq
Kabelləri Breadboard -a bağlamaq 4 -cü hissə: Mavi LED ayağını bağlamaq

Kabelin kişi ucunu sağdakı rezistorun üstündəki çuxura itələyin və kabelin dişi ucunu Raspberry Pi üzərindəki GPIO27 (pin13) üzərinə itələyin.

GPIO sancaqlar üçün istinad kartı düzgün pin üçün sizə kömək edəcək.

Addım 9: Scratchda Proqramlaşdırma: Dövrə yoxlayın

Cızıqda proqramlaşdırma: dövrə yoxlaması
Cızıqda proqramlaşdırma: dövrə yoxlaması
Cızıqda proqramlaşdırma: dövrə yoxlaması
Cızıqda proqramlaşdırma: dövrə yoxlaması
Cızıqda proqramlaşdırma: dövrə yoxlaması
Cızıqda proqramlaşdırma: dövrə yoxlaması

Bu layihəni ilk dəfə bağladığımda bir az diqqətsiz idim və rəngli kabellərimi qarışdırdım, bu da qırmızı işığın yandırılmasını istədiyim zaman bunun əvəzinə yaşıl yandırıldığını, buna görə də hər şeyin düzgün bağlandığını yoxlamaq üçün sadə bir proqram yazdım.

LED testi 3 cüt düymə ilə idarə olunur

A və Z QIRMIZI idarə edir, A qırmızı yandırır, Z qırmızı söndürür

S və X nəzarət GREEN, S yaşıl yandırır, X yaşıl söndürür

D və C nəzarət MAVİ, D mavi açar, C mavi sönər

Bir pimi yüksək olaraq təyin etmək LED -i yandırır, aşağıya endirmək LED -i söndürür.

Proqramı yükləyin və düzgün bir şəkildə bağlandığından əmin olmaq üçün dövrə sınayın.

Addım 10: Scratch proqramlaşdırma: RGB LED ilə etmək istədiklərim

Scratch proqramlaşdırma: RGB LED ilə nə etmək istədim
Scratch proqramlaşdırma: RGB LED ilə nə etmək istədim

Scratch -da proqramlaşdırmaq gözəl bir təcrübədir. Bir klik və sürükləmə interfeysi var və olduqca intuitivdir. Əsasən uşaqları proqramlaşdırma ilə tanış etmək üçün yaradılsa da, əslində layihəmdəki LED -i idarə edən kodda göstərildiyi kimi olduqca faydalı bir proqramlaşdırma mühiti olduğunu düşünürəm.

İşdə olmaq istədiyim budur:

Rəng dəyişikliyi üç mərhələdə aparılacaq:

Birinci mərhələdə maksimum qırmızı, yaşıl və mavi rəngləri çox kiçik bir səviyyəyə qoyuruq.

Daha sonra qırmızı parlaqlığı -1, yaşılın parlaqlığını isə 1 artırmağa başladıq.

Bunun neçə dəfə baş verdiyini məhdudlaşdırmaq üçün bir döngə sayğacından istifadə etdik.

Döngə sayğacı 255 -ə çatdıqdan sonra ikinci mərhələyə başladıq.

İkinci mərhələdə yaşıl maksimum olacaq, qırmızı və mavi aşağı səviyyəyə qoyulacaq.

Yaşıl parlaqlığı -1 azaldaraq, mavi parlaqlığını 1 artırırıq.

İkinci mərhələ üçün loop sayğacımız 509 olaraq təyin edildi.

509 -a çatanda 3 -cü mərhələyə başlayacağıq.

Üçüncü mərhələdə mavi maksimum parlaqlıqda, yaşıl və qırmızı isə aşağı səviyyədədir.

Mavi parlaqlığı -1, qırmızı parlaqlığı isə 1 artırmağa başlayırıq.

Döngü sayğacı 763 -ə çatdıqda, dövr 1 -ci mərhələdə yenidən başlayacaq.

Hər bir rəngin parlaqlıq səviyyəsinin dəyərlərini saxlamaq üçün üç dəyişən redVal, greenVal və blueVal var və bu dəyərlər hər bir rəngin parlaqlıq dəyərini təyin etmək üçün LED -lərin ayaqlarını gücləndirmək üçün düzgün GPIO pinlərinə göndərilir. istədiyimiz rəng qarışığı.

Və bu, RGB LED və Scratch istifadə edərək rəng spektrini keçmək cəhdimdir.

Bir Arduino varsa və Scratch versiyasını yazmağım üçün ilham verdiyim eskizi idarə edirsənsə, heç bir rəngdə titrəmənin olmadığını görəcəksiniz. Scratch versiyasının niyə bu qədər titrədiyini tam olaraq bilmirəm. Arduinonun PWM ilə daha yaxşı işlədiyindən şübhələnirəm, amma kodumda təkmilləşdirilməsi lazım olan bir şey görürsənsə, mənə vaxt ayırsan həqiqətən minnətdar olaram.

Təlimatımı oxuduğunuz üçün təşəkkür edirəm və gününüzün gözəl keçməsini diləyirəm!

Addım 11: Scratch Proqramının Ekran Görüntüsü

Scratch proqramının ekran görüntüsü
Scratch proqramının ekran görüntüsü

Proqramlaşdırma ilə məşğul olmaq istəyirsənsə, düzeni yaxından nəzərdən keçir.

Tövsiyə: