Sortie Arduino Audio (10 / 10 étapes)

Étape 10 : Conseils supplémentaires

Ce DAC utilise un peu de disponibles broches numériques de l’Arduino, y compris certains qui sont normalement utilisés pour la communication série et PWM, alors voici quelques conseils qui vous aideront à régler les conflits de la broche.

Si vous voulez faire de communication série : Logiciel Serial est une bibliothèque d’Arduino qui permet de transformer les broches de l’Arduino en broches de la série.  Habituellement quand vous faites un projet Arduino nécessitant une communication sérielle, vous évitez d’utiliser des broches numériques 0 et 1 parce qu’ils doivent être libres d’envoyer des données en série.  J’aime s’en servir pour le 8 bit DAC parce que les broches 0-7 font tous partie du PORTD sur puce Atmel328 de l’Arduino, cela me permet d’aborder tous dans une seule ligne de code.  PORTB n’a que 6 broches (broches numériques 8-13) et PORTC a seulement 6 broches (broches analogiques 0-5), donc vous ne pouvez pas construire un 8 bit DAC avec ces ports seuls.

Si vous devez utiliser les broches PWM, ou autrement utiliser différentes broches comme le CAD : Si vous devez utiliser les broches PWM, vous pouvez utiliser manipulation de bits pour libérer broches 3, 5 et 6 et remplacez-les par des broches, 8, 12 et 13.  Que vous voulez envoyer le numéro 36 de PORTD.  Vous pouvez utiliser les lignes suivantes :

définir des variables :
boolean bit3state ;
Boolean bit5state ;
Boolean bit6state ;

dans votre principal loop() :

bit3state = (36 & B00001000) >> 3; //get le troisième bit de 36
bit5state = (36 & B00100000) >> 5; //get le cinquième bit de 36
bit6state = (36 & B01000000) >> 6; //get le sixième peu de 36

Envoyer des données vers portd sans perturber les broches 3, 5 et 6
PORTD | = (36 & B10010111); //set broches haute haute en utilisant le numéro 36 de zéros remplace les bits 3, 5 et 6
PORTD & = (36| B01101000); //set broches faible faible en utilisant le numéro 36 par d’autres morceaux 3, 5 et 6 de remplacement

Envoyer des données au port sans perturber les broches 9, 10 et 11
PORTB | = 0 | (bit3state) | (bit5state << 4) | (bit6state << 5); //set broches haute
PORTB & = 255 & ~(1-bit3state) & ~((1-bit5state) << 4) & ~((1-bit6state) << 5); //set broches faible

n’oubliez pas de garder ces lignes PORTD et PORTB juste à côté de l’autre dans votre code, vous voulez les broches sur le port d et port b pour passer au plus près le même temps que possible.

Voici le code de l’étape précédente, édité afin qu’il n’utilise pas des broches PWM.  Comme vous le voir dans la figure 1, la sortie non filtrée de la DAC a plusieurs discontinuités provoquées par le décalage entre l’envoi de données au port d et port b, mais aussi de scinder les commandes pour le réglage des broches haute et basse.  Vous pouvez vous débarrasser de la plupart de ces discontinuités avec le filtre passe-bas (Fig. 2).  Si vous souhaitez utiliser cette technique vous pouvez envisager d’augmenter la fréquence de coupure du filtre passe-bas.  Si vous vouliez faire cela vraiment bon, vous pouvez envoyer vos 5 bits les plus significatifs au port d et vos 3 bits les moins significatifs sur le port b.  Cela diminuerait l’amplitude de certaines des discontinuités, réduire l’amplitude du bruit.  Je vous laisse comprendre qu’un seul.

 //Sine out, 40kHz sampling rate, w/o using PWM pins //by Amanda Ghassaei 

Si vous exécutez hors broches numériques et ont besoin de plus :  N’oubliez pas que vous pouvez toujours utiliser vos broches analogiques comme les e/s numériques.  Essayez les fonctions suivantes, ils travaillent tout comme vous faites affaire avec une broche numérique ordinaire.

digitalWrite (A0, HIGH); //set broches A0 haute
digitalWrite (A0, faible); //set broches A0 faible
digitalRead (A0); //read de données numériques de broches A0

Dans le cas contraire, essayez d’utiliser un multiplexeur.  Si vous avez besoin de plus de sorties numériques, 74HC595 vous permet de transformer trois broches numériques de l’Arduino en 8 sorties.  Vous pouvez même guirlande 595 multiples d’ensemble pour créer des broches de sorties plus nombreuses.  Vous pouvez configurer votre DAC ensemble sur l’un de ces jetons si vous vouliez (bien qu’il prendrait quelques lignes de code pour y remédier et pourrait vous ralentir trop pour des taux d’échantillonnage plus élevés).  Le site de l’Arduino est un bon endroit pour commencer à apprendre sur la façon d’utiliser le 595.

Si vous avez besoin de plus d’entrées numériques, le 74HC165 ou CD4021B vous permettent de transformer trois broches numériques de l’Arduino en 8 entrées.  Encore une fois, le site de l’Arduino est un bon endroit pour commencer à apprendre comment utiliser ces puces.

