İçindekiler:
- Adım 1: Bu Proje İçin İhtiyaç Duyacağınız Şeyleri Bir Araya Getirin
- Adım 2: RGB LED'deki Bacakların Ne Yaptığını Anlama
- Adım 3: 330 Ohm Dirençleri ve Toprak Atlama Kablosunu Breadboard'a Takma
- Adım 4: Devremize LED Eklemek
- Adım 5: Kabloları Breadboard'a Takma Bölüm 1: Zemini Bağlama
- Adım 6: Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
- Adım 7: Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
- Adım 8: Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
- Adım 9: Sıfırdan Programlama: Devre Kontrolü
- Adım 10: Sıfırdan Programlama: RGB LED ile Yapmak İstediklerim
- Adım 11: Scratch Programının Ekran Görüntüsü Alınması
Video: Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda Bir RGB LED'i Döndürme: 11 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Güncelleme Notları 25 Şubat 2016: Scratch programını geliştirdim ve talimat tablomu yeniden tasarladım.
Merhaba arkadaşlar, bu proje ile bir RGB LED'i renk spektrumunda döndürmek için Scratch'i kullanmak istedim.
Arduino ile bunu yapan bir sürü proje var, bu yüzden Raspberry Pi ile iyi bir sonuç alıp alamayacağımı merak ettim.
Bu talimattaki ilk denemem çok iyi değildi, bu yüzden biraz daha araştırma yaptım ve daha iyi çalışan bir şeyim olduğunu düşünüyorum. Orijinal programımda nerede yanlış yaptığımı anlamaya çalışmak için bazı Arduino projelerine bakarken, sonunda sizi bağlayacağım kesinlikle mükemmel bir Arduino betiğine rastladım. Arkadaşım Andrew ve ben öğleden sonrayı onu Scratch'a dönüştürmek için harcadık. Biz elimizden gelenin en iyisini yaptık ve umarım siz de denersiniz.
Bu proje, burada bulabileceğiniz düğmeleri ve Scratch'i kullanarak bir LED'in parlaklığını değiştirme konusundaki talimatımın devamı niteliğindedir:
www.instructables.com/id/PWM-Based-LED-Cont…
Scratch programımı temel aldığım orijinal Arduino Sketch bağlantısı:
www.arduino.cc/en/Tutorial/DimmingLEDs yazarı Clay Shirky
Adım 1: Bu Proje İçin İhtiyaç Duyacağınız Şeyleri Bir Araya Getirin
İhtiyacınız olacak bileşenler:
Raspian işletim sistemine ve internet bağlantısına sahip bir Raspberry Pi
1 x Ekmek Tahtası
1 x RGB LED (ortak katot)
3 x 330 ohm direnç (turuncu turuncu kahverengi)
4 x erkek/dişi devre tahtası kablosu
1 x erkek/erkek devre tahtası kablosu (veya varsa küçük bir tek damarlı atlama kablosu)
Adım 2: RGB LED'deki Bacakların Ne Yaptığını Anlama
RGB LED'inizi alın ve bacaklara bakın, bir bacağın diğerlerinden daha uzun olduğunu fark edeceksiniz. LED'i bu en uzun bacak sola gelecek şekilde yönlendirin.
Pin 1, LED'in KIRMIZI parlamasını sağlamak için kullanılır
Pim 2, topraklama pimidir
Pin 3, LED'in YEŞİL parlamasını sağlar
Pim 4, LED'in MAVİ parlamasını sağlar
Kullandığım RGB LED'in ortak bir katodu var, bu da temelde çalışmasını sağlamak için toprak ayağını bir Raspberry Pi topraklama pimine bağladığınız anlamına geliyor.
Adım 3: 330 Ohm Dirençleri ve Toprak Atlama Kablosunu Breadboard'a Takma
Diyagramda işleri kolay görmek için dirençleri ve topraklama kablosunu ilk olması gereken yere yerleştirebiliriz. Dirençlerin polaritesi yoktur, bu nedenle hangi yöne gittikleri önemli değildir.
Not: Bir LED için neden üç dirence ihtiyacımız var?
Bir RGB LED'i, bir araya getirilmiş 3 farklı LED olarak düşünün. Bir devrede 3 ayrı LED'imiz olsaydı, her biri için bir direnç kullanırdık ve bu nedenle RGB LED'in her renk ayağı için bir direnç gerekir.
Adım 4: Devremize LED Eklemek
Artık dirençleri ve topraklama kablosunu yerleştirdik, LED'imizi breadboard devresine takabiliriz. LED'i en uzun bacak sola gelecek şekilde yönlendirin.
Her bir bacağın karşılık gelen bir dirençle aynı çizgide olduğundan emin olarak, devre tahtasına takmalarına izin vermek için bacakları hafifçe ayırın.
En uzun bacak (bacak 2) siyah topraklama kablosuyla aynı hizada olmalıdır.
Adım 5: Kabloları Breadboard'a Takma Bölüm 1: Zemini Bağlama
Öncelikle Raspberry Pi'den gelen zemini LED üzerindeki zemin ayağına bağlayalım.
Diyagramımda, LED'in toprak ayağını Raspberry Pi'ye bağlamak için Raspberry GPIO'daki pim 6'dan erkek/dişi kabloyu breadboard'un toprak rayına bağladım.
Referans kartı size Raspberry Pi GPIO için pin düzenini gösterir. Resmin sağındaki 40 pinli GPIO, bu projeyi yapmak için kullandığım Raspberry Pi 2 içindir.
Adım 6: Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
Kablonun erkek ucunu soldaki direncin hemen üzerindeki deliğe itin ve kablonun dişi ucunu Raspberry Pi üzerindeki GPIO17'ye (pin11) itin.
GPIO pinleri için referans kartı, sizi doğru pine yönlendirmeye yardımcı olacaktır.
Adım 7: Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
Kablonun erkek ucunu ortadaki direncin hemen üzerindeki deliğe itin ve kablonun dişi ucunu Raspberry Pi üzerindeki GPIO18 (pin12) üzerine itin.
GPIO pinleri için referans kartı, sizi doğru pine yönlendirmeye yardımcı olacaktır.
Adım 8: Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kablonun erkek ucunu sağdaki direncin hemen üzerindeki deliğe itin ve kablonun dişi ucunu Raspberry Pi üzerindeki GPIO27'ye (pin13) itin.
GPIO pinleri için referans kartı, sizi doğru pine yönlendirmeye yardımcı olacaktır.
Adım 9: Sıfırdan Programlama: Devre Kontrolü
Bu projeyi ilk kabloladığımda biraz dikkatsizdim ve renkli kablolarımı karıştırdım, bu da kırmızının gelmesini istediğimde yeşilin gelmesi anlamına geliyordu, bu yüzden her şeyin doğru şekilde bağlandığını doğrulamak için basit bir program yazdım.
LED testi 3 çift tuş ile kontrol edilir
A ve Z KIRMIZI kontrol eder, A kırmızıyı açar, Z kırmızıyı kapatır
S ve X YEŞİL'i kontrol eder, S yeşili açar, X yeşili kapatır
D ve C kontrol MAVİ, D maviyi açar, C maviyi kapatır
Bir pimin yüksek olarak ayarlanması LED'in yanmasını sağlar, düşük olarak ayarlanması LED'i kapatır.
Programı indirin ve doğru şekilde bağlandığından emin olmak istiyorsanız devrenizi test edin.
Adım 10: Sıfırdan Programlama: RGB LED ile Yapmak İstediklerim
Scratch'te programlama güzel bir deneyimdir. Tıkla ve sürükle arayüzüne sahiptir ve oldukça sezgiseldir. Öncelikle çocukları programlamayla tanıştırmak için oluşturulmuş olsa da, projemdeki LED'i kontrol eden kodda gösterildiği gibi aslında oldukça kullanışlı bir programlama ortamı olduğunu düşünüyorum.
İşte olmasını istediğim şey:
Renk değişiklikleri üç aşamada gerçekleştirilecektir:
İlk aşamada maksimumda kırmızı ve çok küçük bir seviyede yeşil ve mavi ile başlıyoruz.
Daha sonra yeşilin parlaklığını 1 artırırken kırmızı parlaklığı -1 düşürmeye başladık.
Bunun kaç kez olduğunu sınırlamak için bir döngü sayacı kullandık.
Döngü sayacı 255'e ulaştığında ikinci aşamaya başladık.
İkinci aşamada yeşil maksimumda, kırmızı ve mavi düşük seviyede olacak.
Yeşil parlaklığı -1 azaltırken mavi parlaklığı 1 artırırız.
İkinci aşama için döngü sayacımız 509'a ayarlandı.
509'a ulaştığında 3. aşamaya başlayacaktık.
Üçüncü aşamada mavi maksimum parlaklıkta, yeşil ve kırmızı ise düşük seviyelerdedir.
Kırmızı parlaklığı 1 artırırken mavi parlaklığı -1 düşürmeye başlıyoruz.
Döngü sayacı 763'e ulaştığında, döngü 1. aşamada yeniden başlayacaktı.
Her rengin parlaklık seviyesinin değerlerini tutmak için üç değişkenimiz redVal, greenVal ve blueVal var ve bu değerler daha sonra her rengin parlaklık değerini ayarlamak için LED'lerin bacaklarına güç sağlamak için doğru GPIO pinlerine gönderiliyor. İstediğimiz renk karışımı.
Ve bu, bir RGB LED ve Scratch kullanarak renk tayfı arasında geçiş yapma girişimim.
Bir Arduino'nuz varsa ve bana Scratch versiyonunu yazmam için ilham veren bağladığım çizimi çalıştırırsanız, hiç renk titremesi olmadığını göreceksiniz. Scratch sürümünün neden bu kadar titrediğinden tam olarak emin değilim. Arduino'nun PWM'yi işlemede daha iyi olduğundan şüpheleniyorum, ancak kodumda iyileştirilmesi gereken bir şey görürseniz, bana söylemek için zaman ayırırsanız gerçekten minnettar olurum.
Talimatımı okuduğunuz için teşekkür ederim ve umarım harika bir gün geçirirsiniz!
Adım 11: Scratch Programının Ekran Görüntüsü Alınması
Kendiniz programlamaya başlamak istiyorsanız, yerleşim düzenine yakından bakın.
Önerilen:
Bir Arduino'yu Kitaplık Olmadan Kayan Bir Metin Görüntülemek İçin Başka Bir Arduino Kullanarak Programlamak: 5 Adım
Bir Arduino'yu Kitaplık Olmadan Kayan Bir Metni Görüntülemek için Başka Bir Arduino Kullanarak Programlama: Sony Spresense veya Arduino Uno o kadar pahalı değil ve çok fazla güç gerektirmez. Ancak projenizin güç, alan ve hatta bütçe kısıtlaması varsa Arduino Pro Mini kullanmayı düşünebilirsiniz. Arduino Pro Micro'nun aksine, Arduino Pro Mi
Arduino RGB Renk Seçici – Gerçek Hayattaki Nesnelerden Renk Seçin: 7 Adım (Resimlerle)
Arduino RGB Renk Seçici - Gerçek Hayattaki Nesnelerden Renk Seçin: Bu Arduino tabanlı RGB renk seçici ile fiziksel nesnelerden kolayca renk seçin, gerçek hayattaki nesnelerde gördüğünüz renkleri PC'nizde veya cep telefonunuzda yeniden oluşturmanıza olanak tanır. Ucuz bir TCS347 kullanarak nesnenin rengini taramak için bir düğmeye basmanız yeterlidir
Yarım Saatten Daha Kısa Bir Sürede Bir Raspberry Pi ve bir RTL-SDR Dongle Kullanarak Yalnızca APRS RX Amatör Radyosu Oluşturun: 5 Adım
Bir Amatör Radyo APRS RX Sadece Yarım Saatten Daha Kısa Bir Sürede Bir Raspberry Pi ve bir RTL-SDR Dongle Kullanarak Igate Yapın: Lütfen bunun artık oldukça eski olduğunu, dolayısıyla bazı bölümlerin yanlış ve güncelliğini yitirdiğini unutmayın. Düzenlemeniz gereken dosyalar değişti. Size görüntünün en son sürümünü vermek için bağlantıyı güncelledim (lütfen sıkıştırmayı açmak için 7-zip kullanın) ancak tam bilgi için
GIMP Kullanarak İnsanları/insanları/hayvanları/robotları Gerçekten Harika/parlak Isı Görüşüne Sahip (Seçtiğiniz Renk) Görünmeleri İçin Gerçekten Basit/Kolay/Karmaşık Olmayan Bir Yol: 4 Adım
GIMP Kullanarak İnsanları/insanları/hayvanları/robotları Gerçekten Harika/parlak Isı Görüşüne Sahip (Seçtiğiniz Renk) Görünmeleri İçin Gerçekten Basit/Kolay/Karmaşık Olmayan Bir Yol: Oku…başlığı
RGB LED Kullanarak Renk Algılama: 4 Adım
RGB LED Kullanarak Renk Algılama: Hiç bir nesnenin rengini algılamak için otomatik bir yol istediniz mi? Nesneye belirli bir renkteki ışık parlayarak ve ne kadar ışığın geri yansıdığına bakarak nesnenin hangi renk olduğunu anlayabilirsiniz. Örneğin, kırmızı bir ışık yakarsanız