Arduino MP3 Soundmodul WTV020-SD-16P

Arduino MP3 Soundmodul WTV020-SD-16P

EUR 4,56 auf Amazon (Stand 29.03.2018)

Wenn es geliefert wurde ist es so noch nicht einsetzbar. Man muss sich nun entscheiden ob man das Modul auf 3.3 oder 5 Volt laufen lassen möchte.
Dann muss man eine Lötbrücke auflöten. Siehe Bild (dort 5 Volt). Habe aber gelesen das man lieber 3.3 Volt nehmen soll. Eventuell sind 5 Volt zu viel !

Es wird auch noch eine Micro SD Karte benötigt. Laut Informationen sollte sie nicht größer als 1 GB sein. (Aber noch nicht getestet)
Als FAT formatiert.

Wir können den ersten Pin des WTV020-Moduls mit der Nummer 1 sehen. Die Pins nehmen im Gegenuhrzeigersinn zu, so dass wir Pin 16 auf der anderen Seite des Moduls haben. Die kleine Rille in der Modulplatine zeigt uns immer den oberen Teil davon. So verbinden wir Pin 1 des Moduls mit dem digitalen Pin 4 des Arduino. Dies ist der Reset-Pin. Wir verbinden Pin 7 mit dem digitalen Pin 5 des Arduino. Dies wird die Uhr sein. Verbinden Sie Pin 10 und 15 vom Modul mit den digitalen Pins 6 und 7 des Arduino. Dies sind die Daten und die belegten Pins. Schließlich verbinden wir 3,3 Volt mit Pin 16 des Moduls und Masse mit Pin 8. Denken Sie daran, 5 Volt „könnten“  das Modul beschädigen , also seien Sie vorsichtig, dass Sie nur 3.3V als Hauptstromquelle anschließen. In diesem Fall ist der Lautsprecher-Ausgang Pin 4 und 5 des WTV020-Moduls.

 

Sound:
muss 16 Bit/mono sein und .ad4 Format

Jetzt, wo Sie einen 16-Bit-Mono-Format-Sound haben, müssen Sie Ihre Datei umbenennen. Denken Sie daran, dass das Modul nur mit den Dateinamen 0000.ad4, 0001.ad4, 0002.ad4 funktioniert . Benennen Sie Ihre Datei als 0000.wav um. Dies wird der erste Track unserer SD-Karte sein. Wenn Sie mehr Dateien anzeigen möchten, nennen Sie einfach den zweiten 0001, den dritten 0002 usw.
Nun empfehle ich Ihnen, einen neuen Ordner namens „audio“ zu erstellen, zum Beispiel in C: / mit allen Benutzerrechten. Es muss in C: / sein, weil wir „cmd“ oder command prompt verwenden werden, um unsere Dateien zu konvertieren.
Laden Sie die nächste AD4converter.zip-Datei herunter und kopieren Sie die extrahierte Datei in diesen neuen „Audio“ -Ordner. Kopieren Sie auch Ihre WAV-Datei in dasselbe Verzeichnis.
Sie können das herunterladen AD4converter.zip

Ihr Ordner sollte nun ungefähr so ​​aussehen: Wir haben unseren „Audio“ Ordner im C: / Verzeichnis und darin den AD4converter und unsere 0000.wav Datei. Gehen Sie jetzt zum Starten und geben Sie cmd ein und öffnen Sie die Eingabeaufforderung. Geben Sie cd .. ein damit geht man  zurück in das vorherigen Verzeichnis , bis Sie zu C : / kommen . Einmal in
C:   / CD-Audio eingeben und Enter drücken, um den Audio-Ordner zu öffnen. Geben Sie im AUIDO-Ordner AD4converter -E4 0000.wav ein und drücken Sie die Eingabetaste. Dies sollte die Datei konvertieren und eine neue 0000.ad4-Datei im Audio-Ordner erstellen. Jetzt bist du fertig. Kopieren Sie einfach die Datei 0000.ad4 auf Ihre vorformatierte MicroSD-Karte. Führen Sie die gleichen Schritte für andere Dateien aus und füllen Sie Ihre SD-Karte.

 

