İçindekiler:

Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda Bir RGB LED'i Döndürme: 11 Adım
Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda Bir RGB LED'i Döndürme: 11 Adım

Video: Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda Bir RGB LED'i Döndürme: 11 Adım

Video: Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda Bir RGB LED'i Döndürme: 11 Adım
Video: Street Fighter 2'de C64'te Neler Yanlış Gidiyor | Nostalji Nerd 2024, Kasım
Anonim
Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda RGB LED'i Döngü
Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda RGB LED'i Döngü

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

Bu Proje İçin İhtiyacınız Olan Şeyleri Bir Araya Getirin
Bu Proje İçin İhtiyacınız Olan Şeyleri Bir Araya Getirin
Bu Proje İçin İhtiyacınız Olan Şeyleri Bir Araya Getirin
Bu Proje İçin İhtiyacınız Olan Şeyleri Bir Araya Getirin
Bu Proje İçin İhtiyacınız Olan Şeyleri Bir Araya Getirin
Bu Proje İçin İhtiyacınız Olan Ş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'deki Bacakların Ne Yaptığını Anlamak
RGB LED'deki Bacakların Ne Yaptığını Anlamak

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

330 Ohm Dirençleri ve Toprak Atlama Kablosunu Breadboard'a Takma
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

Devremize LED Eklemek
Devremize LED Eklemek
Devremize LED Eklemek
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

Kabloları Breadboard'a Takma Bölüm 1: Toprak Bağlama
Kabloları Breadboard'a Takma Bölüm 1: Toprak Bağlama
Kabloları Breadboard'a Takma Bölüm 1: Toprak Bağlama
Kabloları Breadboard'a Takma Bölüm 1: Toprak Bağlama
Kabloları Breadboard'a Takma Bölüm 1: Toprak Bağlama
Kabloları Breadboard'a Takma Bölüm 1: Toprak 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ı

Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 2: Kırmızı LED Ayağının Bağlanması
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ı

Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 3: Yeşil LED Ayağının Bağlanması
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ı

Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
Kabloları Breadboard'a Takma Bölüm 4: Mavi LED Ayağının Bağlanması
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ü

Sıfırdan Programlama: Devre Kontrolü
Sıfırdan Programlama: Devre Kontrolü
Sıfırdan Programlama: Devre Kontrolü
Sıfırdan Programlama: Devre Kontrolü
Sıfırdan Programlama: Devre Kontrolü
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

Sıfırdan Programlama: RGB LED ile Yapmak İstediklerim
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ı

Scratch Programının Ekran Görüntüsü Alma
Scratch Programının Ekran Görüntüsü Alma

Kendiniz programlamaya başlamak istiyorsanız, yerleşim düzenine yakından bakın.

Önerilen: