Es können mit diesen günstigen Modulen Geräusche analog oder auch digital drahtlos übertragen werden.
Die VirtualWire Library kann für die Ansteuerung verwendet werden. Hier ein Beispiel mit dem Arduino der Raspberry Pi würde natürlich auch gehen.
Tech. Daten
Empfänger
1.Product Model: MX-05V
2.Operating voltage: DC5V
3.Quiescent Current: 4MA
4.Receiving frequency: 315 MHZ (in Deutschland nicht zugelassen, dort z.B. 433 Mhz verwenden)
5.Receiver sensitivity:-105DB
6.Size: 30 * 14 * 7mm
7.External antenna: 32CM single core wire, wound into a spiral
Sender
1.Product Model: MX-FS-03V
2.Launch distance :20-200 meters (different voltage, different results)
3.Operating voltage :3.5-12V
4.Dimensions: 19 * 19mm
5.Operating mode: AM
6.Transfer rate: 4KB / S
7.Transmitting power: 10mW
8.Transmitting frequency: 315 M (in Deutschland nicht zugelassen, dort z.B. 433 Mhz verwenden)
9.An external antenna: 25cm ordinary multi-core or single-core line
10.Pinout from left → right: (DATA; VCC; GND)
Mikrofon
LM393 oder KY-038
Das Sender Programm, das in den Arduino geflasht werden muss:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
/* TWSendRawSound Beschreibung: Dieses Programm liesst die Daten von dem Soundsensor analog ein und sendet Signale per WiFi. Folgende Verbindungen sind noetig: Arduino Nano: A3 auf PIN 2 OUT +5v auf PIN 3 +5 Volt GND auf PIN 1 GND Serielle Konsole auf 9600 Baud stellen. Compile mit Arduino 1.6.2 IDE. Einstellung: Board Arduino Nano Copyright (C) 2015 Thomas Wenzlaff http://www.wenzlaff.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. */ #include <VirtualWire.h> // Baud Rate zum Host PC, evl. aendern const long BAUD_RATE = 9600L; // Baud Rate zum Virtual Wirer const int BAUD_VIRTUAL_WIRE = 2000; // PIND zu Virtual Wire const int VIRTUAL_WIRE_PIN = 12; // SOUND Sensor an analog Pin 3 const int SOUND_SENSOR_PIN = 3; void sendString(String message, bool wait) { byte messageLength = message.length() + 1; // convert string to char array char charBuffer[messageLength]; message.toCharArray(charBuffer, messageLength); vw_send((uint8_t *)charBuffer, messageLength); if (wait) vw_wait_tx(); } void setup() { Serial.begin(BAUD_RATE); Serial.println("Starte TWSendRawSound V. 1.0 von wenzlaff.info"); pinMode(SOUND_SENSOR_PIN, INPUT); vw_set_tx_pin(VIRTUAL_WIRE_PIN); vw_setup(BAUD_VIRTUAL_WIRE); } void loop() { // analog int sensorDaten = analogRead(SOUND_SENSOR_PIN); // digital würde auch gehen mit // int sensorDaten =digitalRead(soundSensor); // dann aber den digitalen Pin auf der anderen Seite des Nano verwenden if (sensorDaten <= 1000){ //rausche verhindern // ueber WIFI senden String data = String(sensorDaten, DEC); sendString(data, true); } } |
Der ganze Aufbau des Senders:
Der Arduino:
Das Micro im Detail:
Das Empfänger Programm in den Empfänger Arduino flashen. In dieser Version werden die Daten nur in der Konsole ausgegeben. Cool…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
/* TWSoundEmpfang.ino Der Empfaenger der Sound Auswertung.. Serielle Konsole auf 9600 Baud stellen. Compile mit Arduino 1.6.2 IDE. Einstellung: Board Arduino Nano, Prozessor Arduino ATMega328, Programmer USBtinyISP Copyright (C) 30.08.2015 Thomas Wenzlaff http://www.wenzlaff.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. */ #include <VirtualWire.h> const int led_pin = 13; const int transmit_pin = 12; const int receive_pin = 11; const int transmit_en_pin = 3; byte message[VW_MAX_MESSAGE_LEN]; // Buffer fuer die eintreffenden Nachrichten byte messageLength = VW_MAX_MESSAGE_LEN; // die Groesse der Nachricht void setup() { delay(1000); Serial.begin(9600); Serial.println("Starte TWSoundEmpfaenger V. 1.0 von wenzlaff.info"); vw_set_tx_pin(transmit_pin); vw_set_rx_pin(receive_pin); vw_set_ptt_pin(transmit_en_pin); vw_set_ptt_inverted(true); // fuer DR3100 vw_setup(2000); // Bits per sec Serial.println("OK"); vw_rx_start(); } void loop() { if (vw_get_message(message, &messageLength)) // non-blocking { digitalWrite(led_pin, HIGH); // Serial.print("OK: "); for (int i = 0; i < messageLength; i++) { Serial.write(message[i]); } digitalWrite(led_pin, LOW); Serial.println(); } } |
Reichweite:
Bisher habe ich die Daten nur von einem Raum in den anderen übertragen. Weiter Tests folgen…