Entrée Arduino Audio (6 / 8 étapes)

Étape 6: Taux d’échantillonnage ~ 40 kHz

Dans le code ci-dessous, j’ai contourné le analogRead() fonction afin d’augmenter mon taux d’échantillonnage. Le code requis pour ce faire est assez avancé, il peut peut-être l’objet d’une autre instructable si il y a intérêt (laissez un commentaire si vous êtes intéressés), mais pour l’instant il est seulement important de comprendre comment utiliser ce code dans la fonction loop(), pas comment je l’ai mis vers le haut.

Voici une explication simple (tout ce que vous devez savoir pour l’instant) :
Essentiellement dans la fonction setup(), j’ai dit l’Arduino que je veux qu’il en permanence mesurer broches A0 et oublier les autres entrées analogiques tous ensemble.  Alors tandis que d’autres choses sont en cours dans la fonction loop(), l’Arduino est constamment mise à jour une variable appelée « ADCH » avec les nouvelles valeurs de A0 à un taux de 38,5 kHz (c’est un échantillon chaque 26us, vous pouvez le voir sur la Fig. 2).  Lorsque je veux obtenir une de ces valeurs, que je peux mettre une variable égale à ADCH, ou comme je l’écrivais dans mon code :

incomingAudio = ADCH ;

J’ai eu diminuer la résolution de ces mesures analogiques, un petit peu pour obtenir un taux d’échantillonnage plus élevé.  Dans la dernière étape, nous étions en utilisant analogRead() pour mesurer la tension du signal comme une valeur comprise entre 0 et 1023, maintenant, ces valeurs seront toujours entre 0 et 255.  En outre, un monitorage continu des A0 signifie que les autres broches analogiques sont désormais inutiles, mais si vous avez vraiment besoin de mesurer un potentiomètre ou un capteur, Découvrez comment vous pouvez faire avec une broche numérique à l’aide de RCTime It n’est possible que les broches analogiques peuvent encore servir de broches d’e/s numériques, mais je n’ai pas testé en fait cela encore, laissez un commentaire si vous l’essayez !

L’explication compliquée (pas nécessaire, mais pour ceux que cela intéresse) :
J’ai manuellement la valeur analogique interne de l’Arduino convertisseur numérique (ADC) à 500kHz et lire une valeur 8 bits d’analogiques 0 d’entrée de l’ADCH directement (je viens de lire les 8 bits les plus significatifs de la 10 bit ADC pour gagner du temps dans le code).  J’ai mis le compteur de l’ADC à 500KHz parce que l’ADC prend 13 cycles d’horloge pour lire une nouvelle valeur analogique.  500/13 = ~ 38,5 kHz qui m’énerve assez proche de 40 kHz (taux d’échantillonnage audio standard) sans introduire de bruit supplémentaire.  Comme vous pouvez le voir sur la Fig. 2, cela donne moi un échantillon chaque 13/500 000 = 26us.  Beaucoup des idées ici (les convertisseurs et les compteurs) sont similaire à la configuration des interruptions de minuterie Arduino, et vous pouvez en savoir plus sur comment cela fonctionne ici.

Comme dans l’étape précédente, j’ai envoyé les valeurs de la variable "incomingAudio" sur un 8 bit DAC pour que je puisse visualiser les données comme il était entreposé dans l’Arduino.  Vous pouvez voir le signal entrant (jaune) et de sortie de la DAC (bleu) dans les images ci-dessus.  Remarquez combien mieux l’Arduino suit le signal par rapport à la dernière étape.  Dans la figure 2, vous pouvez voir que la taille de palier est jusqu'à 26us (comparativement à 125us lorsque vous utilisez analogRead).  Encore une fois, vous pouvez voir les effets de la coupure à 0V et 5v sur la Fig. 3.

Le code pour la fréquence d’échantillonnage de 38,5 kHz avec sortie DAC est donné ci-dessous.

Articles Liés

Communication Bluetooth entre deux Arduino Esploras

Communication Bluetooth entre deux Arduino Esploras

Dans ce tutoriel, je vais vous montrer comment faire un lien entre deux Arduino Esploras et envoyez les informations en arrière avec la poussée d'un bouton.Étape 1: Vous aurez besoin des choses.2 x Arduino Esploras.2 modules BlueSmirf Bluetooth.8 fil
Voix d’entrée Arduino Bi-color LED Matrix défilement affichage texte (Bluetooth + Android)

Voix d’entrée Arduino Bi-color LED Matrix défilement affichage texte (Bluetooth + Android)

