Echo Plus Stereo-System - 2 Echo Plus-Geräte (2. Gen.), Anthrazit Stoff + 1 Echo Sub
Preis: --
(Stand von: 2025/01/13 5:37 pm - Details
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
)
0 neu0 gebraucht
  • Enthält zwei Echo Plus-Geräte (2. Generation) und einen Echo Sub für ein raumfüllendes, kabelloses 2.1-Stereosystem.
  • Echo Plus hat einen integrierten Zigbee-Hub, mit dem kompatible Smart Home-Geräte ganz einfach eingerichtet und gesteuert werden können, und bietet einen verbesserten Klang für das Streamen von Musik.
  • Neue hochwertige Lautsprecher mit Dolby-Verarbeitung erfüllen den Raum mit purem 360-Grad-Klang mit klaren Höhen und dynamischen Bässen. Die Equalizer-Einstellungen sind in der Alexa App verstellbar.
  • Alexa kann Musik abspielen, die Nachrichten und die Wettervorhersage vorlesen, Wecker und Timer stellen, kompatible Smart Home-Geräte steuern, Kontakte, die ein Echo-Gerät oder die Alexa App haben, anrufen (Skype bald verfügbar) und vieles mehr.
  • Richten Sie Ihr Smart Home ein – ganz ohne separaten Hub. Bitten Sie Alexa, kompatible Zigbee-Lampen, -Schalter, -Schlösser und mehr zu steuern. Echo Plus verfügt zudem über einen integrierten Temperatursensor.
  • Echo Sub ist ein Downfire-Subwoofer, der mit 100 W Leistung und 15-cm-Tieftönern satten Bass-Sound bietet.
  • Entwickelt, um Ihre Privatsphäre zu schützen. Umfasst Datenschutz- und Kontrollmaßnahmen auf mehreren Ebenen, darunter eine Mikrofon-aus-Taste, mit der Sie die Stromzufuhr zu den Mikrofonen unterbrechen und sie somit deaktivieren können.
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)

Anleitung zum Aufbau einer RGB-LED-Uhr mit Matrix-LED-Display für die Ausgabe von z.B. Statusmeldungen.

Benötigte Bauteile:


ACHTUNG! Bei den NeoPixelRingen gibt es 3 verschiedene Varianten! [RGB/RGBw/RGBcw]
Es werden 4 identische Stücke benötigt!

