Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
Passives Summermodul
Einleitung
Ein passiver Summer ist ein Bauelement, das Töne erzeugt, sobald ihm ein elektrisches Signal zugeführt wird. Es wird als passiv bezeichnet, da es keinen internen Oszillator besitzt, um eigenständig Töne zu generieren. Stattdessen benötigt es ein externes Signal von einem Mikrocontroller wie dem Arduino. Das passive Summermodul ist eine kompakte elektronische Komponente, die neben dem passiven Summer auch die nötige Schaltungstechnik enthält, um die Anwendung mit dem Arduino zu vereinfachen.
Funktionsprinzip
Das Arbeitsprinzip des passiven Summermoduls basiert auf dem piezoelektrischen Effekt. Sobald ein elektrisches Signal an den Summer angelegt wird, bringt es einen im Inneren befindlichen piezoelektrischen Kristall zum Schwingen. Diese Schwingungen erzeugen Schallwellen. Die Frequenz des erzeugten Tons hängt von der Frequenz des zugeführten elektrischen Signals ab. Durch Variation der Signal-Frequenz kann die Tonhöhe verändert werden.
Anwendungsbeispiele
Hardware-Komponenten
Arduino Uno R4 oder R3 Board * 1
Passives Summermodul * 1
Jumperkabel
Schaltungsaufbau
Code
Code-Erläuterung
Einbindung der Tonhöhen-Bibliothek: Diese Bibliothek stellt die Frequenzwerte für verschiedene Musiknoten bereit.
#include "pitches.h"
Definition von Konstanten und Arrays:
buzzerPinist der digitale Pin am Arduino, an dem der Summer angeschlossen ist.melody[]ist ein Array, das die Reihenfolge der zu spielenden Noten speichert.noteDurations[]ist ein Array, das die Dauer jeder Note in der Melodie speichert.
const int buzzerPin = 8; int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 }; int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 };
Melodiewiedergabe:
Die
for-Schleife geht jede Note der Melodie durch.Die Funktion
tone()spielt eine Note über den Summer für eine bestimmte Dauer ab.Eine Verzögerung zwischen den Noten sorgt für eine klare Trennung.
Die Funktion
noTone()beendet die Tonausgabe.
void setup() { for (int thisNote = 0; thisNote < 8; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(buzzerPin, melody[thisNote], noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(buzzerPin); } }
Leere Loop-Funktion: Da die Melodie nur einmal im Setup gespielt wird, ist die Loop-Funktion leer.
Weitere Ideen
Melodie ändern: Experimentieren Sie mit anderen Noten und Dauern in den Arrays
melody[]undnoteDurations[], um eigene Melodien zu erzeugen. Es gibt ein GitHub-Repository (robsoncouto/arduino-songs ), das Arduino-Codes für verschiedene Lieder bereitstellt.Schalter integrieren: Fügen Sie einen Taster in die Schaltung ein und passen Sie den Code so an, dass die Melodie nur dann gespielt wird, wenn der Taster gedrückt wird.