Angewandte Informatik: Mikrofon: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „thumb|rigth|300px|Abb. 1: Bluetooth Modul HC-05 thumb|rigth|300px|Abb. 2: VL6180X-Time of Flight-Laser-Abstandssensor {|class="wikitable" |- | '''Autor:''' || Prof. Dr.-Ing. Schneider |- | '''Modul''' || Business and Systems Engineering, Angewandte Mathematik und Informatik, Übung, Sommersemester |- | '''Modulbezeich…“
 
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Bluetooth Modul HC-05.jpg|thumb|rigth|300px|Abb. 1: Bluetooth Modul HC-05]]
[[Datei:Elekret Microfon Verstärker Max4466 c.jpg|thumb|rigth|300px|Abb. 1: [https://funduinoshop.com/elektronische-module/sonstige/mp3/gy-max4466-elektret-mikrofon-verstaerker Elektret Mikrofon Funduino 31.03.2025] ]]
[[Datei:VL6180X-Time-of-Flight-Laser-Abstandssensor-Gestensensor.png|thumb|rigth|300px|Abb. 2: VL6180X-Time of Flight-Laser-Abstandssensor]]
{|class="wikitable"
{|class="wikitable"
|-
|-
Zeile 13: Zeile 12:


= Inhalt =
= Inhalt =
Manchmal ist es unhandlich den Arduino am seriellen Kabel zu betreiben. Hierbei würde es helfen die Messstelle von der Auswertestelle zu trennen und die Messdaten über Funk zu übertrgagen.
Der Clapper ist ein einfaches, klatschgesteuertes Schaltgerät zur Steuerung elektrischer Geräte. Er wurde in den 1980er-Jahren von Joseph Enterprises entwickelt und in den USA vermarktet. Das Gerät erkennt charakteristische Klatschgeräusche über ein eingebautes Mikrofon. Durch eine einfache Elektronik schaltet es daraufhin angeschlossene Steckdosen oder Geräte ein und aus. Der Clapper gilt als früher Vorläufer moderner Smart-Home-Steuerungen. Wir bauen diese Steuerung nach


{{#ev:youtube|https://youtu.be/XIgR_rJs9aM?si=xUsw5yKdzGCPp8r7 | 500 | | The Clapper - Clap your lights on |frame}}
{{#ev:youtube|https://youtu.be/XIgR_rJs9aM?si=xUsw5yKdzGCPp8r7 | 500 | | The Clapper - Clap your lights on |frame}}
Zeile 19: Zeile 18:
== Lernziele==
== Lernziele==
Nach Durchführung dieser Lektion können Sie
Nach Durchführung dieser Lektion können Sie
* Messdaten vom Arduino via Bluetooth an den PC senden.
* Das Mikrofon GY-MAX4466 einlesen.
* Daten via Bluetooth empfangen und mit MATLAB<sup>®</sup> analysieren und anzeigen.  
* Die Messwerte um einen Offset bereinigen.
* Messwerte in einer <code>MAT</code>-Datei speichern.
* Ein doppeltes Klatschen erkennen.
* Eine Lampe mit einem Doppelklatscher ein- und ausschalten.
* Messwerte in Echtzeit visualisieren.


== Vorbereitung ==
== Vorbereitung ==
# Studieren Sie den Artikel [[Bluetooth_Module_HC-05|Bluetooth Module HC-05]].
Studieren Sie den Artikel [[Mikrofon_mit_Verstärker_Elektret_GY-MAX4466|Mikrofon mit Verstärker]].
# Installieren Sie die VL6180X Bibliothek von Pololu (1.4.0).
# Versetzen Sie den Arduino mittels Demo in den Sendemodus (<code>E38_sendeByteViaBT.ino</code>).
# Koppeln Sie das Notebook mit dem Arduino via Bluetooth ([[Bluetooth_Module_HC-05_-_AT-Modus#Sensoren_und_Passwörter|Kennworte für die Bluetooth-Module]]).
# Senden Sie den Inhalt eines 8-Bit Zählers.
# Empfangen Sie den Zähler mit MATLAB<sup>®</sup> (<code>empfangeByteViaBT.m</code>.
# Visualisieren Sie den Zähler in einem Plot.
# Sichern Sie die Daten in der Datei <code>Messdaten.mat</code>.


== Tutorial ==
== Tutorial ==
* [[Bluetooth_Module_HC-05|Wiki: Bluetooth Module HC-05]]
[[Mikrofon_mit_Verstärker_Elektret_GY-MAX4466|Mikrofon mit Verstärker]]
* [[Bluetooth_Module_HC-05_-_AT-Modus#Sensoren_und_Passwörter|Wiki: Kennworte für die Bluetooth-Module]]
* [[LiDAR_Abstandssensor_ToF_VL6180X| Wiki: LiDAR Abstandssensor ToF VL6180X]]
 
= Demos =
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoBluetoothModulHC05 SVN: DemoBluetoothModulHC05]
 
== E38_sendeByteViaBT.ino ==
Dieses Demo sendet seriell einen Zykluszähler via Bluetooth.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>E38_sendeByteViaBT.ino&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">// Notw. Hardware HC-05 Bluetooth Modul
// VORBEREITUNG:
// HC-05 BT-Modul anschließen (AlphaBot UART Buchse)
// VCC - Arduino 5V
// GND - Arduino GND
// TXD - Arduino RX<-D0
// RXD - Arduino TX->D1
 
void setup() {
  Serial.begin(9600);      // Verbindung aufbauen, 9600 Baud
}
 
void loop() {
  static byte Datum_u8 = 0; // Datum deklarieren
  Serial.println(Datum_u8); // Datum senden
  Datum_u8++;              // Zähler inkrememntieren
  delay(100);
}
</source>
|}
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/E38_sendeByteViaBT.ino
 
== empfangeByteViaBT.m ==
Dieses Demo empfängt Daten via Bluetooth und .
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>empfangeByteViaBT.m&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">% VORBEREITUNG:
% HC-05 BT-Modul anschließen (AlphaBot UART Buchse)
% VCC - Arduino 5V
% GND - Arduino GND
% TXD - Arduino RX<-D0
% RXD - Arduino TX->D1
% E38_sendeByteViaBT.ino auf Arduino laden
% https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoBluetoothModulHC05/DemoSoftwareSerial/DemoSoftwareSerial.ino
 
 
%bluetoothlist % Übersicht der Adapter
clear all; close all
HC05 = bluetooth('Sensor06',1)    % Tragen Sie hier Ihre Sensorbezeichnung ein
configureTerminator(HC05,"CR/LF"); % Ein Zeilenumbruch zeigt das Ende des Datenpaketes an
nDaten = 100;                      % Anzahl der Datensätze
i= 0;                              % Datenzähler
tic;                              % Zeitmessung starten
 
figure                            % Ergebnisdarstellung vorbereiten
h = animatedline('LineWidth',1);
 
%% Bluetooth empfangen
while i<nDaten
    %% Daten lesen
    n = HC05.NumBytesAvailable; 
    if n>0                        % Sind Daten verfügbar?
        data = readline(HC05)      % Zeile lesen
        if ~isempty(data)          % Daten empfangen?
            i = i+1
            floatValue(i) = str2double(data);    % Datum sichern
            Zeit(i) = toc;                        % Zeit messen
            addpoints(h, Zeit(i), floatValue(i)); % Datum visualisieren
            drawnow;
        end
    end
end
</source>
|}
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E38_sendeByteViaBT/empfangeByteViaBT.m
 
== DemoTOFVL6180X.ino ==
Dieses Demo misst mit dem LiDAR ToF VL6180X Entfernungen in mm.
 
'''Voraussetzung:''' Installation der Arduino VL6180X-Bibliothek von Pololu in der Version 1.4.0.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>DemoTOFVL6180X.ino&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">//*****************************************************************************
// Notwendige Hardware: VL6180X
// - VIN: 5V oder 3,3V
// - GND: GND
// - SDA: SDA/D16
// - SCL: SCL/D17
//*****************************************************************************
// Dokumentation: LiDAR_Abstandssensor_ToF_VL6180X
 
#include <Wire.h>    // I2C
#include <VL6180X.h>  // VL6180X von Pololu
 
VL6180X sensor;      // Instanz
 
void setup()
{
  Serial.begin(9600); // Serielle Kommunikation, 9600 Baud
  Wire.begin();      // I2C
 
  sensor.init();      // LiDAR einrichten
  sensor.configureDefault();
  sensor.setTimeout(500);
}
 
void loop()
{ const char SCALING=2;
  sensor.setScaling(SCALING); // Skalierung ändern
                              // 1: Reichweite 4mm - 200mm, Auflösung 1mm
                              // 2: Reichweite 4mm - 380mm, Auflösung 2mm
                              // 3: Reichweite 4mm - 570mm, Auflösung 3mm
  Serial.println(sensor.readRangeSingleMillimeters()); // Entfernung in mm
  if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
}
</source>
|}
'''URL:''' https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoTOFVL6180X


= Aufgabe =
= Aufgabe =
[[Datei:ZeigeLiDAREntfernung.jpg|thumb|rigth|500px|Abb. 3: Ergebnisdarstellung]]
[[Datei:LeseMikrofon 260622 16m47.jpg|thumb|rigth|700px|Abb. 2: Ergebnisdarstellung]]
* Lesen Sie mit dem LiDAR [[LiDAR_Abstandssensor_ToF_VL6180X|VL6180X]] die Entfernung zu einem Objekt in mm ein (vgl. Abb. 2).
* Schließen Sie das Mikrofon an den Pin <code>A0</code> des Arduino an.
* Übertragen Sie die gemessene Entfernung an MATLAB<sup>®</sup> via Bluetooth (vgl. Abb. 1).
* Lesen Sie mit dem [[Mikrofon_mit_Verstärker_Elektret_GY-MAX4466|Mikrofon]] den Lautstärkepegel mit MATLAB<sup>®</sup> ein.
* Empfangen Sie die Daten mit dem Skript <code>zeigeLiDAREntfernung.m</code>.
* Entfernen Sie den Offset.
* Zeigen Sie die gemessene Entfernung in einem Echtzeit-Plot an (vgl. Abb. 3).
* Erkennen Sie Klatscher.
* Haben zwei Klatscher einen Abstand zwischen 0,5&thinsp;s und 1,5&thinsp;s gilt dies als Schaltsignal.
* Das Schaltsignal schaltet eine LED, wie in der Werbung gezeigt, ein bzw. aus.
* Visualisieren Sie die Ergebnisse entsprechend Abb. 2 mit MATLAB<sup>®</sup>.


'''Arbeitsergebnisse in SVN''': <code>messeLiDAREntfernung.ino</code>, <code>zeigeLiDAREntfernung.m</code>
'''Arbeitsergebnisse in SVN''': <code>Clapper.m</code>, <code>Messdaten.jpg</code>





Aktuelle Version vom 22. Juni 2026, 15:13 Uhr

Abb. 1: Elektret Mikrofon Funduino 31.03.2025
Autor: Prof. Dr.-Ing. Schneider
Modul Business and Systems Engineering, Angewandte Mathematik und Informatik, Übung, Sommersemester
Modulbezeichnung: BSE-M-2-1.09
Lektion: 11

Inhalt

Der Clapper ist ein einfaches, klatschgesteuertes Schaltgerät zur Steuerung elektrischer Geräte. Er wurde in den 1980er-Jahren von Joseph Enterprises entwickelt und in den USA vermarktet. Das Gerät erkennt charakteristische Klatschgeräusche über ein eingebautes Mikrofon. Durch eine einfache Elektronik schaltet es daraufhin angeschlossene Steckdosen oder Geräte ein und aus. Der Clapper gilt als früher Vorläufer moderner Smart-Home-Steuerungen. Wir bauen diese Steuerung nach

The Clapper - Clap your lights on

Lernziele

Nach Durchführung dieser Lektion können Sie

  • Das Mikrofon GY-MAX4466 einlesen.
  • Die Messwerte um einen Offset bereinigen.
  • Ein doppeltes Klatschen erkennen.
  • Eine Lampe mit einem Doppelklatscher ein- und ausschalten.
  • Messwerte in Echtzeit visualisieren.

Vorbereitung

Studieren Sie den Artikel Mikrofon mit Verstärker.

Tutorial

Mikrofon mit Verstärker

Aufgabe

Abb. 2: Ergebnisdarstellung
  • Schließen Sie das Mikrofon an den Pin A0 des Arduino an.
  • Lesen Sie mit dem Mikrofon den Lautstärkepegel mit MATLAB® ein.
  • Entfernen Sie den Offset.
  • Erkennen Sie Klatscher.
  • Haben zwei Klatscher einen Abstand zwischen 0,5 s und 1,5 s gilt dies als Schaltsignal.
  • Das Schaltsignal schaltet eine LED, wie in der Werbung gezeigt, ein bzw. aus.
  • Visualisieren Sie die Ergebnisse entsprechend Abb. 2 mit MATLAB®.

Arbeitsergebnisse in SVN: Clapper.m, Messdaten.jpg



→ zurück zum Hauptartikel: BSE Angewandte Informatik - SoSe26