Tout en naviguant sur des projets intéressants à Instructables, nous sommes tombés sur l'impressionnante voix activée Arduino (Bluetooth + Android) instructable. Vous pouvez consulter il àRécemment, nous avons mis en place une instructable pour const
Shield Arduino Audio

Shield Arduino Audio

Dans cette vidéo nous montre les étapes simples pour le montage de votre dossier d'audio shield Arduino. Pour acheter un de ces cas, juste de retour mon projet kickstarter : Arduino Audio bouclierÉtape 1: Comment faire monter votre affaire de Shield
Sortie Arduino Audio

Sortie Arduino Audio

Générer des tensions analogiques audio ou sorties avec un Arduino. Cet Instructable va vous montrer comment configurer un convertisseur analogique numérique-vraiment basique, donc vous pouvez commencer à générer des ondes analogiques de toutes formes
Arduino Audio interrupteur déclenché

Arduino Audio interrupteur déclenché

Ever wanted votre divertissement à la maison ou le système de son pour mettre lui-même lors du branchement de votre iPod ou autre lecteur MP3 portable ?Regardez cette vidéo pour voir comment il fonctionne. Puis de parcourir les étapes pour savoir com
Facile Arduino Audio Annoyatron

Facile Arduino Audio Annoyatron

ce simple dispositif simple joue une petite mélodie à un intervalle aléatoire, entre 5 et 30 secondes, quand les lumières dans une pièce s'éteignent. Il peut être habilement dissimulé à l'intérieur d'une boîte de tissus, ou à l'intérieur ou sous n'im
Comment accéder à 5 boutons via 1 entrée Arduino

Comment accéder à 5 boutons via 1 entrée Arduino

à l'aide de cette méthode, je vais vous montrer comment vous pouvez accéder aux entrées 5 (ou plus) par 1 goupille de Arduino. Ces boutons seront seulement lues correctement si seulement on est poussé à tout moment cependant.Comme nous allons à trave
Comment contrôler un croquis de traitement avec deux entrées Arduino

Comment contrôler un croquis de traitement avec deux entrées Arduino

Ce tutoriel va vous montrer comment construire un circuit de base Arduino qui permet de contrôler un fun ball couleur croquis dans le traitement.Vous aurez besoin :1 x carte Arduino (j'utilise un Uno)1 x planche à pain1 Photo de x-résistance1 x 10 k
Transmission sans fil bon marchée entre deux Arduinos avec infrarouge

Transmission sans fil bon marchée entre deux Arduinos avec infrarouge

Bonjour à tousPour un projet, je cherchais une solution bon marché pour envoyer des données d'un Arduino à un autre. Le port série était déjà pris, et ma transmission (unidirectionnelle) devait être sans fil.Mes recherches m'a amené à découvrir ces s
Entrée Arduino Due guitare ADC

Entrée Arduino Due guitare ADC

je voulais construire un circuit d'entrée guitare pour un arduino due ADC.Le circuit est destiné à être relié à un arduino due broche analogique. Ces broches d'entrée ADC nécessitent une tension comprise entre 0 et 3.3V lors de la sortie du micro gui
Reliés entre-eux Configuration Audio/vidéo

Reliés entre-eux Configuration Audio/vidéo

Hé, dans cette insondable vous apprendrez comment connecter la configuration de votre ensemble de jeux/bureau.Elle est entièrement optimisée par cette petite boîte que vous pouvez brancher audio analogique en et appuyez sur les boutons sur le devant
Arduino Audio DSP bouclier

Arduino Audio DSP bouclier

Le bouclier de DSP Audio Arduino a modulation en anneau, echo, reverb, oscope, oscillateur, générateur de signaux arbitraires, etc.. C'est un système logiciel et matériel, un preneur de son, dans une boîte !Etape 1: Obtenir un bouclier audio arduinoL
Commandes Audio haut-parleur de Smartphone ATM-7 OSD avec Arduino et Billy

Commandes Audio haut-parleur de Smartphone ATM-7 OSD avec Arduino et Billy

Ces jours-ci, il y a plusieurs façons d'implémenter multizone son à l'aide de la commande de smartphone basé mais la plupart se limitent à quelques zones ou exige chers boîtes exclusives à chaque emplacement (Bonjour ! Sonos). Un sélecteur de haut-pa
Arduino basé Bi-color LED Matrix Audio Spectrum Visualizer

Arduino basé Bi-color LED Matrix Audio Spectrum Visualizer

Après que nous sommes arrivés avec le kit de Bi-color LED Matrix Driver Module, nous avons recherché de projets intéressants de travailler avec elle.Pourrait vous intéresser dans certains de ces projets, que nous avons mis en à instructables à l'aide