Schritt 5: Einfache Analog In
In den Bildern oben einrichten ich einen wirklich einfachen 8-Bit digital-analog-Konverter (lesen Sie mehr darüber hier, oder Check-out Abb. 4) so, dass ich könnte visualisieren die Datenpunkte, die die Arduino als die Variable "IncomingAudio" gespeichert wurde und sehen, wie nahe es das Originalsignal war. Sie sehen aus Abb. 2 (im gezoomten Blick auf Abb. 1), die Arduino eine Probe alle 125us von A0 stattfindet. Wir können die Sampling-Rate wie folgt berechnen:
Sampling-Rate = 1/125us = 1/0.000125s = 8000 hz
Um Ihnen einen Punkt des Vergleichs, sind normale Audio-Sampling-Raten von mindestens 40kHz. Wenn eine Abtastrate von 8kHz oder weniger gut genug für Ihre Zwecke, dann sollten Sie wahrscheinlich weitermachen und analogRead() verwenden, um Ihr Signal zu messen, wie hält die Dinge sehr einfach. Sie sehen in Abb. 1, dass es tatsächlich einen ziemlich guten Job der Ablaufverfolgung den Weg des Eingangssignals 360 hz. Um über 8 kHz zu bekommen, haben wir die analoge read-Funktion umgehen. Es mag entmutigend klingen, aber es ist eigentlich nicht schlecht, nur eine Frage des Kopierens setup() Code, die ich im nächsten Schritt geschrieben habe.
Ich möchte auch darauf hinweisen, das Verhalten des Arduino in Reaktion auf ein Signal, das über 5V steigt und taucht unter 0V. In Abb. 3 sehen Sie, wie der Arduino clips das eingehende Signal, so dass es immer durch 0 und 5V begrenzt ist. Dies bewirkt, dass die Spitzen von den Gipfeln und Tälern, abgeflacht, bekommen. Mehr dazu und zum Einrichten eines Clipping-Indikators Licht in Schritt 8 werde ich einige sprechen, damit Sie wissen, um den Verstärker nach unten.
Einige Notizen über die 8-Bit digital-analog-Konverter (DAC): Ich habe den Befehl "PORTD =" senden einen Wert zwischen 0 und 255 aus dem Arduino und in den DAC, wo es wieder in eine Spannung zwischen 0 und 5V umgewandelt wird. Unten finden Sie der Code, den ich verwendet. Ich habe eine ganze instructable über die 8-Bit DAC hier geschrieben.