Schritt 2: Schaltpläne
Schon früh habe ich beschlossen, die folgenden Komponenten (siehe auch das Blockdiagramm):
- Atmel ATmega328 Mikrocontroller
- läuft bei 16 MHz
- mit dem Arduino bootloader
- Maxim (Dallas) DS3231 Echtzeituhr mit eingebautem Temperatur kompensiert Kristall
- + 3V Stützbatterie
- Vier Maxim MAX7219 LED-Treiber
- jede Fahrt ein 8 x 8-Raster von LEDs
- Vier Azoteq IQS127D kapazitive Touch-Sensor-chips
- benötigen eine Antenne hinter dem Glas
- einer in jeder Ecke
- Alternative: Wenn Azoteq schwer zu finden ist, Atmel hat ein ähnliches Teil
- 256 PLCC-2 (3528) Power-LEDs
- Ich habe sie bei eBay für rund 7 USD (300)
- Sie haben sogar billiger seit bekommen: http://www.ebay.com/itm/120919795895 (.99 USD 100)
- Ein akustisches Signal
- als Feedback "kapazitiven Tasten drücken"
- Ein Lichtsensor (LDR)
- um automatisch die Helligkeit anpassen
Der Schaltplan ist relativ einfach: alles, was verbindet sich mit dem ATMega. Der Schaltplan ist in zwei Teile gespalten: die Hauptplatine und die led Board. Mehr dazu im nächsten Schritt, aber jetzt alles, was zählt ist, dass es vier led Boards (mit je einem LED-Treiber, eines kapazitiven Touch-Chips und einem 8 x 8 LED-Raster) und eine Hauptplatine (alles andere: der Micro, die RTC + Batterie, Summer, der LDR und das Netzteil).
- Die RTC schließt an ein I2C auf den ATmega
- Die LED-Treiber sind angekettet und nutzen 3 GPIO-Pins für die serielle Kommunikation
- Die kapazitive Touch-chips jeder Gebrauch zwei GPIO-Pins: Präsenz und Touch
- Der Summer verwendet ein GPIO (natürlich)
- Der LDR nutzt eine analoge Pin (der ATmega hat einen eingebauten ADC)
Die Hauptplatine besitzt auch fünf 1117 lineare Spannungsregler 5V: eins für die Hauptplatine und eins für jede LED-Platine. Dies ist übertrieben, aber die Regler so cool bleiben und ein extrem einfaches Setup. Eine effizientere Stromversorgung wäre auch cool geblieben, aber komplizierter gewesen wäre.