Egy teljesen egyedi hardver-szoftver ökoszisztéma,
amely valós idejű szenzoradatokat, hangvizualizációt és több mint
20 látványeffektet kezel egy elegáns webes felületről.
🖥 Raspberry Pi⚙️ Arduino Mega 2560💡 NeoPixel LED🌡 Hőmérséklet szenzor🎵 Hangvizualizáció
Python Flask
Serial UART
WS2812B
I2C LCD
💡
20+
Egyedi LED effekt
5
Csatlakoztatott szenzor
3D
Nyomtatott ház CraftBottal
Rendszer architektúra
Hogyan működik együtt?
A Pi és az Arduino folyamatos soros kommunikációban (UART) dolgozik együtt. A Pi adja a parancsokat, az Arduino hajtja végre őket a valós hardveren.
🖥
Raspberry Pi
Python · Flask webszerver
USB · UART · 9600 baud
⚙️
Arduino Mega
Hardver · Szenzorok kezelése
📡 Szenzorok · Bemenetek
🌡
NTC Termisztor A0 pin
🎤
Mikrofon A1 pin
☀️
LDR Fény A2 pin
💡 Kimenetek · Látvány & Hang
💡
NeoPixel D6 pin
📟
I2C LCD 0x27
🔔
Buzzer D8 pin
Komponensek
A projekt hardvere
Minden alkatrész konkrét szerepet tölt be a rendszerben.
🖥
Vezérlő · Agy #1
Raspberry Pi
A rendszer „agya” és webszervere. Python Flask alkalmazást futtat, amely böngészőből elérhető felületet biztosít. Soros (UART) kommunikáción keresztül küld parancsokat az Arduinonak, és fogadja a szenzor adatokat.
/dev/serial0 · GPIO UART
⚙️
Vezérlő · Agy #2
Arduino Mega 2560
A „fizikai munkás”. Közvetlenül hajtja meg a LED gyűrűt, kezeli az LCD-t és a buzzert, illetve folyamatosan olvassa a szenzorokat. A Pi parancsait UART-on veszi, és azonnal végrehajtja őket.
USB Serial · 9600 baud
💡
Kimenet · Látvány
16-os NeoPixel LED Gyűrű
A projekt fő látványeleme. 16 darab WS2812B RGB LED alkot egy gyűrűt, amely egyenként vezérelhető. Ezen fut az összes vizuális effekt: szivárvány, vihar, radar, mátrix és még sok más.
D6 pin · WS2812B · 5V
📟
Kimenet · Kijelző
16×2 I2C LCD Kijelző
Két soros szöveget képes megjeleníteni. A rendszerállapotot, a mért hőmérsékletet, és a webes felületről küldött egyedi üzeneteket (max. 16 karakter) mutatja valós időben.
I2C · 0x27 cím · SDA/SCL
🔔
Kimenet · Hang
Passzív Zümmer (Buzzer)
A hang effektek forrása. PWM-vezérléssel különböző hangmagasságú dallamokat tud lejátszani – ez biztosítja az R2D2, a Pac-Man, a Riasztó és a többi effekt dinamikus hangját.
D8 pin · PWM · passzív
🌡
Szenzor · Bemenet
NTC Termisztor hőmérő
Folyamatosan méri a szoba hőmérsékletét. Az érték megjelenik az LCD-n és a webes vezérlőpulton is, ahol szín is jelzi az állapotot: kék = hideg, zöld = normál, piros = meleg/forró.
A0 pin · analóg · NTC
🎤
Szenzor · Bemenet
Mikrofon / Hangérzékelő
Valós idejű audio bemenetet biztosít. A zenei effektek (VU méter, Pulse, Disco, Center) erre a modulra reagálnak – minél hangosabb a zene, annál intenzívebb a LED vizualizáció.
A1 pin · analóg · MAX4466
☀️
Szenzor · Automata
LDR Fényfüggő Ellenállás
Automatán figyeli a szoba fényviszonyait. Ha besötétedik, a rendszer önállóan „éjszakai módba” vált: lecsökkenti a LED fényerejét, hogy ne zavarja a pihenést.
A2 pin · analóg · feszültségosztó
Effekt katalógus
20+ egyedi vizuális effekt
Minden effekt egyedi animációval és hanghatással rendelkezik. Vidd rá az egeret egy effektre az előnézethez!
🧘
ZEN
V23 Exkluzív
⚡
VIHAR
V23 Exkluzív
🚨
RIASZTÓ
V23 Exkluzív
🤖
ROBOT
V23 Exkluzív
📊
VU METER
Audio FX
💓
PULSE
Audio FX
🎯
CENTER
Audio FX
🪩
DISCO
Audio FX
🟩
MATRIX
Retro Game
❄️
HÓ
Retro Game
🧱
TETRIS
Retro Game
👾
PAC-MAN
Retro Game
🏓
BOUNCE
Retro Game
🎰
CASINO
Retro Game
☄️
METEOR
Retro Game
⚛️
REACTOR
Sci-Fi
☢️
NUKE
Sci-Fi
📡
SCANNER
Sci-Fi
🔴
RADAR
Sci-Fi
🚔
POLICE
Party
🔥
TŰZ
Party
💥
STROBE
Party
🎉
PARTY
Party
Szoftver réteg
A kód ami összeköti
A rendszer szíve egy Python Flask szerver, amely bármilyen böngészőből elérhető, mobilon is.
🐍
Python 3
Fő programozási nyelv
🌶
Flask
Webes REST API szerver
🔌
PySerial
UART kommunikáció
📊
psutil
Rendszer monitoring
🧵
Threading
Párhuzamos folyamatok
📐
OpenSCAD
3D ház tervezés
🌐
Webes vezérlőpult
A Flask szerver bármely eszközről elérhető a helyi hálózaton – okostelefon, tablet, laptop. Böngésző elegendő, nincs szükség app telepítésre. A felület 15 másodpercenként automatikusan frissül és megjeleníti a szenzor adatokat, a Pi CPU/RAM/disk állapotát és az eseménynaplót.
Fizikai megvalósítás
3D nyomtatott ház
CraftBot Plus · OpenSCAD
Az összes hardver-komponens egy egyedi tervezett, 3D nyomtatott „konzol” dobozba van beépítve. A tervet OpenSCAD parametrikus CAD szoftverrel készítettük, a nyomtatás CraftBot Plus nyomtatón készült. Az eredmény egy tiszta, esztétikus ház ami elrejti a kábeleket, de mutatja a LED gyűrűt és az LCD kijelzőt.
NyomtatóCraftBot Plus
Tervező szoftverOpenSCAD
AnyagPLA filament
LED ablakDiffúzor betét · NeoPixel
Alkotók
Készítette
Ez a projekt két alkotó közös munkájának az eredménye.
👨💻
Hardver & Szoftver
Fehér Zsolt Milán
Python szerver, webes felület, Arduino firmware, 3D ház tervezés OpenSCAD-ben.
👨🔧
Hardver & Elektronika
Gujka Dominik
Hardver összekötés, szenzor integráció, elektronikai tervezés és kivitelezés.
Felépítés
Alkatrészek részletesen
Minden komponens leírása – mi az, és miért ezt választottuk a projekthez.
Vezérlő · Egylapos számítógép
Raspberry Pi Zero 2 W
Kis méretű, alacsony fogyasztású Linux számítógép quad-core ARM Cortex-A53 processzorral, beépített Wi-Fi és Bluetooth modullal.
💡 Miért ezt?Elegendő teljesítmény a Python Flask szerver futtatásához, Wi-Fi-n elérhető webes felület – és kis mérete miatt beépíthető a 3D nyomtatott házba.
Mikrovezérlő
Arduino Mega 2560
Nagy teljesítményű AVR mikrovezérlő 54 digitális és 16 analóg I/O lábbal. Valós idejű hardvervezérlésre specializált.
💡 Miért ezt?A Pi nem tud közvetlenül NeoPixelt vezérelni pontos időzítéssel. Az Arduino ezt natívan kezeli, és a sok I/O láb elegendő az összes szenzorhoz.
LED kimenet
NeoPixel LED Gyűrű (16×)
16 darab WS2812B RGB LED egy gyűrűbe rendezve. Minden LED egyenként, egyetlen adatvonalon programozható – tetszőleges szín és fényerő.
💡 Miért ezt?A WS2812B protokoll megbízható, széles library-támogatással rendelkezik. A gyűrű forma egyedi forgó és radar effekteket tesz lehetővé.
💡 Miért ezt?Az I2C protokoll miatt csak 2 Arduino lábat foglal el a közvetlen 6–8 helyett, miközben folyamatos visszajelzést ad a rendszer állapotáról.
Hangkimenet
Passzív Piezo Buzzer
Passzív zümmer, amelyet külső PWM jellel kell meghajtani. A frekvencia változtatásával különböző hangmagasságú hangokat és dallamokat lehet lejátszani.
💡 Miért ezt?Az aktív buzzerrel ellentétben a passzív típus tetszőleges hangmagasságot tud megszólaltatni – ezért képes R2D2 dallamokat és Pac-Man jingle-t játszani.
Hőmérséklet szenzor
NTC Termisztor (10kΩ)
Hőmérsékletfüggő ellenállás – melegítésre csökken az ellenállása. Feszültségosztóba kötve az Arduino A0 analóg lábán mérhető.
💡 Miért ezt?Olcsó, egyszerű, nincs szükség speciális library-re. Szoba-hőmérsékletre elegendő pontossággal rendelkezik, direktben köthető az analóg lábra.
Hangszenzor
MAX4466 Mikrofon modul
Elektret mikrofon beépített erősítővel (MAX4466 IC). Állítható erősítéssel analóg feszültség-kimenetet ad az Arduino A1 analóg bemenetére.
💡 Miért ezt?Analóg amplitúdó-értéket ad vissza, amivel a hangerő intenzitása mérhető – ez szükséges a VU méterhez, Pulse és Disco effektekhez.
Fényszenzor
LDR (Fényfüggő ellenállás)
Fotorezisztor – megvilágítás hatására csökken az ellenállása. Feszültségosztóba kötve az Arduino A2 lábán méri a környezeti fényszintet.
💡 Miért ezt?Rendkívül egyszerű és olcsó az automatikus éjszakai módhoz. Nincs szükség extra library-re, az analóg értékből meghatározható a sötétség küszöbértéke.
Összekötő panel
Breadboard (720 pont)
Forrasztás nélküli próbapanel, amelyen az alkatrészek és jumper kábelek egyszerűen csatlakoztathatók. Két tápellátás-sín és egy középső elválasztó csatornával.
💡 Miért ezt?Lehetővé teszi az áramkör gyors, forrasztás nélküli összerakását és módosítását. Prototípus fázisban rugalmasságot biztosít az elrendezés változtatásához.
GPIO térkép
Raspberry Pi Zero 2 W — Lábkiosztás
A 40-pin GPIO fejlécből 3 láb van bekötve a projektben. Vidd az egeret egy pinre a részletekért.
UART TX/RX
GND (Föld)
Nem használt
Pin 6 — GND
Közös föld az Arduinohoz
Pin 8 — GPIO14 (TX)
UART adás → Arduino RX0
Pin 10 — GPIO15 (RX)
UART vétel ← Arduino TX0
Arduino lábkiosztás
Arduino Mega 2560 — Használt lábak
Az Arduino 54 digitális és 16 analóg lábából az alábbiak vannak bekötve a projektben.
Csatlakoztatva
I2C (LCD)
UART (Pi)
Analóg szenzor
Tápellátás
Föld
Összeköttetések
Bekötési táblázat
Pontosan melyik alkatrész melyik lábra csatlakozik.