Arduino Sound-aktivierte LED Projekt

Arduino Sound-aktivierte LED Projekt

Im Projekt Sound-Activated LED wird ein einfacher Arduino-Schaltkreis aufgebaut, der in erster Linie ein zweifarbiges LED-Modul (Leuchtdiode) und ein Mikrofon-Sound-Sensor-Modul verwendet. Die Prämisse dieses Projekts ist einfach: Wenn der Geräuschsensor ein Schnapp-/Klatschgeräusch aufnimmt, wechselt die LED zwei Sekunden lang von grün auf rot und kehrt dann in ihre ursprüngliche grüne Farbe zurück. Wenn der Geräuschsensor überhaupt kein Schnappgeräusch erkennt, bleibt die LED einfach grün. Das Geräusch muss technisch gesehen kein Schnapp-/Klatschgeräusch sein, da es sich nur um ein Beispiel für ein Geräusch handelt, das den Sensorwert über einen bestimmten Schwellenwert ansteigen lassen kann, um dann den Farbwechsel der LED auszulösen.

Das Tonsensormodul, das in Sound-Activated LED verwendet wird, ist das HW-485 Microphone Sound Sensor Module und kann sowohl analoge als auch digitale Signale ausgeben. Da in diesem Projekt jedoch digitale Signale verwendet werden, um die LED-Farbe zwischen zwei Zuständen zu wechseln, wird der digitale Ausgang des Sensors verwendet. Das bedeutet, dass der Tonsensor nur zwei Zustände senden kann, abhängig vom Eingangspegel (Ton), den er empfängt: 1 (an) oder 0 (aus). Der Sensor sendet eine 1 an den Arduino, wenn er ein Geräusch empfängt, das über seinem Schwellenwert liegt. Andernfalls wird eine 0 für alle Geräusche gesendet, die den Schwellenwert nicht überschreiten.

Um diesen Schwellenwert zu ändern, können Sie das Trimmpotentiometer, das direkt auf dem Sensormodul angebracht ist, drehen, um die Empfindlichkeit des Sensors zu modulieren. Bei diesem speziellen Modell (HW-485) erhöht das Drehen des Potentiometers im Uhrzeigersinn die Empfindlichkeit, während das Drehen des Potentiometers gegen den Uhrzeigersinn die Empfindlichkeit verringert. Beachten Sie bitte, dass die Richtung bei Ihrem Tonsensormodul je nach Modell umgekehrt sein kann. Wenn die LED ihren Zustand (Farbe) nicht ändert, wenn ein lautes Geräusch in der Nähe ist, müssen Sie die Empfindlichkeit des Sensors ändern. 

Wenn Sie die grundlegenden Prinzipien dieses Arduino-Projekts verstanden haben, wird es sicherlich einfacher sein, einige der in diesem Schaltkreis demonstrierten Konzepte in andere Anwendungen zu integrieren. Die Grundlage dieses Projekts beruht im Wesentlichen darauf, dass der Tonsensor einen Eingang (Ton) aufnimmt und als Schalter fungiert, um dann eine Änderung im LED-Modul, dem Ausgabegerät, zu aktivieren. Mit diesem Konzept im Hinterkopf lässt sich das Ausgabegerät leicht durch einen Piezo-Summer (zur Erzeugung von Geräuschen), ein optisches Display (LCD, OLED, TFT usw.), ein Relais (das mit anderen externen Geräten in Reihe geschaltet wird), einen drahtlosen Sender usw. ersetzen. Zusätzlich kann in PCBA für UnterhaltungselektronikEin ähnlicher Schaltkreistyp wird bei der Entwicklung von sprachgesteuerten elektronischen Geräten oder sogar Hausautomatisierungssystemen verwendet. Viele dieser Schaltkreise lassen sich außerdem sowohl durch Durchsteckmontage als auch durch Oberflächenmontage in eine Leiterplatte integrieren, um die Gesamtgröße des Projekts zu verringern. Wenn Sie ein Projekt wie dieses von einem Breadboard auf eine Leiterplatte übertragen, lässt es sich mühelos realisieren. Um dieses Schaltkreisprojekt selbst zu entwickeln, müssen wir Quellkomponenten:

  • Arduino Nano (andere Arduino-kompatible Boards funktionieren auch)
  • USB-Kabel (kompatibel mit dem Arduino-Board)
  • Brettchen
  • Stecker-Stecker-Überbrückungskabel (6)
  • HW-485 Mikrofon-Tonsensor-Modul
  • HW-480 Rot/Grünes 2-Farben LED-Modul (gemeinsame Kathode)
  • 220Ω Widerstände (2)