Arduino-Code

Laden Sie zuerst die wtv020-Bibliothek herunter.
Diese muss nun in Arduino geladen werden. Sketch>Bibliothek einbinden>.ZIP Bibliothek einbinden und das File aussuchen.

Beispiel Code:

/* Example: Control a WTV020-SD-16P module to play voices from an Arduino board. */

#include „Wtv020sd16p.h“

int resetPin = 4; // The pin number of the reset pin.
int clockPin = 5; // The pin number of the clock pin.
int dataPin = 6; // The pin number of the data pin.
int busyPin = 7; // The pin number of the busy pin.
/* Create an instance of the Wtv020sd16p class.
1st parameter: Reset pin number.
2nd parameter: Clock pin number.
3rd parameter: Data pin number.
4th parameter: Busy pin number. */
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);
void setup() { //Initializes the module.
wtv020sd16p.reset();
}
void loop() {
////////////////////////////////////////////
//This are all the functions for the WTV020 module
//Use yours and delete the others
//Each function is explained
///////////////////////////////////////////
//Plays synchronously an audio file. Busy pin is used for this method.
//wtv020sd16p.playVoice(0);
//Plays asynchronously an audio file.
wtv020sd16p.asyncPlayVoice(1);
//Plays audio file number 1 during 5 seconds.
delay(5000);
//Pauses audio file number 1 during 5 seconds.
//wtv020sd16p.pauseVoice();
//delay(5000);
//Resumes audio file number 1 during 5 seconds.
//wtv020sd16p.pauseVoice();
//delay(5000);
//Stops current audio file playing.
//wtv020sd16p.stopVoice();
//Plays synchronously an audio file. Busy pin is used for this method.
//wtv020sd16p.asyncPlayVoice(2);
//delay(2000);
//Mutes audio file number 2 during 2 seconds.
//wtv020sd16p.mute();
//delay(2000);
//Unmutes audio file number 2 during 2 seconds.
//wtv020sd16p.unmute();
//delay(2000);
//Stops current audio file playing.
//wtv020sd16p.stopVoice();
}

Sonoff Touch EU flashen

Produkt Seite: http://sonoff.itead.cc/en/products/residential/sonoff-touch

Anders als die meisten Sonoff-Module (ESP8266) basiert der Sonoff Touch auf dem ESP8285. Obwohl der eigentliche Chip im Inneren auch ein PSF-A85 sein kann.

Serielle Verbindung:

Wie immer müssen Sie auf die serielle Schnittstelle zugreifen. Entfernen Sie vorsichtig die obere PCA aus der Baugruppe. Die versteckte Unterseite der Platine enthält das ESP8285 wie in den Bildern gezeigt. Die vier seriellen Pins (3V3, Rx, Tx, GND) sind im Bild für die EU-Version der Modulplatine zu sehen.

Seien Sie vorsichtig, wenn Sie die obere Platine entfernen und wieder zusammenbauen. Der Berührungssensor sollte sich wieder an seinem vorgesehenen Platz befinden, achten Sie darauf, ihn während der Änderungen nicht direkt zu berühren.

Die Sonoff Touch-Taste ist nicht mit GPIO0 verbunden und kann daher nicht verwendet werden, um das Modul in den Programmiermodus zu bringen. Eine Verbindung zwischen GPIO0 und GND muss manuell hergestellt werden. GPIO0 befindet sich auf der rechten Seite des ESP8285 und ist der zweite Pin von unten, wie auf den Bild zu sehen ist.

 

Hinweis: Auch wenn Sie den PSF-A85-Chip anstelle eines standardmäßigen ESP-8285 verwenden, befindet sich der Pin GPIO0 an derselben Stelle. Achten Sie auf die Ecke des Chips mit drei unbenutzten Lötkontakten. Hier befindet sich der externe Antennenanschluss in den obigen Bildern. Beim PSF-A85 im Sonoff Touch ist der externe Antennenanschluss nicht angelötet.

