Table des matières:

Jouez des chansons avec Arduino en utilisant ADC vers PWM sur un transformateur ou un haut-parleur Flyback : 4 étapes
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur un transformateur ou un haut-parleur Flyback : 4 étapes

Vidéo: Jouez des chansons avec Arduino en utilisant ADC vers PWM sur un transformateur ou un haut-parleur Flyback : 4 étapes

Vidéo: Jouez des chansons avec Arduino en utilisant ADC vers PWM sur un transformateur ou un haut-parleur Flyback : 4 étapes
Vidéo: BordeauxJUG 12/2017 - Cédric Dué : Modernisez vos api, passez à GraphQL 2024, Novembre
Anonim
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback
Jouez des chansons avec Arduino en utilisant ADC vers PWM sur le transformateur ou le haut-parleur Flyback

Bonjour gars, Il s'agit de la deuxième partie de mon autre instructable (c'était beaucoup plus difficile). Fondamentalement, dans ce projet, j'ai utilisé l'ADC et les TIMERS sur mon Arduino pour convertir le signal audio en un signal PWM.

C'est beaucoup plus facile que mon précédent Instructable, voici le lien de mon premier Instructable si vous voulez voir. relier

Pour comprendre la théorie du signal audio, du débit binaire, de la profondeur de bits, du taux d'échantillonnage, vous pouvez lire la théorie dans mon dernier tutoriel sur Instructable. Le lien est au dessus.

Étape 1: Choses dont nous avons besoin pour ce projet (Exigences)

1. Carte Arduino (nous pouvons utiliser n'importe quelle carte (328, 2560) c'est-à-dire Mega, Uno, Mini, etc. mais avec des broches différentes spécifiques)

2. PC avec Arduino Studio.

3. Planche à pain ou planche à découper

4. Fils de connexion

5. TC4420 (pilote Mosfet ou autre)

6. Power Mosfet (canal N ou P, veuillez câbler en conséquence) (j'ai utilisé le canal N)

7. Haut-parleur ou transformateur Flyback (Oui, vous avez bien lu !!)

8. Alimentation appropriée (0-12V) (j'ai utilisé ma propre alimentation ATX)

9. Dissipateur de chaleur (j'ai récupéré de mon ancien PC).

10. Un amplificateur (amplificateur de musique normal) ou un circuit amplificateur.

Étape 2: Théorie de l'ADC au PWM

Théorie de l'ADC au PWM
Théorie de l'ADC au PWM
Théorie de l'ADC au PWM
Théorie de l'ADC au PWM

Donc, dans ce projet, j'ai utilisé l'ADC intégré d'Arduino pour faire un échantillonnage de données d'un signal audio.

ADC (convertisseur analogique-numérique) comme son nom l'indique, ADC convertit le signal analogique en échantillons numériques. Et pour Arduino avec une profondeur maximale de 10 bits. Mais pour ce projet, nous utiliserons l'échantillonnage 8 bits.

Lors de l'utilisation de l'ADC d'Arduino, nous devons garder à l'esprit la tension ADC_reference.

Arduino Uno propose 1.1V, 5V (référence interne, qui peut être définie en définissant dans le code) ou une référence externe (que nous devons appliquer en externe à la broche AREF).

D'après mon expérience, un minimum de 2,0 V doit être utilisé comme tension de référence pour obtenir un bon résultat de l'ADC. Comme 1.1V ne s'est pas bien passé au moins pour moi. (Expérience personnelle)

*IMPORTANT* *IMPORTANT**IMPORTANT**IMPORTANT**IMPORTANT*

Nous devons utiliser un signal audio amplifié provenant d'un amplificateur ou d'un circuit amplificateur avec une tension de crête (tension maximale) de 5V

Parce que j'ai défini la référence de tension interne de 5 V, pour notre projet. Et j'utilise un signal amplifié à l'aide d'un amplificateur normal (amplificateur de musique), qui est principalement disponible dans notre foyer ou vous pouvez en construire un vous-même.

Alors maintenant, la partie principale. Taux d'échantillonnage, c'est-à-dire combien d'échantillons notre ADC prend par seconde, plus le taux de conversion est élevé, meilleur sera le résultat de sortie, plus similaire sera l'onde de sortie par rapport à l'entrée.

Ainsi, nous utiliserons un taux d'échantillonnage de 33,33 kHz dans ce projet, en réglant l'horloge ADC à 500 kHz. Pour comprendre comment il en est ainsi, nous devons voir la page de synchronisation ADC dans la fiche technique de la puce Atmega (328p).

Nous pouvons voir que nous avons besoin de 13,5 cycles d'horloge ADC pour compléter un échantillon avec échantillonnage automatique. Avec une fréquence de 500Khz, cela signifie 1/500Khz=2uS pour un cycle ADC, ce qui signifie que 13,5*2uS=27uS sont nécessaires pour compléter un échantillon lorsque l'échantillonnage automatique est utilisé. En donnant 3uS de plus au microcontrôleur (pour plus de sécurité), soit un total de 30uS au total pour un échantillon.

Donc 1 échantillon à 30uS signifie 1/30uS = 33,33 KSamples/S.

Pour définir le taux d'échantillonnage, qui dépend de TIMER0 d'Arduino, car le déclencheur d'échantillonnage automatique ADC en dépend dans notre cas, comme vous pouvez également le voir dans le code et la fiche technique, nous avons défini la valeur de OCR0A = 60 (Pourquoi donc ???)

Parce que selon la formule donnée dans la fiche technique.

fréquence (ou ici Sample Rate) = Fréquence d'horloge d'Arduino/Prescaler * Valeur d'OCR0A (dans notre cas)

Fréquence ou taux d'échantillonnage que nous voulons = 33,33 KHz

Fréquence d'horloge = 16MHz

Prescaler value=8 (dans notre cas)

Valeur de OCR0A=on veut trouver ??

ce qui donne simplement OCR0A=60, également dans notre code Arduino.

TIMER1 est utilisé pour l'onde porteuse d'un signal audio, et je n'entrerai pas dans autant de détails à ce sujet.

C'était donc la brève théorie du concept d'ADC à PWM avec Arduino.

Étape 3: Schéma

Schématique
Schématique

Connectez tous les composants comme indiqué sur le schéma. Vous avez donc ici deux options:-

1. Connectez un haut-parleur (connecté avec 5V)

2. Connectez un transformateur Flyback (connecté avec 12V)

J'ai essayé les deux. Et les deux fonctionnent plutôt bien.

*IMPORTANT* *IMPORTANT**IMPORTANT**IMPORTANT**IMPORTANT*Nous devons utiliser un signal audio amplifié provenant d'un amplificateur ou d'un circuit amplificateur avec une tension de crête (tension max.) de 5V

Clause de non-responsabilité:-

* Je recommande d'utiliser le transformateur Flyback avec précaution car il peut être dangereux car il produit des tensions élevées. Et je ne serai responsable d'aucun dommage.*

Étape 4: Test final

Téléchargez donc le code donné sur votre Arduino et connectez le signal amplifié à la broche A0.

Et n'oubliez pas de connecter toutes les broches de terre à une terre commune.

Et profitez simplement d'écouter de la musique.

Conseillé: