İçindekiler:
- Adım 1: Darbe Genişliği Modülasyonu
- Adım 2: LED ve Direnç
- 3. Adım: Eşit Olmayan Karartma
- Adım 4: Adım 4: Yukarı ve Aşağı Bir For() ve Eşit Oranda
Video: RaspberryPi: Bir LED'i Açma ve Kapatma: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Aşağıdaki adımlar, LED'lerin nasıl çalıştığını gösteren deneylerdir. Bir LED'in eşit oranda nasıl karartılacağını ve nasıl açılıp kapatılacağını gösterirler.
İhtiyacın olacak:
- RaspberryPi (Daha eski bir Pi kullandım, Pi-3'üm kullanımda, ancak herhangi bir Pi çalışacak.)
- ekmek tahtası
- 5 mm kırmızı LED
- 330 Ω Direnç (Kritik değil 220-560 Ω çalışacaktır.)
- Bağlantı Teli
Adafruit'ten kullandığım Pi-cobbler gerekli değil ama breadboard yapmayı kolaylaştırıyor.
WiringPi, RaspberryPi'yi C'de programlamak için bir dizi kitaplıktır. İndirme, kurma ve kullanma talimatları https://www.wiringpi.com/ adresinde bulunmaktadır.
Kablolama Pi'yi kurmak için bu sayfadaki talimatları izleyin:
Kablolama Pi pin numaralarının bir listesini almak için komut satırına gpio readall girin.
Raspian kablolamanın daha yeni sürümlerinde Pi varsayılan olarak kurulur.
Adım 1: Darbe Genişliği Modülasyonu
LED'ler, parlaklıktan bağımsız olarak her zaman aynı voltajda çalışır. Parlaklık bir kare dalga osilatörü tarafından belirlenir ve voltajın yüksek olduğu süre parlaklığı belirler. Buna Darbe Genişliği Modülasyonu (PWM) denir. Bu, n'nin 0 ila 255 arasında bir değere sahip olduğu kablolamaPi pwmWrite(pin, n) işlevi tarafından kontrol edilir. n=2 ise LED, n=1'den iki kat daha parlak olacaktır. n iki katına çıktığında parlaklık her zaman iki katına çıkar. Yani n=255, n=128'in iki katı parlak olacaktır.
n'nin değeri genellikle görev döngüsü adı verilen bir yüzde olarak ifade edilir. Resimler, %25, 50 ve %75 görev çevrimleri için osiloskop izlerini göstermektedir.
Adım 2: LED ve Direnç
Bu gerekli değildir, ancak bunlardan birkaçının kullanışlı olması, breadboarding'i çok daha kolay hale getirebilir.
Bir LED'in kısa ledine bir direnç lehimleyin. 220-560 Ohm'luk bir direnç kullanın.
3. Adım: Eşit Olmayan Karartma
Devreyi şemadaki gibi kurunuz. Bu tıpkı bir LED'i yanıp sönen devre gibidir. PWM etkinleştirilmiş bir pin kullanmanız gerektiğinden kablolama Pi pin 1'i kullanır. Programı derleyin ve çalıştırın. LED ne kadar parlaksa o kadar yavaş karardığını fark edeceksiniz. En loşluğa yaklaştıkça çok hızlı kararır.
/******************************************************************
* Derleme: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Yürütme: sudo./fade1 * * Aksi belirtilmedikçe tüm pin numaraları kablolamaPi numaralarıdır. ************************************************************ ****************/ #include int ana() { kablolamaPiSetup(); // Kablolama Pi pinMode (1, PWM_OUTPUT) tarafından gerekli kurulum; // pwmSetMode(PWM_MODE_MS); // İşaret/Boşluk modu int i; while(1) { for (i = 255; i > -1; i--) { pwmWrite(1, i); gecikme(10); } for (i = 0; i < 256; i++) { pwmWrite(1, i); gecikme(10); } } }
Bir sonraki adım, LED'in sabit bir oranda ve bir for ifadesi ile nasıl kısılacağını gösterir.
Adım 4: Adım 4: Yukarı ve Aşağı Bir For() ve Eşit Oranda
LED'in sabit bir oranda kararması için gecikmenin () üstel bir oranda artması gerekir, çünkü görev döngüsünün yarısı her zaman parlaklığın yarısını üretecektir.
Çizgi:
int d = (16-i/16)^2;
gecikmenin uzunluğunu belirlemek için parlaklığın ters karesini hesaplar. Bu programı derleyin ve çalıştırın, LED'in sabit bir oranda yanıp söneceğini göreceksiniz.
/******************************************************************
* Derleme: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Yürütme: sudo./fade2 * * Aksi belirtilmedikçe tüm pin numaraları kablolamaPi numaralarıdır. ************************************************************ ****************/ #include int ana() { kablolamaPiSetup(); // Kablolama Pi pinMode (1, PWM_OUTPUT) tarafından gerekli kurulum; // pwmSetMode(PWM_MODE_MS); // Mark/Boşluk modu while(1) { int i; int x = 1; for (i = 0; ben > -1; ben = ben + x) { int d = (16-i/16)^2; // indeksin ters karesini hesapla pwmWrite(1, i); gecikme(d); eğer (i == 255) x = -1; // zirvede yön değiştir } } }
Önerilen:
LDR Işık Seviyesi Dedektörü: Gözleri Açma ve Kapatma: 6 Adım
LDR Işık Seviyesi Dedektörü: Gözleri Açma ve Kapatma: Herkese merhaba, umarım bu talimat beğeninize sunulmuştur. Herhangi bir şüphe, yorum veya düzeltme iyi karşılanacaktır. Bu devre, çevrede ne kadar ışık olduğu hakkında bilgi sağlamak için bir kontrol modülü olarak gerçekleştirilmiştir
ESP8266 Aygıtlı Bir Bilgisayarı Uzaktan Kapatma veya Yeniden Başlatma: 10 Adım (Resimlerle)
ESP8266 Cihazıyla Bir Bilgisayarı Uzaktan Kapatma veya Yeniden Başlatma: Burada açık olmak gerekirse, başka birinin bilgisayarını değil, SİZİN bilgisayarınızı kapatıyoruz. Hikaye şöyle devam ediyor: Facebook'ta bir arkadaşım bana mesaj attı ve bir düzine bilgisayarı çalıştırdığını söyledi. bir sürü matematik, ama her sabah saat 3'te kilitleniyorlar. S
Bir LED'i Söndürme ve Kapatma: 3 Adım
Bir LED'i Açma ve Kapatma: Aşağıdaki adımlar, LED'lerin nasıl çalıştığını gösteren deneylerdir. Bir LED'in eşit oranda nasıl karartılacağını ve nasıl açılıp kapatılacağını gösterirler. İhtiyacınız olacak: Arduino (bir ikili kullandım) Breadboard 5 mm kırmızı LED 330 Ω Direnmek
Panasonic Cd Çalar Açma ve Kapatma Anahtarı: 6 Adım
Panasonic Cd Çalar Açma ve Kapatma Düğmesi: Panasonic cd çalarımdaki açma ve kapama düğmesi gerçekten uyanmıştı, bu yüzden pillerden tasarruf etmek için onu kapatmanın bir yoluna ihtiyacım var. Sorunu çözmek için küçük bir anahtar ve farklı bir pil takımı takmaya karar verdim
Kilitlenen Bir Programı Kapatma: 4 Adım
Çökmüş Bir Programı Kapatmak: PC'NİZ DONDUĞU ZAMAN bir bilgisayarda en sık karşılaşılan sorunlardan biri, bir uygulamayı kullanırken her şeyin donması veya kilitlenmesi ve fare ve klavyenin yanıt vermemesidir. Bu Eğitilebilir Kitapta iyiyim size nasıl yapılacağını gösterecek