Table des matières:
- Étape 1: Choses dont nous avons besoin pour ce projet (Exigences)
- Étape 2: Théorie de l'ADC au PWM
- Étape 3: Schéma
- Étape 4: Test final
Vidéo: Jouez des chansons avec Arduino en utilisant ADC vers PWM sur un transformateur ou un haut-parleur Flyback : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
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
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
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é:
Jouez à des jeux Nintendo sur l'Idevice avec une Wiimote gratuitement ! : 6 étapes
Jouez gratuitement à des jeux Nintendo sur l'appareil avec une Wiimote ! : Êtes-vous déjà allé sur l'App Store pour obtenir un jeu Super Nintendo, mais vous ne pouvez pas en trouver un pour jouer. Eh bien maintenant, vous pouvez jouer à ces jeux nintendo avec l'émulateur snes de cydia. Cet émulateur vous permet de jouer à des jeux Nintendo sur votre appareil, même avec
Jouez des chansons à l'aide d'un moteur pas à pas !! : 11 étapes (avec photos)
Jouer des chansons à l'aide d'un moteur pas à pas !! : Ce projet consiste à concevoir une interface dynamique simple, qui permettra d'interagir avec un moteur pas à pas de deux manières différentes. La première interface contrôlera la direction et la vitesse du moteur pas à pas grâce à l'utilisation d'un GUI simple, qui h
Simulateur de jeu SmartPhone - Jouez à des jeux Windows en utilisant l'IMU de contrôle gestuel, l'accéléromètre, le gyroscope, le magnétomètre : 5 étapes
Simulateur de jeu SmartPhone - Jouez à des jeux Windows à l'aide de l'IMU de contrôle gestuel, d'un accéléromètre, d'un gyroscope, d'un magnétomètre : soutenez ce projet : https://www.paypal.me/vslcreations en faisant un don aux codes open source & soutien au développement ultérieur
Jouez des MP3 sur un tourne-disque de 70 ans - pas de modifications permanentes : 3 étapes
Jouez des MP3 sur un tourne-disque de 70 ans - pas de modifications permanentes : ce que j'ai fait, c'est de configurer une connexion mono entre la source MP3 ou multimédia de votre choix, votre ordinateur, votre cassette, votre talkie-walkie et le câbler directement à chaud. à l'enceinte via des pinces crocodiles. Comme toujours, tutoriel/vidéo de démonstration : S'IL VOUS PLAÎT si
Adaptateur 12v vers USB Transformateur 12v vers 5v (idéal pour les voitures): 6 étapes
Adaptateur 12v vers USB Transformateur 12v vers 5v (idéal pour les voitures): Cela vous montrera comment faire un adaptateur 12v vers USB (5v). L'utilisation la plus évidente de ceci est pour les adaptateurs de voiture 12v, mais partout où vous avez du 12v, vous pouvez l'utiliser ! Si vous avez besoin de 5v pour autre chose que l'USB, ignorez simplement les étapes d'ajout des ports USB