Audio stéréo avec Arduino (1 / 7 étapes)

Étape 1: 8 bit DACs et vs séries parallèle

Le TLC7528 est un type numérique au convertisseur d’analogue (DAC). Il prend des données numériques (nombres compris entre 0 et 255) et une tension comprise entre 0 et quelle que soit la tension, vous fournissez la puce avec. La tension de sortie de la DAC peut être calculée selon l’équation suivante :

tension de 8 bit DAC de sortie = (tension d’alimentation) * (données d’entrée numériques) / 255

Dans ce Instructable, je vais être alimenté le DAC à partir de l’Arduino intégré alimentation 5V, donc l’équation ci-dessus peut être simplifiée à :

sortie tension de 8 bit DAC = 5V * (données d’entrée numériques) / 255

Cette équation, nous pouvons voir que la TLC7528 serait sortie 5V si elle reçoit une valeur de 255, 0V, si elle reçoit une valeur de 0, 2, 5V si elle reçoit une valeur de 127 et ainsi de suite. Vous mai se demander d'où vient le 255, il s’agit d’un résultat de la TLC7528 étant un 8 bit DAC. 8 bit signifie que les nombres binaires, que nous pouvons envoyer à la DAC doivent avoir pas plus de 8 chiffres en eux. En binaire, les nombres qui sont représentés avec 8 chiffres (ou moins) gamme de valeur comprise entre 0 et 255 (plutôt que le système de numération décimal où et 8 chiffres vont de 0 à 99999999). Donc, il y a 256 valeurs possibles (0-255) qui peuvent recevoir le 8 bit DAC. Ceci peut être effectué rapidement de l’équation suivante :

2 ^ 8 = 256 valeurs possibles

Si nous utilisions un 10 bit DAC, il pouvait recevoir 2 ^ 10 = 1024 valeurs différentes, allant de 0-1023. Cela signifie qu'un 10 bit DAC a une résolution supérieure à un 8 bit DAC. Malgré cela, j’ai trouvé que 8 bit DAC est généralement beaucoup plus utile que 10 bit DACs données étant plus faciles à stocker et sortie de l’Arduino en forme de 8 bit que sous forme de 10 bits. Par exemple, type de données byte en langage Arduino est pour stocker des nombres de 8 bits. Si vous voulez enregistrer un numéro de 10 bits, vous devez utiliser un type de données int , mais les types de données int peuvent stocker jusqu'à 16 bits numéros, alors vous serait gaspiller 6 bits de mémoire. En outre, les broches de l’Arduino sont groupés ensemble dans des groupes de 8 ou moins. Sur l’ONU, le groupe seulement plein de 8 broches numériques 0-7, ce groupe est appelé PORTD. Lorsque vous écrivez du code de l’Arduino, vous pouvez facilement produire 8 bits de données en définissant les États de broches numériques 0-7 tout à la fois. Dans le code, cela est fait en envoyant un nombre 8 bits à PORTD. Par exemple :

PORTD = 255 ;

définit les broches numériques 0-7 élevé, il est équivalent à ce qui suit :

digitalWrite(0,HIGH) ;
digitalWrite(1,HIGH) ;
digitalWrite(2,HIGH) ;
digitalWrite(3,HIGH) ;
digitalWrite(4,HIGH) ;
digitalWrite(5,HIGH) ;
digitalWrite(6,HIGH) ;
digitalWrite(7,HIGH) ;

mais à l’aide de la commande PORTD définit toutes les quilles en même temps et est beaucoup plus rapide. La commande suivante fixerait broches numériques 0-7 LOW :

PORTD = 0 ;

vous pouvez également utiliser la commande PORTD de certaines broches hautes et d’autres faibles. Par exemple :

PORTD = 137 ;
137 en binaire est 10001001, donc envoi 137 voix PORTD fixera broche 7 haute (parce que le premier chiffre du nombre binaire est un « 1 »), broches 6-4 faible (car les 3 prochains chiffres sont « 0 »), broche 3 hauts, pins faible 2 et 1, et la broche haute 0. Vous pouvez en savoir plus sur comment cela fonctionne sur le site d’Arduino. Vous pouvez même envoyer des nombres binaires à PORTD, par exemple :

PORTD = B10001001 ;
équivaut à PORTD = 137 ;

Enfin, je vais parler de comment nous obtenons ces données dans le TLC7528. Le TLC7528 est appelé un DAC parallèle. Cela signifie que toutes les données que nous envoyons le DAC sont envoyées en parallèle. 8 bit DACs parallèles ont huit connexions de données entre l’Arduino et DAC qui envoient tous les 8 bits de données en même temps. C’est le contraire du parallèle, série, dans des configurations de série, vous utilisez moins de connexions données (généralement trois), mais envoyez qu’un seul bit à la fois. Ainsi, afin de transmettre un nombre 8 bits via une connexion série, il faut envoyer huit paquets de 1 bit, un après l’autre, tandis que dans les configurations parallèles, vous pouvez envoyer tous les 8 bits en même temps. Cela signifie que les connexions série requièrent des transfert de données plus rapide que les connexions parallèles. Si vous n’êtes pas inquiet sur l’utilisation de 8 broches numériques de l’Arduino, un parallèle 8 bits DAC est une bonne option, car elle nécessite moins de vitesse horloge et est plus simple de code.

Articles Liés

Contrôlez votre système Audio, Dvd et Tv avec Arduino et Android

Contrôlez votre système Audio, Dvd et Tv avec Arduino et Android