Ich habe dann nun an den vier Lötaugen eine Buchse angelötet.

Tasmota Software installieren.

Laden Sie sich die Tasmota Software in die Arduino IDE.

Board konfigurieren:

Verbinden sie nun den Touch mit dem Computer, achten Sie darauf das GPIO0 auf GND zu ziehen, sonst ist der Touch nicht im Programmiermodus.

In der Arduino IDE noch in der Config das WLAN eintragen, kann man auch später machen. Ich mach es aber immer vorher.

Dann die Software übertragen.

Nach dem übertragen suchen wir nun auf unseren Router die IP Adresse die ihm der Router gegeben hat. (Wenn man sein WLAN nicht vorher angegeben hat so ist ein neues WLAN Netzwerk zu finden (ESP ….) dieses dann wählen.

Im Browser geben wir nun diese IP ein. Als erstes bei Module type das Sonoff Touch auswählen und abspeichern.

Solltet Sie auch den MQTT benutzen diesen auch konfigurieren

Will man das auch Alexa dieses Gerät findet wählt man in den Emulation Belkin WeMo

MQTT Ausgabe beim laufenden Sonoff Touch:

Viel Spaß mit eurem geflashten Sonoff Touch.

 

 

 

 

 

Ligan SWA1 mit Temperatursensor

Hallooooo,

habe nun an meinen Ligan SWA1 Steckern Temperatursensoren dran gebaut 🙂

Temperatur Sensor Halter GCODE

Temperatur Sensor Halter STL

 

Leider hab ich es versäumt selber Bilder bei der Montage zu machen. Hier ein paar von User D. Emmrich bereitgestellt:

GND hab ich mir von dem GND geholt der beim Flashen ist.

VCC 5V hab ich mir von der Hauptplatine abgezapft.

Kniffeliger wird es beim anlöten des DATA Kabels, den der muss an GPIO 14 des Chips.

und vergesst bitte nicht wie ich am Anfang den Widerstand zwischen VVC und DATA Kabel des Sensor. Bis mir das wieder einfiel hab ich das Ding mindestens 4 mal auseinander gebaut und zusammen um den Fehler zu finden , Grummel 🙂 Sollte er also bei euch 0 Grad anzeigen so fehlt der Widerstand !!

Bitte nicht vergessen in der Software den GPIO14 einzustellen, das der Sensor dran hängt!

 

 

Reed Sensor ( Öffner ) selber bauen

Da ich ja im Moment an den Fenster und Türkontakt rum experimentiere und mir ja der Gedanke gekommen ist es auch mal mit einem anderen Reed Sensor zu probieren (benutze ja in der Version 1 und 2 einen Schließer), hab ich mir mal Gedanken dazu gemacht und drauf gekommen diesen selber zu bauen 🙂

Da ich ja auch hier den 3D Drucker Anet A8 habe viel die Konstruktion des Reed Sensors nicht schwer.

Teile die man brauch

1 *  Feder aus dem Kugelschreiber
1 *  etwas Silberdraht
1 *  eine Buchse

Video

 

 

Wemos D1 mini Fenster- und Türkontakt

Meine erste Version hielt nicht lange, die Batterie war ziemlich schnell leer. Die Grundidee aber finde ich immer noch gut, mit so wenig wie möglichen Teilen so einen Kontakt zu bauen. Nun hab ich meine Version 2 gebaut. Verwendet habe ich diesmal den Wemos D1 mini, einen Reed-Sensor, einen 7805 Regulator und eine 9v Blockbatterie.

Auf dem Wemos d1 mini habe ich die Tasmota mit DeepSleep aufgespielt. Diese ermöglicht mir die DeepSleep Zeit selber einzustellen über meine Openhab2 Software. Natürlich auch nur wenn der D1 nicht grad am schlafen ist :).

Das Gehäuse dazu :

In OpenHab2 wird es auch schon angezeigt:

 

Ich teste nun erstmal die Laufzeit mit der Batterie.

———————————————————–

