In diesem Tutorial möchte ich den Mikrocontroller ESP-WROOM-02 (ESP8266) mit dem Modul X-RING vorstellen.
Das Modul X-RING ist ein 12bit WS2812B Modul welches über 12 NeoPixel verfügt. Der Mikrocontroller wird dabei unter das Board gesteckt.
Bezug
Den Bausatz habe ich über aliexpress.com für knapp 5 $ inkl. Versandkosten erstanden. Neuerdings gibt es diesen ESP WROOM X-RING Bausatz bei ebay.de* für knapp 10 € inkl. Versandkosten aus China.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Neben dem X-RING gibt es noch zusätzlich
- OLED Shield,
- Batteryshield,
- Taster,
- Relais,
- DHT11,
- DHT22,
- Piezo Buzzer,
- 4bit WS2812B (4x NeoPixel),
- Dual-Base Plate,
- Prototype Plate,
Wenn man sich diese Module anschaut, dann ist das ca. der gleiche Umfang wie es auch für den Wemos D1 mini gibt.
Es gibt jedoch 2 verschiedene Mikrocontroller zuhaben einmal einen ESP32 und einmal einen ESP8266. Für dieses Tutorial habe ich mir den ESP8266 geholt.
Technische Daten
Microcontroller ESP8266 WROOM (ESP8266)
- 32Bit Mikrocontroller
- IEEE 802.11b/g/n mit 2.4GHz
- 2Mbyte SPI Flash
Der Mikrocontroller verfügt über 5 digitale IO Pins und zusätzlich einmal SDA & SCL. Des Weiteren über die üblichen Pins für die Kommunikation RX, TX und die Spannungsversorgung 3V, 5V und GND.
Modul X-RING
Das X-RING Modul besitzt neben den 12 NeoPixel eine kleine Schalterleiste, welche durch eine gelbe Folie abgedeckt ist.
Aufbau
Der Mikrocontroller und das Modul selbst sind im groben schon vorbereitet einzig müssen nur noch die Stiftleisten & Buchsen angelötet werden.
Zunächst einmal benötigt man 2 Breadboards auf welche die Stiftleisten wie für das X-RING Modul benötigt wird, aufgesteckt werden. Danach wird das X-RING Modul auf die Stiftleisten (kurze Pins) gelegt und verlötet. Im nächsten Schritt wird nun das X-RING Modul umgedreht und auf die Stifte die Buchsenleisten gesteckt und wiederum auf die kurzen Pins nun der ESP Controller gelegt.
Es muss auf die korrekte Ausrichtung geachtet werden!
Wenn jetzt alles verlötet ist, ist der Aufbau auch schon geschafft und es kann mit der Programmierung losgehen.
Programmieren des X-Ring
Im Tutorial Arduino Lektion 31: 12bit RGB NeoPixel Ring habe ich bereits einen NeoPixel Ring vorgestellt und an einem Mikrocontroller betrieben. Hier möchte ich jetzt speziell auf den X-Ring eingehen, jedoch wird dieser ähnlich betrieben.
Zunächst einmal muss man einen digitalen Pin für den Ring auswählen, dieses wird über die 8 Schalter auf der Front des X-Ring gemacht.
Mapping der Schalter auf die Pins
1 | D3 |
2 | D4 |
3 | D5 |
4 | D6 |
5 | D7 |
6 | D8 |
7 | RXD |
8 | TXD |
Lauflicht in “grün”
Im folgenden Beispiel möchte ich zeigen, wie man die 12 NeoPixel nacheinander in der Farbe “grün” aufleuchten lässt.
//Adafruit Bibliothek zum ansteuern des X-Ring Modules #include <Adafruit_NeoPixel.h> //digitaler Pin D3 #define PIN D3 //anzahl der NeoPixel im Ring #define ANZAHL_PIXEL 12 //definieren einer kleinen Pause zwischen den einzelnen Schritten const int PAUSE = 250; //Initialisieren einer Instanz für den X-Ring //Parameter 1 - anzahl der Pixel //Parameter 2 - an welchem digitalen Pin der X-Ring betrieben wird //Parameter 3 & 4 - Farbwert sowie Frequenz Adafruit_NeoPixel xRing = Adafruit_NeoPixel(ANZAHL_PIXEL, PIN, NEO_RGB + NEO_KHZ800); void setup() { xRing.begin(); //Leuchtstärke auf 30% setzen, die NeoPixel sind sehr leuchtintensiv. xRing.setBrightness(30); xRing.show(); } void loop() { //setzen der Farbe "grün" als Variable uint32_t green = xRing.Color(0, 255, 0); //Alle NeoPixel von 0 bis 11 in der Farbe //"grün" aufleuchten lassen. for(int i=0; i<ANZAHL_PIXEL; i++) { xRing.setPixelColor(i, green); //Wichtig ist das die Methode "show" aufgerufen //wird, denn sonst wird der NeoPixel nicht in der //gewünschten Farbe aufleuchten. xRing.show(); delay(PAUSE); //eine kleine Pause bis zum nächsten Schritt } xRing.clear(); //Alle NeoPixel löschen xRing.show(); //aktiveren delay(PAUSE); //eine kleine Pause }
Video
Das Aufnehmen von NeoPixel ist für eine einfache Kamera immer etwas schwierig, daher bitte ich die schlechte Qualität zu verzeihen.
Fazit
Das X-Ring-Modul ist schnell programmiert. Der Vorteil das man den Mikrocontroller direkt draufstecken kann, wird jedoch dem hohen Preis nicht gerecht, vor allem kann man dann die anderen Pins nur noch sehr schwierig nutzen. Hier müsste der Hersteller meiner Meinung nach etwas nacharbeiten. Als Nächstes würde ich mir das OLED Shield sowie das Taster und Relaisshield etwas genauer anschauen. Jedoch erwarte ich hier nicht großartige Inovation denn diese Module gibt es bereits seit langem für den Wemos D1 mini.