Salut tout le monde, c'est mon deuxième instructable et mon premier en anglais, oui, Désolé pour les fautes.Je tiens à partager ce projet qu'il s'agit de comment vous pouvez contrôler votre Tv, de DVD et de votre système Audio avec Arduino et un app
Streaming Audio et la reconnaissance vocale avec Arduino sans fil

Streaming Audio et la reconnaissance vocale avec Arduino sans fil

dans ce projet j'ai connecter ma carte Arduino à un WiFly module (https://www.sparkfun.com/products/10822) de Roving Networks et de flux audio pour le PC, alors que BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) peut exécuter la reconnaissance v
Commande d’un moteur DC avec Arduino et Visual Basic

Commande d’un moteur DC avec Arduino et Visual Basic

Bonjour amis c'est mon premier post dans instructables.com où je vais essayer de mettre plus des nouveauté souvent.Aujourd'hui, le thème est avec Arduino et Visual Basic.Le projet que nous voyons aujourd'hui est un moteur à courant continu contrôleur
Motorisé, Sound réagissant à-St Star Wars modèle de Bandai, avec Arduino.

Motorisé, Sound réagissant à-St Star Wars modèle de Bandai, avec Arduino.

Issus de Star Wars à-St modèle Bandai.Réagit aux sons et tourne la tête vers elle.Fait avec Arduino Nano, un composant personnalisé 3dprinted, microphones, micro servo.Cette instructable est faite pour partager les modifications nécessaires pour acqu
Comment utiliser WTV020SD - 16p avec Arduino

Comment utiliser WTV020SD - 16p avec Arduino

WTV020SD-16p est un excellent module pour ajouter de la musique électronique projets. Le module peut être utilisé avec ou sans l'Arduino.Il y a plusieurs choses à considérer lorsque vous travaillez avec ce module. Par exemple, il fonctionne avec la s
* mise à jour * LED-tour « Hello », Vu-mètre avancé de détection musique sans qu’avec Arduino et l’interfaçage d’IC avec le logiciel PC Windows !

* mise à jour * LED-tour « Hello », Vu-mètre avancé de détection musique sans qu’avec Arduino et l’interfaçage d’IC avec le logiciel PC Windows !

LED-tour « Hello », Vu-mètre avancé de détection musique sans qu'avec Arduino d'ICet l'interfaçage avec le logiciel PC Windows ! Salut, tout le monde.Ce qui rend ce projet cool c'est le fait, que sa musique de télédétection, contrairement aux traditi
Jouer des sons sur pc avec arduino et progduino

Jouer des sons sur pc avec arduino et progduino

Aujourd'hui je vais vous montrer comment il est facile de construire un lecteur simple et exécutez-le sur l'ordinateur avec arduino et progduino.En savoir plus sur progduino : http://www.progduino.comÉtape 1: Code Arduino - player sur votre pc.Copiez
2RM voix contrôlée Robot avec Arduino et serveur BitVoicer

2RM voix contrôlée Robot avec Arduino et serveur BitVoicer

Dans ce Instructable je vais montrer comment construire un robot de commande vocale 2RM . Même si je suis contrôle uniquement les moteurs à courant continu pour déplacer le robot, la même approche peut servir à la voix-contrôle de moteurs pas à pas e
Untethered la reconnaissance vocale et la synthèse vocale avec Arduino

Untethered la reconnaissance vocale et la synthèse vocale avec Arduino

MOVI signifie « Ma propre voix Interface » et est un Arduino Shield adossés kickstarter qui le rend très facile de créer vos propres boîtes de dialogue discours aux dispositifs de contrôle au sein de l'IDE Arduino. Cette rapide instructable vous mont
La reconnaissance vocale et la synthèse avec Arduino

La reconnaissance vocale et la synthèse avec Arduino

Dans mon précédent Instructable, j'ai montré comment contrôler quelques LEDs à l'aide d'une carte Arduino et le Serveur BitVoicer. Dans ce Instructable, je vais rendre les choses un peu plus compliqués. Je vais également à synthétiser la parole en ut
Bronze USB cloche horloge saisissante (avec Arduino)

Bronze USB cloche horloge saisissante (avec Arduino)

agacer vos collègues de travail : conduire dans la mendicité vous désactiver votre horloge de PC spécial !Cette petite plate-forme enfait interfaces via le port USB à l'horloge de votre PC et génère des heures et des demi-heures bosses sur une cloche
Le streaming vidéo à partir de carte SD sur Nokia LCD avec Arduino

Le streaming vidéo à partir de carte SD sur Nokia LCD avec Arduino

Pendant longtemps, j'ai pensé que la lecture de vidéo avec l'audio n'a pas été possible sur l'Arduino. Puis un jour j'ai décidé de lui donner un coup de feu et il s'est avéré pour être plus simple que je pensais.J'ai décidé d'écrire les étapes dans u
Éclairage LED avec Arduino vocale

Éclairage LED avec Arduino vocale

Ce projet est une extension pour la reconnaissance de la parole avec Arduino par leandro4b (). Cependant, au lieu d'utiliser 3 LEDs de couleur distinctes, j'ai utilisé un émetteur de LED multicolor 4 canaux RVB + blanc. J'ai eu l'occasion de travaill
Joyeux anniversaire avec Arduino

Joyeux anniversaire avec Arduino

Tout d'abord, Merci à bonniee, pour son grand Illumaphone instructable : Instrument de musique à base de lumière avec Arduino.J'ai juste amélioré pour que ce soit, comme je l'entends.Cette instructable vous montrera comment jouer « Happy Birthday » a