Sound Control LED Elektronisches Projekt Schaltplan

Je nach Arduino-Board benötigen Sie ein Breadboard, um Ihr Board anzuschließen. In diesem Beispiel wird ein Arduino Nano verwendet, für den Sie ein Breadboard benötigen. Wenn Sie jedoch z.B. einen Arduino Uno verwenden, können Sie die Jumperdrähte von den Komponenten auf dem Breadboard direkt an die Pins der Platine anschließen.

Die Verdrahtung für dieses Projekt ist ziemlich einfach, da abgesehen von den Hauptmodulen nicht viele zusätzliche Komponenten benötigt werden. Was das Tonsensormodul betrifft, so hat das HW-485 Modul, das in diesem Projekt verwendet wird, eine 4-polige Konfiguration mit einem digitalen Ausgang (DO) und einem analogen Ausgang (AO). Wenn Ihr Modul die gleiche 4-Pin-Konfiguration hat, verwenden Sie den digitalen Ausgang (DO), aber wenn Ihr Modul eine 3-Pin-Konfiguration hat, funktioniert der Standardausgang/Signalpin. Was das LED-Modul anbelangt, so sind zwei 220Ω-Widerstände mit den beiden Ausgängen dieses Moduls in Reihe geschaltet, um zu verhindern, dass die LEDs durchbrennen, wenn eine Versorgungsspannung von +5 Volt angelegt wird. Hier ist ein Schaltplan der Verkabelung für dieses Heimwerkerprojekt:

  • HW-485 Mikrofon-Schallsensor-Modul: Verbinden Sie den digitalen Ausgang (DO)/Signalpin mit D7 auf Ihrem Arduino-Board, den positiven (+) Pin mit +5v und den GND (G) Pin mit GND.
  • HW-480 Rot/Grünes 2-Farben-LED-Modul: Legen Sie einen 220Ω-Widerstand in Reihe mit dem Ausgangspin für das rote LED-Signal (R) und einen weiteren 220Ω-Widerstand in Reihe mit dem Ausgangspin für das grüne LED-Signal (G) auf das Breadboard. Verbinden Sie den roten Farbausgangsstift (R) mit D5 und den grünen Farbausgangsstift (G) mit D6. Verbinden Sie den negativen (-) Pin mit GND an Ihrem Arduino.
  • Jetzt können Sie Ihr Arduino-Board über das USB-Kabel an den Computer anschließen.

Projekt-Code

int redPin = 5;

int greenPin = 6;

int sensorPin = 7;

boolescher Wert = 0;

 

void Einrichtung(){

 pinMode(redPin, OUTPUT);

 pinMode(greenPin, OUTPUT);

 pinMode(sensorPin, INPUT);

 Seriennummer.beginnen(9600);

}

 

 void Schleife (){

 val = digitalLesen(sensorPin);

 Seriennummer.println(val);

 

 wenn (val == HIGH) {

   digitalWrite(grünPin, LOW);

   digitalWrite(redPin, HIGH);

   Verzögerung(2000);

 }

 sonst {

   digitalWrite(redPin, LOW);

   digitalWrite(grünPin, HIGH);

 }

}

