Spotify Dot Matrix
Spotify'da çalan şarkı bilgilerini Arduino Uno ve 4×8×8 MAX7219 Dot Matrix üzerinde kayan yazıyla gösteren proje.

Donanımdan ekrana.
Başlangıç
Donanım ve bağlantı şeması hazırlanır.
Uygulama
Arduino kodu derlenir ve masaüstü uygulaması ile eşleştirilir.
Deneyim
Örnek simülasyonla davranış incelenir.
Proje hakkında
Bilgisayarda çalışan Python betiği, açık pencerelerin başlıklarını kontrol ederek müzik bilgisi olabilecek metni seri bağlantıyla Arduino Uno'ya iletir. Arduino, gelen metni MAX7219 LED matrisler üzerinde kaydırır. Bu örnek Spotify'ın resmî Web API'sini kullanmaz; masaüstündeki pencere başlıklarını okur.
Kullanılan araçlar ve bileşenler
- Arduino Uno
- MAX7219 sürücülü 4 adet 8×8 LED Dot Matrix modülü
- USB bağlantısı ve jumper kablolar
- Python, pyserial ve pygetwindow
- Arduino IDE, MD_Parola ve MD_MAX72XX kütüphaneleri
Malzeme listesi
CSV indir ↓Projenin paylaşılan donanım ve kod yapısına göre hazırlanan liste. Adetler gösterilen kurulum içindir.
| Malzeme | Adet | Görevi |
|---|---|---|
| Arduino Uno | 1 | Mikrodenetleyici; seri bağlantı ve ekran kontrolü |
| MAX7219 sürücülü 8×8 LED matris | 4 modül | 32×8 kayan yazı ekranı |
| Jumper bağlantı kablosu | 5+ | DIN, CS, CLK, VCC ve GND bağlantıları |
| USB bağlantı kablosu | 1 | Arduino programlama ve bilgisayarla seri haberleşme |
| Bilgisayar | 1 | Python ve masaüstü pencere başlığı okuma betiği |
Not: Gerçek donanım uygulamasında besleme akımını ve bağlantıların güvenliğini kendi kartına göre kontrol et.
Sanal laboratuvarı deneDevre bağlantıları
Bağlantı şemasını tam boy görmek için görsele tıklayabilirsin.

| Modül bağlantısı | Arduino Uno |
|---|---|
| DIN | D11 |
| CS | D10 |
| CLK | D13 |
| VCC | 5V |
| GND | GND |
Şemada tek 8×8 modül gösteriliyor. Dört modüllü MAX7219 kartında aynı sinyal girişleri kullanılır. Python betiğinde COM9 örnektir; bilgisayarındaki gerçek seri portu yazmalısın.
LED Matrix simülatörü
Kendi metnini yaz, kayma hızını değiştir. Dört adet 8×8 modülün oluşturduğu 32×8 LED alanını tarayıcıda deneyebilirsin.
Spotify hesabına bağlanmaz ve müzik verisi okumaz. Yazdığın metni canlandırır.
Arduino kodu
Kodu indir ↓#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define DATA_PIN 11
#define CS_PIN 10
#define CLK_PIN 13
MD_Parola ekran(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
String mesaj = "Spotify hazir";
void setup() {
Serial.begin(9600);
Serial.setTimeout(100);
ekran.begin();
ekran.setIntensity(3);
ekran.displayClear();
ekran.displayText(mesaj.c_str(), PA_LEFT, 65, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
}
void loop() {
if (Serial.available()) {
String yeni = Serial.readStringUntil('\n');
yeni.trim();
if (yeni.length() > 0) {
mesaj = yeni;
ekran.displayClear();
ekran.displayText(mesaj.c_str(), PA_LEFT, 65, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
}
}
ekran.displayAnimate();
}
Python kodu
Kodu indir ↓# Windows'ta pencere basligini okuyup Arduino'ya seri porttan aktarir.
# Kurulum: pip install pyserial pygetwindow
# Not: Spotify Web API entegrasyonu degildir.
import time
import serial
import pygetwindow as gw
PORT = "COM9" # Aygit Yoneticisi'ndeki Arduino COM portuyla degistirin.
BAUD = 9600
def ascii_cevir(metin):
return metin.translate(str.maketrans("çğıöşüÇĞİÖŞÜ", "cgiosuCGIOSU"))
def baslik_bul():
# Masaustunde Spotify muzik penceresinin basligi gorunebilir.
# Baska programlarin basliklarini sarki sanmamak icin filtre koyduk.
yasak = ("Google Chrome", "Microsoft Edge", "Visual Studio", "Discord", "Opera", "Administrator", "Arduino")
for title in gw.getAllTitles():
if title and " - " in title and not any(x.lower() in title.lower() for x in yasak):
return title
return None
with serial.Serial(PORT, BAUD, timeout=1) as arduino:
time.sleep(2)
onceki = None
while True:
baslik = baslik_bul()
if baslik and baslik != onceki:
onceki = baslik
arduino.write((ascii_cevir(baslik) + "\n").encode("utf-8"))
print("Gonderildi:", baslik)
time.sleep(2)
Diğer projeler
Başka bir çalışmamı da inceleyebilirsin.
Diğer projeye git