3D-gedrucktes Gehäuse mit Deckel (https://www.thingiverse.com/thing:2763438)

Montage:

Verdrahtet die Bauteile wie im folgenden Anschlussplan zu sehen. Beim NRF24L01+ muss das in der Bauteilliste aufgeführte Breakoutboard angeschlossen werden und nicht der NRF selber. Da ich dieses Board aber nicht als Komponente im Fritzing hatte, habe ich direkt den NRF verwendet. Da es die selben Pins sind, könnt Ihr euch trotzdem an der Beschriftung der Pins orientieren.  

Hier noch mal die verwendeten Pins:

PIN 3MAX_LED-Matrix CLK
PIN 4MAX_LED-Matrix DATA
PIN 5MAX_LED-Matrix CS
  
PIN 6NeoPixel Ring – DATA
  
PIN 7BUTTON to set hours
PIN 8BUTTON to set minutes
  
PIN 9NRF – CE
PIN 10NRF – CSN
PIN 11NRF – MOSI
PIN 12NRF – MISO
PIN 13NRF – SCK

Die Buttons und der Helligkeitssensor benötigen einen Pulldown-Widerstand zwischen dem Eingangs-Pin am Arduino und GND. Ich habe dafür jeweils einen 200Ohm Widerstand verwendet. 

Ich habe als Stromquelle ein 12V Netzteil verwendet. Um den internen Stepdown im Arduino zu entlasten habe ich einen DC-DC-Stepdown vorgeschaltet, auf 5V Ausgangsleistung eingestellt und den Ausgang des Stepdowns mit dem V-IN und GND des Arduinos verbunden. Wer lieber USB nutzt kann dies natürlich auch tun.

Die NeoPixel benötigen keine zusätzliche Stromquelle, sondern arbeiten ebenfalls mit 5V, die der Arduino ja direkt bereit stellt.  

Arduino einrichten:

Das Sketch findet Ihr im Github unter folgendem Link:
RGB-LED-Uhr mit NeoPixel-Ring

Das Sketch besteht ausnahmsweise mal aus mehreren Dateien. Um es etwas übersichtlicher zu halten, habe ich die einzelnen Methoden nach Bauteilen in einzelne Dateien gruppiert. Ladet daher alle der folgenden Dateien herunter (oder nutzt den Download-Button der euch alles als ein Archiv komprimiert liefert)
– neoPixelRingUhr.ino  (Haupt-Datei)
– ledMatrix.ino
– neoPixelRing.ino
– rf.ino
– rtc.ino

Öffnet die Datei neoPixelRingUhr.ino mit der Arduino Software (die anderen Dateien müssen im selben Verzeichnis liegen, und werden dann automatisch mit geladen) und übertragt dieses Sketch wie gewohnt auf den Arduino. Anschließend sollte dir Uhr sofort ihre Arbeit aufnehmen.  

Parameter

Das Sketch bietet auch einige optionalen Einstellmöglichkeiten. Zur reinen Funktionalität ist zwar keine Anpassung notwendig, aber falls Ihr etwas ändern wollt, erkläre ich hier kurz die vorhandenen Parameter:

#define MAX_DEVICES 4
Gibt an, wie viele 8×8-LED-Matrix Module in Reihe geschaltet sind. In meinem Fall sind es 4 Stück

#define SCROLL_DELAY 40
Gibt an, wie groß das Delay zwischen den einzelnen Schritten beim Text-Scrolling im Matrixdisplay sein soll. Um so größer die Zahl, um so langsamer läuft der Text durch. 

#define CHAR_SPACING 1
Gibt an, wie viele  LEDs zwischen einzelnen Zeichen frei bleiben sollen. 

#define BUF_SIZE 50
Legt die Größe des Buffers für den Text-Empfang fest. (Sollte i.d.R. nicht geändert werden müssen)

int out[] = {1, 30, 100, 180, 255}; 
Legt Werte für die Helligkeit fest, die an den NeoPixelRing übergeben werden. Das Array wird für multimap(in, out, arraySize) verwendet.
Die Parameter in[] und out[] müssen immer die selbe Anzahl an Elementen enthalten. Die Anzahl der Einträge muss beim Aufruf von multimap in der Datei neoPixelRing.ino angepasst werden, sofern man diese ändert!

int in[] = {0, 150, 350, 700, 1000};
Legt Schwellwerte für die Helligkeit fest, die vom Helligkeitssensor ausgewertet werden. Das Array wird für multimap(in, out, arraySize) verwendet.
Die Parameter in[] und out[] müssen immer die selbe Anzahl an Elementen enthalten. Die Anzahl der Einträge muss beim Aufruf von multimap in der Datei neoPixelRing.ino angepasst werden, sofern man diese ändert!

byte colors[3][3] = { {150,100,0},
                                         {60,8,1},
                                         {10,0,0}
                                       }; 
Legt die Farben der Uhrzeiger fest. Es handelt sich daher um 3 Farbwerte, die jeweils als ein Array aus 3 Zahlen zwischen 0 und 255 bestehen müssen.
Die erste Zahl ist der Rot-Anteil, die zweite der Anteil für Grün und die dritte für Blau.

int colorDiffPercent1 = 75;
Gibt die Helligkeit an, die für die LEDs verwendet wird, die einen Punkte Abstand zum eigentlichen Zeiger hat, sofern dieser breiter als nur eine LED angezeigt wird.

int colorDiffPercent2 = 93;
Gibt die Helligkeit an, die für die LEDs verwendet wird, die neben dem eigentlichen Zeiger liegt, sofern dieser breiter als nur eine LED angezeigt wird.

static const uint64_t pipes[6] = {0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL, 0xF0F0F0F0C3LL, 0xF0F0F0F0B4LL, 0xF0F0F0F0A5LL, 0xF0F0F0F096LL};
Legt die Pipes fest, auf denen der NRF lauschen soll. Diese müssen mit den NRF-Sendemodulen übereinstimmen. Standardmäßig ist Pipe 0 (Client 1) für die Funkklingel und Pipe 1 (Client 2) für freie Texte die auf dem Display angezeigt werden sollen reserviert. 

static uint32_t keyDelay = 300;
Legt das Delay für die Buttons fest, nach wie viel ms der Button erneut reagiert (Also, wenn man ihn gedrückt hält wann es als weitere Eingabe gewertet wird) 

Text von anderem Gerät per Funk an LED-Matrix senden:

Prinzipiell kann man an die Uhr beliebige Texte mit einer Länge von 32Zeichen senden. Diese werden dann nach einer kurzen Animation, damit man auf die Nachricht aufmerksam wird, als Scrolltext im LED-Matrix-Display eingeblendet. Diese Texte müssen nur auf dem richtigen Funk-Kanal mit dem NRF24l01 gesendet werden. (Pipe 0xF0F0F0F0D2LL / ClientId: 2)

Ich habe den Standard-Funksender um diese Funktionalität erweitert. Alternativ kann man natürlich auch einen neuen Sender nur für diesen Zweck erstellen. 
Weitere Informationen zum senden von Statusmeldungen über 2.4GHz findet Ihr im folgenden Artikel:

Anleitung: Funksender für Statustexte via 2.4GHz (NRF24L01+)