Über den Code

  • Dieser einfache Code ist eine hervorragende Darstellung vieler Funktionen, auf die Sie vielleicht wieder stoßen werden, wenn Sie IC-Programmierung in der Arduino IDE, die eine Variante der C++ Programmiersprachen verwendet. Dieser Code enthält grundlegende Integerwerte, Boolesche Werte, nützliche Funktionen und if-Anweisungen.
  • Der erste Codeblock definiert die drei digitalen Pins am Arduino, die vom Mikrofonsensormodul und dem LED-Modul verwendet werden. Die Variable redPin bezeichnet den Pin D5, der für das rote LED-Signal verwendet wird, greenPin bezeichnet D6 und sensorPin bezeichnet D7 für die Verwendung mit dem Tonsensormodul. Außerdem wird ein boolescher Wert namens val mit 0 (niedrig/falsch/aus) belegt. Ein Boolescher Wert ist ein spezieller Datentyp, der entweder einen wahren oder einen falschen Wert (1 oder 0) enthalten kann.
  • Kommen wir nun zu dem Teil mit dem leeren Setup. Jeder der zuvor definierten Pins ist hier nun entweder als Eingang oder als Ausgang definiert. Da der Tonsensor Tondaten aufnimmt und sie dann zur Verarbeitung an den Arduino sendet, ist er als Eingang festgelegt, während das LED-Modul Daten vom Arduino empfängt, so dass die beiden LED-Pins als Ausgänge festgelegt sind. Die Baudrate der seriellen Kommunikation ist auf 9600 Baud eingestellt, damit die vom Sensor erfassten Daten später im seriellen Monitor gelesen werden können.
  • Was den Teil der leeren Schleife betrifft, wird der boolesche Wert val zunächst auf den Zustand gesetzt, in dem sich der Tonsensor gerade befindet. Da der Arduino eine digitale Ausgabe vom Sensor erhält, kann die Information, die er an den Arduino sendet, nur entweder wahr (1) oder falsch (0) sein. Diese Daten werden dann auf dem seriellen Monitor ausgegeben. Diese Informationen können sehr nützlich sein, wenn Sie die Empfindlichkeit des Geräuschsensors kalibrieren (Einstellung der Schwelle für Geräusche, die der Sensor erkennen kann). 
  • Als nächstes wird eine if-Anweisung eingeführt, die im Wesentlichen besagt, dass, wenn der Geräuschsensor ein Schnappen erkennt (wenn der Geräuschsensor eine 1 zurücksendet), die grüne Farb-LED ausgeschaltet wird und die rote Farb-LED für zwei Sekunden eingeschaltet wird, bevor sie wieder in den Standardzustand (rote Farb-LED aus und grüne Farb-LED an) zurückkehrt. Dies demonstriert die Verwendung der Funktion pinMode(), mit der ein digitaler Ausgang (z.B. ein LED-Modul) in Abhängigkeit von bestimmten Parametern innerhalb der if-Anweisung entweder ein- (HIGH) oder ausgeschaltet (LOW) werden kann, wie in diesem Fall.

Nächste Schritte

Dieses klangaktivierte LED-Projekt von FS Technologie ist ein hervorragendes Einführungsprojekt in die Verwendung verschiedener Ein- und Ausgabegeräte sowie verschiedener grundlegender Funktionen, die im Arduino-Code verwendet werden, um den Empfang und das Senden von Informationen von/zu diesen Geräten zu steuern. Dieses Prinzip kann dann auf viel größere Projekte angewendet werden, bei denen der digitale Eingang eines Sensors verwendet werden kann, um einen Schaltkreis auszulösen oder ein Ausgabegerät ein- oder auszuschalten. Bewegungserkennungssysteme enthalten beispielsweise typischerweise PIR-Sensoren (Passiv-Infrarot), die bei Aktivierung ein helles Licht oder einen Alarm auslösen. Dies ist nur eines von vielen Beispielen für dieses einfache digitale Input-Output-System, das heute in vielen elektrischen Geräten und elektronischen Schaltkreisen eingesetzt wird. Was die Funktionen/Anweisungen im Arduino-Code betrifft, so sind die if-Anweisungen eine der wichtigsten Funktionen, die Sie sich merken sollten. Diese Anweisungen sind äußerst grundlegende und beliebte Funktionen, die in fast allen Codes zu finden sind, insbesondere wenn Sie mit mehreren Geräten arbeiten, die miteinander kommunizieren und Teil eines größeren Netzwerks/Systems sind. Mit all diesen Konzepten im Hinterkopf liegt es nun an Ihnen, Ihr neu erworbenes Wissen anzuwenden und zu erweitern, um Ihre DIY PCBA-Platine!

DIY Elektronik Projekt Blog

Arduino UNO Unterbrechungstimer

Arduino UNO Interrupt Timer Der Timer ist eine Funktion, die in jeden Mikrocontroller eingebaut ist und bestimmte Funktionen in Bezug auf den Ablauf der Zeit hat. Die Timer-Funktion

Mehr lesen "