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.

 

 

 

 

 

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);
   }
 }