Habe nun aber auch gesehen oder eher gelesen das es unterschiedliche Reed Sensoren gibt, was sehr interessant ist. Ich habe nun einen Schließer eingebaut, aber ich denke einen Öffner würde noch mehr Strom sparen (leider ist das Ding auch etwas teurer). Den wenn z.B. das Fenster zu ist kann dieser die Stromzufuhr zum D1 mini ausstellen. In der OpenHab2 wird das als zu angezeigt. Wird nun das Fenster geöffnet bekommt der D1 wieder Strom (natürlich im DeepSleep Modus), und sendet mir z.B. alle 5 oder 10 Minuten den Zustand des Fensters. Wird es wieder geschlossen, bekommt er kein Strom mehr, und brauch auch nicht mehr abgefragt zu werden. Damit verdoppelt sich die Haltbarkeit der Batterie, wenn nicht noch mehr. Den man hat ja wohl mehr ein Fenster geschlossen als auf.

Version 3 wird wohl dann auch bald kommen 🙂

 

Lingan SWA1 flashen mit Tasmota

 

Lingan SWA1

Dies ist ein weiterer billiger Wi-Fi Stecker, der den ESP8285 verwendet, vergleichbar mit dem Sonoff S20.

Ich habe die Standardsoftware die auf dem Stecker ist nicht ausprobiert, da ich a. nicht möchte das die Schaltvorgänge über einen Chinesischen Server läuft und b. ich die Software Tasmota benutzen möchte um den SWA1 in der Hausautomation zu verwenden. Da diese MQTT besitzt.

Nennstrom ist 10A, maximale Leistung 2000W. Es hat eine FCCID (2AJK8-SWA1) und ist CE-gekennzeichnet.

Relais und rote LED sind auf GPIO5

Blaue LED leuchtet auf GPIO 4

Button ist auf GPIO 13

Das Gehäuse zu öffnen ist einfach, zuerst entfernen Sie die 4 Schrauben auf der Rückseite. Nun können sie den Deckel abnehmen. Desweiteren die beiden kleinen Schrauben entfernen die die Platine mit den ESP beinhalten. Die Steckverbindungen können Sie dran lassen.

 

Das ESP8285 ist auf einer separaten Platine mit dem Druckknopf und den LEDs, seien Sie vorsichtig mit den 3 Drähten, die es mit dem Hauptplatine verbinden, weil sie ziemlich zerbrechlich zu sein scheinen. Es ist wahrscheinlich am einfachsten, die Platine, die an der Vorderseite des Gehäuses befestigt ist, abzuschrauben, aber es besteht keine Notwendigkeit, das Ganze in Stücke zu zerlegen.

Es gibt Pads für einen Programmierkopf, aber ungewöhnlich ist die Stromversorgung zum Eingang des AMS1117 3V3 Reglers und nicht direkt zum 3V3 Eingang des ESP8266. Ich habe gerade 5V in den Header eingespeist, aber man könnte auch 3V3 auf den Ausgang des Reglers tippen.

 

Vorbereiten für TASMOTA

Ich habe die Buchsenleiste so wie auf dem Bild angelötet, ich habe diese Seite gewählt da man die Buchsen so dran lassen kann beim wieder zusammen bauen. Verbinden sie nun den Stecker mit ihren bevorzugten Flashart. Vergessen Sie nicht, die GPIO0-Verbindung mit GND zu verbinden, um in den Programmiermodus zu gelangen.

In der Tasmota Config bitte noch Ihre WLAN Verbindung eintragen.

Einstellung in der Arduino IDE:

Board: Generic ESP 8285 Module
CPU : 80 Mhz
Flash Size: 1M 512 SPIFS

Und flashen………………….

Sollte alles glatt gelaufen sein. Stecker zusammen bauen und in die Steckdose stecken.

Nun Ihr WLAN Router öffnen und nachsehen welche IP der Stecker bekommen hat. Diese öffnen wir in einem Browser Ihrer Wahl.

Es öffnet sich das Tasmota Menü.

