Arduino: Potentio Göstergesi Led Matrix MAX7219 Kullanıyor: 4 Adım
Arduino: Potentio Göstergesi Led Matrix MAX7219 Kullanıyor: 4 Adım
Anonim
Arduino: Potansiyo Göstergesi Led Matrix MAX7219 Kullanıyor
Arduino: Potansiyo Göstergesi Led Matrix MAX7219 Kullanıyor

Ö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
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
Gerekli Bileşenler
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

Şema
Şema
Şema
Şema
Şema
Ş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

Programlama
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.