Inhaltsverzeichnis:
- Schritt 1: Standard-Ukelele-Tuning
- Schritt 2: Erstellen eines rein digitalen theoretischen Modells
- Schritt 3: Als nächstes die analoge Schaltung
- Schritt 4: Lesen analoger Signale mit dem DAQ-Assistenten
- Schritt 5: Fazit
Video: Ukelele-Tuner mit LabView und NI USB-6008 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Als problembasiertes Lernprojekt für meinen LabVIEW & Instrumentation-Kurs am Humber College (Electronics Engineering Technology) habe ich einen Ukulele-Tuner entwickelt, der einen analogen Eingang (Ukulelen-Saitenton) nimmt, die Grundfrequenz findet und entscheidet, welche Note versucht wird gestimmt werden soll, und teilen Sie dem Benutzer mit, ob die Saite nach oben oder unten gestimmt werden muss. Das Gerät, das ich verwendet habe, um den analogen Eingang in einen digitalen Eingang zu übersetzen, war der USB-6008 DAQ (Datenerfassungsgerät) von National Instruments, und die Benutzeroberfläche wurde mit LabVIEW implementiert.
Schritt 1: Standard-Ukelele-Tuning
Der erste Schritt bestand darin, die Grundfrequenzen von Musiknoten herauszufinden und in welchem Bereich die Ukulelensaiten normalerweise gestimmt sind. Ich habe diese beiden Diagramme verwendet und beschlossen, dass ich meinen Tonbereich zwischen 262 Hz (C) und 494 Hz (High B) einstellen würde. Alles unter 252 Hz würde für das Programm als zu niedrig angesehen, um zu erkennen, welche Note gespielt werden wollte, und alles über 500 Hz würde als zu hoch angesehen. Das Programm teilt dem Benutzer jedoch immer noch mit, wie viele Hz er von der nächsten entzifferbaren Note entfernt ist und ob die Saite nach oben (Note zu tief) oder tiefer (Note zu hoch) gestimmt werden sollte, um eine verfügbare Note zu erreichen.
Außerdem habe ich Bereiche für jede Note und nicht nur eine einzelne Frequenz erstellt, damit das Programm leichter erkennen kann, welche Note gespielt wird. Zum Beispiel würde das Programm dem Benutzer mitteilen, dass ein C gespielt wird, wenn die Note eine Grundfrequenz zwischen 252 Hz (halbes H) und 269 Hz (halbes C#) hat, aber um zu entscheiden, ob es gestimmt werden muss oder nach unten, würde es immer noch die gespielte Note mit der Grundfrequenz von C vergleichen, die 262 Hz beträgt.
Schritt 2: Erstellen eines rein digitalen theoretischen Modells
Bevor ich in die analoge Seite des Projekts eintauchte, wollte ich sehen, ob ich ein LabVIEW-Programm erstellen könnte, das zumindest die Hauptverarbeitung eines Sound-Samples übernimmt, z die erforderlichen Vergleiche mit dem Frequenzdiagramm, um herauszufinden, ob der Ton nach oben oder unten gestimmt werden sollte.
Ich habe das in LabVIEW verfügbare SoundFileSimpleRead. VI verwendet, um eine.wav-Datei aus einem von mir angegebenen Pfad zu lesen, das Signal in ein indiziertes Array zu legen und dieses Signal in den HarmonicDistortionAnalyzer. VI einzuspeisen, um die Grundfrequenz zu finden. Ich habe auch das Signal von SoundFileSimpleRead. VI genommen und es direkt mit einem Wellenformdiagramm-Indikator verbunden, damit der Benutzer die Wellenform der Datei auf dem Frontpanel sehen kann.
Ich habe zwei Case-Strukturen erstellt: eine, um zu analysieren, welche Note gespielt wird, und die andere, um festzustellen, ob die Saite auf- oder abgedreht werden muss. Für den ersten Fall habe ich Bereiche für jede Note erstellt, und wenn das Grundfrequenzsignal vom HarmonicDistortionAnalyzer. VI in diesem Bereich lag, würde es dem Benutzer sagen, welche Note gespielt wurde. Sobald die Note bestimmt war, wurde der gespielte Notenwert von der tatsächlichen Grundfrequenz der Note subtrahiert, und dann wurde das Ergebnis in den zweiten Fall verschoben, der Folgendes feststellte: Wenn das Ergebnis über Null liegt, muss die Saite tiefer gestimmt werden; wenn das Ergebnis falsch ist (nicht über null), dann prüft der Fall, ob der Wert gleich null ist, und falls wahr, dann würde das Programm den Benutzer benachrichtigen, dass die Note gestimmt ist; Wenn der Wert ungleich Null ist, bedeutet dies, dass er kleiner als Null sein muss und dass die Saite gestimmt werden muss. Ich habe den Absolutwert des Ergebnisses genommen, um dem Benutzer zu zeigen, wie viele Hz er von der wahren Note entfernt ist.
Ich entschied, dass eine Meteranzeige das Beste wäre, um dem Benutzer visuell zu zeigen, was getan werden muss, um die Note richtig zu stimmen.
Schritt 3: Als nächstes die analoge Schaltung
Das Mikrofon, das ich für dieses Projekt verwendet habe, ist das Kondensator-Elektret-Mikrofon CMA-6542PF. Das Datenblatt für dieses Mikrofon ist unten. Im Gegensatz zu den meisten Kondensatormikrofonen dieser Art musste ich mir keine Gedanken über die Polarität machen. Das Datenblatt zeigt, dass die Betriebsspannung für dieses Mikrofon 4,5 - 10 V beträgt, aber 4,5 V werden empfohlen, und sein Stromverbrauch beträgt max. 0,5 mA. Die Betriebsfrequenz beträgt 20 Hz bis 20 kHz, was perfekt für Audio ist.
Ich habe ein einfaches Vorverstärker-Schaltungsdesign auf einem Steckbrett implementiert und die Eingangsspannung angepasst, um sicherzustellen, dass am Mikrofon nicht mehr als 0,5 mA anliegen. Der Kondensator wird verwendet, um das Gleichstromrauschen zu filtern, das zusammen mit den elektrischen Signalen (Ausgang) gekoppelt sein könnte, und der Kondensator hat eine Polarität, also stellen Sie sicher, dass das positive Ende mit dem Mikrofonausgangsstift verbunden ist.
Nachdem die Schaltung abgeschlossen war, verband ich den Ausgang der Schaltung mit dem ersten analogen Eingangspin (AI0, Pin 2) des USB-6008 und verband die Masse des Steckbretts mit dem analogen Massepin (GND, Pin 1). Ich habe den USB-6008 mit einem USB an den PC angeschlossen und es war an der Zeit, das LabVIEW-Programm anzupassen, um ein tatsächliches analoges Signal aufzunehmen.
Schritt 4: Lesen analoger Signale mit dem DAQ-Assistenten
Anstelle von SoundFileSimpleRead. VI und HarmonicDistortionAnalyzer. VI habe ich den DAQ Assistant. VI und das ToneMeasurements. VI verwendet, um den analogen Eingang zu bearbeiten. Die Einrichtung des DAQ-Assistenten ist ziemlich einfach und das VI selbst führt Sie durch die Schritte. Das ToneMeasurements. VI hat viele Ausgänge zur Auswahl (Amplitude, Frequenz, Phase), daher habe ich den Frequenzausgang verwendet, der die Grundfrequenz des Eingangstons (vom DAQ Assistant. VI) angibt. Die Ausgabe von ToneMeasurements. VI musste konvertiert und in ein Array eingefügt werden, bevor sie in den Fallstrukturen verwendet werden konnte, aber der Rest der LabVIEW-Programmierung/Indikatoren blieb gleich.
Schritt 5: Fazit
Das Projekt war ein Erfolg, aber es gab definitiv viele Mängel. Als ich den Tuner in einem lauten Klassenzimmer bediente, war es für das Programm sehr schwer zu bestimmen, was Geräusch war und welcher Ton gespielt wurde. Dies liegt wahrscheinlich daran, dass die Vorverstärkerschaltung sehr einfach ist und das Mikrofon sehr billig ist. Wenn es jedoch ruhig war, arbeitete das Programm mit guter Zuverlässigkeit, um die Note zu bestimmen, die gespielt werden wollte. Aus Zeitgründen habe ich keine weiteren Änderungen vorgenommen, aber wenn ich das Projekt wiederholen würde, würde ich ein besseres Mikrofon kaufen und mehr Zeit mit der Vorverstärkerschaltung verbringen.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
EKG-Schaltung (PSpice, LabVIEW, Steckbrett): 3 Schritte
EKG-Schaltung (PSpice, LabVIEW, Breadboard): Hinweis: Dies ist KEIN medizinisches Gerät. Dies dient nur zu Bildungszwecken mit simulierten Signalen. Wenn Sie diesen Stromkreis für echte EKG-Messungen verwenden, stellen Sie bitte sicher, dass der Stromkreis und die Verbindungen zwischen Stromkreis und Instrument eine ordnungsgemäße Isolierung verwenden
Eine USB-stromgesteuerte Steckerleiste. Mit Isolierung.: 4 Schritte (mit Bildern)
Eine USB-stromgesteuerte Steckerleiste. Mit Isolation.: Der springende Punkt dieses Instructable war es, mir zu ermöglichen, alle Zubehörteile für meinen Computer einzuschalten, ohne darüber nachzudenken. Und dann nicht all die kleinen Power-Vampir-Wandwarzen mit Strom versorgen, wenn ich den Computer nicht benutze. Die Idee ist einfach, Sie p