Nun müssen wir noch ein paar Änderungen vornehmen, den so funktioniert das ganze noch nicht.

 

Als Modul bitte „WEMOS D1 MINI MODULE“ wählen, und die Änderungen GPIO4,5,13 wie auf dem Bild zu sehen ändern. Danach Save. Wenn sie noch MQTT benutzen wollen diese an Ihren Bedürfnissen ändern und abspeichern. Nun ist es geschafft.

 

UPDATE:

Habe nun an jedem Stecker einen Temperatursensor eingebaut 🙂

SWA1 mit Temperatursensor

ESP 01 – OPENHAB2 – TÜR FENSTERKONTAKT SELBER BAUEN

EDIT: Es hat sich herausgestellt das es so nicht wirklich lange funktioniert 🙂

Ich habe aber bereits eine andere Version gemacht, VERSION2.

——————————————————–

 

Ich spiele grad ein bisschen mit OpenHab2 und ESP 8266 herum. Nach unzähligen Webbeiträgen und Videos hab ich mal angefangen einen Fenster oder Türkontakt zu bauen. Alles was ich brauchte war noch in meinen Kisten verstaut.

Zuerst hab ich also ein ESP-01 mit ESPEasy geflascht. Wie das geht ist ausführlich im Internet beschrieben, da will ich auch nicht weiter drauf eingehen.

Hmm, was sollte dieser Fenster- oder Türkontakt machen. Seine einzige Funktion die er haben brauch ist mir zu sagen wann ein Fenster oder eine Tür offen oder zu ist.
Das könnte man mit einem Schalter machen, aber das war mir zu klobig. Ich benutze einen Reed-Sensor dafür, der auf Magneten reagiert bzw. schaltet.

Da der ESP-01 zwei GPIOs hat die man belegen kann hab ich mich bei meinem für den GPIO0 entschieden.

Hier nun ein paar Bilder:

IMG_1771  Als Gehäuse hab ich mir diese Batteriehaltung auserkoren.

IMG_1782 Da ich nur 3.3 V brauche hab ich bei der einen Hälfte mit einem Dremel das Plastik entfernt, eine Rasterplatine so geschnitten das sie dann darein passt.

IMG_1785

IMG_1791 Aus mehr Teilen besteht der Kontakt nicht 🙂 das ist alles was man brauch.

IMG_1796 Und so sieht es „fertig“ aus. Ich druck mir nachher noch auf meinem 3D Drucker ein Gehäuse aus.

Nun befestigt man dieses an den Tür- oder Fensterrahmen. An der Tür oder dem Fenster kommt ein kleiner Magnet. Intrigiert in die OpenHab2 Software sagt sie mir nun ob es
offen oder geschlossen ist :).

Muss noch prüfen wie weit ich mit einer Batterieladung komme. Gegebenenfalls löte ich zuerst die LEDs vom ESP-01 ab weil die nicht gebraucht werden und sonst dauernd leuchten und Strom verbrauchen. Eine andere Überlegung ist es sie in einen „Deep-Sleep“ zu versetzen und sie nur aufwachen zu lassen wenn ein Ereignis eintritt.

Mal schauen….

 

3D Drucker Anet A8

Habe nun seit ein paar Wochen den Anet A8 3D Drucker zu Hause und möchte hier nun meine Erfahrungen sowie Probleme und Lösungen reinstellen. Dieser Beitrag wird nach und nach erweitert.

Eins sei am Anfang gesagt, wir reden hier von einem billig 3d Drucker aus China, also erwartet nicht Modelle dir ihr macht die 100% tig sind. Man kann zwar noch einiges an dem Drucker verbessern, aber er wird nie an einen teuren 3D Drucker herankommen. Verständlich.

Ich habe meinen bei Ebay bestellt und darauf geachtet das er aus Deutschland verchickt wird und nicht aus China. Per Paypal bezahlt und ein paar Tage später hatte ich schon ein grosses Paket zu Hause stehen.