Si vous souhaitez utiliser l’info dans ce Instructable avec le méga ou autres conseils : Dans ce Instructable j’ai parlé exclusivement l’Arduino Uno avec Atmel328.  Le même code fonctionnera très bien sur n’importe quel planche avec une puce Atmel328 ou Atmel168 à ce sujet.  Vous pouvez également utiliser les mêmes idées avec un méga.  Vous devriez essayer d’attacher votre DAC à n’importe quel port qui possède 8 broches disponibles, de cette façon, vous pouvez adresser votre DAC avec une ligne de code (« PORTD = ") sur le Uno, le seul port qui possède 8 broches disponibles est port d.  



image indique que le méga possède plusieurs ports dotée de 8 broches : ports a, b, c, et l sont les choix évidents.  Si vous ne se souciez gaspiller des broches analogiques vous pouvez également utiliser les ports f ou k.

Articles Liés

Impulsions de sortie Arduino de mobile Android. Aucune programmation requise

Impulsions de sortie Arduino de mobile Android. Aucune programmation requise

IntroductionCe Instructable vous montre comment utiliser l'application gratuite, pfodDesigner, de concevoir un menu sur votre mobile Android qui flashe une sortie sur votre carte Arduino sans que vous ayez à écrire du code à tous. Le pfodDesigner gén
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
Entrée Arduino Audio

Entrée Arduino Audio

Envoyer son dans votre Arduino. Cet Instructable va vous montrer comment préparer audio afin qu'il peut être échantillonnée et traitée par un Arduino pour faire des projets de nature réactive sons et effets audio. (Cet article est un compagnon de Ins
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
Testeur de sortie Arduino à l’aide de LED #Xolcano

Testeur de sortie Arduino à l’aide de LED #Xolcano

il s'agit d'un simple et très utile projet chaque fois que vous travaillez sur un prototype, vous pouvez l'utiliser pour gagner du temps.. ! alors commencer le LannÉtape 1: Composants nécessaires 1) LED 3 mm-#72) 1 k résistance - #73) planche perforé
Boîte de sortie Arduino Home Automation

Boîte de sortie Arduino Home Automation

SON FAIT ! DÉCOUVREZ LA VIDÉO DANS LA DERNIÈRE ÉTAPE !Donc dans mon appartement, nous sommes censés pour avoir une prise commutée de sorte que vous pouvez allumer une lumière dès que vous entrez dans l'appartement. Je n'ai pu trouver ladite prise. Al
Log sortie Arduino pour jours avec un BeagleBone

Log sortie Arduino pour jours avec un BeagleBone

Voici un hack rapide pour le débogage des projets Internet of ThingsNous allons dire vous avez construit un gentil, connecté à Internet Arduino projet avec une interface Web fantaisie desservie par, par exemple l'Ethernet shield. Après un ou deux jou
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
Audio stéréo avec Arduino

Audio stéréo avec Arduino

Récemment j'ai été annonce beaucoup de projets qui utilisent un 8 bits échelle de résistanceconvertisseur numérique analogique (DAC) et un Arduino à faire sonner. (voir la boîte d'effets vocaux Arduino, l'échantillonneur de tambour Arduino et mon tut
Générateur de code pour des menus personnalisés Android/Arduino activer et désactiver les sorties de l’Arduino. Andriod/Arduino pour les débutants. Absolument aucune programmation requise

Générateur de code pour des menus personnalisés Android/Arduino activer et désactiver les sorties de l’Arduino. Andriod/Arduino pour les débutants. Absolument aucune programmation requise

Mise à jour : un utilisateur invité pour sous-menu soutien. pfodApp a toujours soutenu des sous-menus, mais j'ai ajouté des sous-menus à pfodDesigner. L'instructable Design A Custom Menu System vous montre comment utiliser pfodDesigner pour générer u
Transmission de données de Android Arduino sur prise jack audio

Transmission de données de Android Arduino sur prise jack audio

Avec ce projet, vous pouvez envoyer octets d'android Arduino en utilisant uniquement un connecteur jack audio.Comment ça marche ?Fondamentalement, android envoie un signal audio « morse » arduino. Arduino en revanche décoder le code morse en un octet
Comment changer un Arduino sous et hors tension de sortie de votre mobile Android.  Arduino pour les débutants

Comment changer un Arduino sous et hors tension de sortie de votre mobile Android. Arduino pour les débutants

Mise à jour : Voir Andriod/Arduino pour débutants - Design Custom Andriod menus pour activer et désactiver les sorties de l'Arduino. Absolument aucun programmation requis pour une alternative qui ne nécessite aucune programmation à tous.Comment les d
Guide du débutant pour Arduino

Guide du débutant pour Arduino

Après quelques années d'expérimentations avec Arduino, j'ai décidé que le moment est venu de partager les connaissances que j'ai acquis. Donc j'ai ici, il va, un guide pour Arduino, avec les bases nues pour les débutants et quelques explications plus