2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Önceki derste, RGB halkalı neo piksel ledini kullanarak bir potansiyometre göstergesi yaptım. Bunu "Potantio Göstergesi RGB Neopiksel Kullanıyor" makalesinde görebilirsiniz.
Ve bugün MAX7219 led metrik ekranı kullanarak güçlendirici göstergesini göstereceğim.
Bunu yapmak için aşağıdaki adımları izleyin.
Adım 1: Gerekli Bileşenler
Gerekli Bileşenler:
- Arduino nano
- Potansiyometre
- Max7219 Led Matris Ekran
- Jumper Tel
- Proje tahtası
- USB mini
- dizüstü bilgisayar
Gerekli Kitaplık
LedKontrol
2. Adım: Şema
Bileşenleri monte etmek için yukarıdaki şematik çizime bakın, ayrıca aşağıdaki bilgileri de görebilirsiniz:
Arduino'dan Led'e ve potansiyo
+5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> Veri Girişi
D7 ==> CLK
D8 ==> CS / Yük
Adım 3: Programlama
Ait yapmak için aşağıdaki kodu kullanın:
#include "LedControl.h"
/*
Şimdi çalışmak için bir LedControl'e ihtiyacımız var. ***** Bu pin numaraları muhtemelen donanımınızla çalışmayacaktır ***** pin 6 DataIn'e bağlı pin 7 CLK'ye bağlı pin 8 LOAD'a bağlı elimizde sadece tek bir MAX72XX var. */
LedControl lc=LedControl(6, 7, 8, 1);
imzasız uzun gecikme süresi=100;
geçersiz kurulum() {
lc.shutdown(0, yanlış); lc.setYoğunluk(0, 8); lc.clearDisplay(0); } geçersiz döngü() { int val = analogRead(A0); val = harita(val, 0, 1023, 0, 8);
if(val == 1)
{
lc.setRow(0, 0, B10000000);
}
if(değer == 2)
{ lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); } if(val == 3) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); } if(val == 4) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); } if(val == 5) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); } if(val == 6) { lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); lc.setRow(0, 5, B10000000); } if(val == 7) { lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); lc.setRow(0, 5, B10000000); lc.setRow(0, 6, B10000000); } if(val == 8) { lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); lc.setRow(0, 5, B10000000); lc.setRow(0, 6, B10000000); lc.setRow(0, 7, B10000000); } lc.clearDisplay(0); }
4. Adım: Sonuç
Bir kez programlandığında, sonuçlar şöyle görünecektir.
Potansiyo sağa döndürülürse, canlı LED'ler dönüş sayısını giderek daha fazla takip edecektir.
Pot sola çevrilirse, dönüş potensini takiben canlı LED daha az olacaktır.