Erstmal nachprüfen ob auch alles da ist. Die Anleitung die als DinA4 Blatt dabei liegt sofort wegwerfen. Man erkennt eh nichts darauf. Es liegt eine SD Karte sabei und ein SD USB Stecker. Auf der SD findet ihr eine lesbare Version des Blattes. Ich empfehle beim zusammenbau Youtube zu benutzen, dort wird in mehreren Videos genau der Aufbau beschrieben und auf was man achten soll. Linkliste:

Teil 1: https://youtu.be/-tiHfzBQZpI

Teil 2: https://youtu.be/EbNocv6-OOQ

Teil 3: https://youtube.com/watch?v=Ml1XGhJF4_E#

Für die ersten Versuche reicht dir bestimmt erstmal das normale Heizbett mit dem aufgeklebten Krepp. Aber ich empfehle euch auf Glas zu wechseln. Ich habe diese hier bei mir drauf:

VS Electronic 840569 Glaspanel für 3D-Drucker, 215 mm x 215 mm x 3 mm Glaspanel für Anet A8.

Wenn du auf Glas druckst und du das PLA Teil nicht hinunter bekommst warte bis sich das Heizbett abgekühlt hat, dann geht es leicht ab. Also nicht zu früh dran ziehen.

Das A und O bei dem Drucker ist der erste Layer. Ist der Mist brech lieber den Druck ab. Also das justieren des Heizbett zur Nozel (Düse) ist eins der sehr wichtigen einstellungen. Vielleicht auch die wichtigste.

Arduino 433 MHz Modul

433MHz

433MHz_fritzing

Arduino – Sketch – Sender:
  
 //    433 mhz Blink - Sender Sketch 
           
 

 #define rfsenderPin 4  //RF Sender pin = digital pin 4
 #define ledPin 13        //Onboard LED = digital pin 13

 void setup(){
   pinMode(rfsenderPin, OUTPUT);     
   pinMode(ledPin, OUTPUT);    
 }

 void loop(){
   for(int i=4000; i>5; i=i-(i/3)){
     digitalWrite(rfsenderPin, HIGH);     //sendet ein HIGH Signal
     digitalWrite(ledPin, HIGH);            //LED anschalten
     delay(2000);                           //1 Sekunde warten
     
     digitalWrite(rfsenderPin,LOW);      //sendet ein LOW Signal
     digitalWrite(ledPin, LOW);            //LED ausschalten
     delay(i);                            //variabler Delay
   }
 }
--------------------------------------------------------

Arduino - Sketch - Empfänger
  //    433 mhz Blink - Sender Sketch



 #define rfReceivePin A0  //RF Empfänger Pin = Analog pin 0
 #define ledPin 13        //Onboard LED = digital pin 13

 unsigned int data = 0;   // Variable zum speichern empfangener Daten
 const unsigned int upperThreshold = 70;  //Höchster Schwellenwert
 const unsigned int lowerThreshold = 50;  //niedrigster Schwellenwert

 void setup(){
   pinMode(ledPin, OUTPUT);
   Serial.begin(9600);
 }

 void loop(){
   data=analogRead(rfReceivePin);    //warten auf Daten am Analog pin 0
   
    if(data>upperThreshold){
     digitalWrite(ledPin, LOW);   //Wenn ein LOW Signal empfangen wird, LED AUS
     Serial.println(data);
   }
   
   if(data<lowerThreshold){
     digitalWrite(ledPin, HIGH);   //Wenn ein HIGH Signal empfangen wird, LED AN
     Serial.println(data);
   }
 }

HC-05 Bluetooth Modul AT Modus

Ein leeres Sketch auf dem Arduino aufspielen

USB Stecker abziehen (kein Strom auf dem Arduino)

Bluetoothmodul verbinden:

BT-05                                    Arduino

RXD                                       RX

TXD                                       TX

GND                                     GND

VCC                                       5V

EN                                         3.3V

USB Kabel wieder anschliessen.

SerialMonitor in der Arduino DIE öffnen

Baudrate 38400 Sowohl NL als auch CR einstellen

 

Nun können AT Kommandos gesendet werden.