Obsah:
- Krok 1: Veci, ktoré potrebujeme pre tento projekt (požiadavky)
- Krok 2: Teória ADC k PWM
- Krok 3: Schéma
- Krok 4: Záverečný test
Video: Hrajte skladby s Arduinom pomocou ADC na PWM na Flyback transformátore alebo reproduktore: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Ahojte chlapi, Toto je druhá časť môjho ďalšieho pokynu (ktorý bol veľmi náročný). V zásade som v tomto projekte použil ADC a TIMERS na svojom Arduine na prevod zvukového signálu na signál PWM.
To je oveľa jednoduchšie ako môj predchádzajúci Instructable. Tu je odkaz na môj prvý Instructable, ak ho chcete vidieť. odkaz
Aby ste pochopili teóriu zvukového signálu, dátový tok, bitovú hĺbku, vzorkovaciu frekvenciu, teóriu si môžete prečítať v mojom poslednom návode na tému Instructable. Odkaz je vyššie.
Krok 1: Veci, ktoré potrebujeme pre tento projekt (požiadavky)
1. Doska Arduino (môžeme použiť akúkoľvek dosku (328, 2560), tj Mega, Uno, Mini atď., Ale s konkrétnymi rôznymi pinmi)
2. PC s Arduino Studio.
3. Breadboard alebo Perfboard
4. Pripojovacie vodiče
5. TC4420 (Ovládač Mosfet alebo niečo podobné)
6. Napájajte Mosfet (kanál N alebo P, zapojte ho potom zodpovedajúcim spôsobom) (použil som N-kanál)
7. Reproduktor alebo Flyback transformátor (Áno, čítate dobre !!)
8. Vhodný napájací zdroj (0-12 V) (použil som vlastný napájací zdroj ATX)
9. Chladič (zachránil som zo starého počítača).
10. Zosilňovač (normálny hudobný zosilňovač) alebo obvod zosilňovača.
Krok 2: Teória ADC k PWM
V tomto projekte som teda použil vstavaný ADC Arduina na vzorkovanie údajov zvukového signálu.
ADC (prevodník analógovo-digitálneho signálu), ako názov definuje, ADC prevádza analógový signál na digitálne vzorky. A pre Arduino s maximálne 10-bitovou hĺbkou. Ale pre tento projekt použijeme 8-bitové vzorkovanie.
Pri použití ADC Arduina musíme mať na pamäti ADC_reference Voltage.
Arduino Uno ponúka 1,1 V, 5 V (internú referenciu, ktorú je možné nastaviť definovaním v kóde) alebo externú referenciu (ktorú musíme externe použiť na pin AREF).
Podľa mojich skúseností by na dosiahnutie dobrého výsledku od ADC malo byť ako referenčné napätie použité minimálne 2,0 V. Keďže 1.1V nešlo dobre aspoň mne. (Osobná skúsenosť)
*DÔLEŽITÉ**DŮLEŽITÉ ** DŮLEŽITÉ ** DŮLEŽITÉ ** DÔLEŽITÉ*
Potrebujeme použiť zosilnený zvukový signál zo zosilňovača alebo obvodu zosilňovača so špičkovým napätím (max. Napätie) 5V
Pretože som pre náš projekt nastavil vnútornú referenciu napätia 5V. A ja používam zosilnený signál pomocou normálneho zosilňovača (hudobného zosilňovača), ktorý je väčšinou k dispozícii v našej domácnosti alebo si ho môžete postaviť sami.
Takže teraz hlavná časť. Vzorkovacia frekvencia, čo je počet vzoriek, ktoré náš ADC odoberie za sekundu, čím viac je konverzný pomer, tým lepší bude výstupný výsledok, podobnejšia bude výstupná vlna v porovnaní so vstupom.
V tomto projekte teda použijeme vzorkovaciu frekvenciu 33,33 kHz tak, že nastavíme hodiny ADC na 500 kHz. Aby sme pochopili, ako to je, musíme vidieť stránku načasovania ADC v technickom liste čipu Atmega (328p).
Vidíme, že na dokončenie jednej vzorky s automatickým vzorkovaním potrebujeme 13,5 hodinových cyklov ADC. S frekvenciou 500 kHz to znamená 1/500 kHz = 2 µS pre jeden cyklus ADC, čo znamená, že na použitie automatického vzorkovania je na dokončenie vzorky potrebných 13,5 x 2 µS = 27 µS. Poskytnutím 3uS viac mikrokontroléru (pre bezpečnú stranu), čo predstavuje celkom 30uS pre jednu vzorku.
Takže 1 vzorka pri 30uS znamená 1/30uS = 33,33 KS vzoriek/S.
Aby sme nastavili vzorkovaciu frekvenciu, ktorá závisí od TIMER0 Arduina, pretože na tom v našom prípade závisí spúšťač automatického vzorkovania ADC, ako vidíte aj v kóde a technickom liste, urobili sme hodnotu OCR0A = 60 (Prečo tak ???)
Pretože podľa vzorca uvedeného v údajovom liste.
frekvencia (alebo tu Vzorkovacia frekvencia) = Taktovacia frekvencia Arduina/Prescalera*Hodnota OCR0A (v našom prípade)
Požadovaná frekvencia alebo vzorkovacia frekvencia = 33,33 kHz
Taktovacia frekvencia = 16 MHz
Hodnota prescaleru = 8 (v našom prípade)
Hodnota OCR0A = chceme nájsť ??
čo jednoducho dáva OCR0A = 60, tiež v našom kóde Arduino.
TIMER1 sa používa pre nosnú vlnu zvukového signálu. Nebudem to rozoberať v mnohých podrobnostiach.
To bola krátka teória konceptu ADC na PWM s Arduino.
Krok 3: Schéma
Pripojte všetky komponenty podľa schémy. Máte teda dve možnosti:-
1. Pripojte reproduktor (prepojený s 5V)
2. Pripojte transformátor Flyback (spojený s napätím 12 V)
Skúšal som oboje. A obe fungujú celkom dobre.
*DÔLEŽITÉ**DÔLEŽITÉ ** DÔLEŽITÉ ** DÔLEŽITÉ ** DÔLEŽITÉ*Potrebujeme použiť zosilnený zvukový signál zo zosilňovača alebo obvodu zosilňovača so špičkovým napätím (max. Napätie) 5V
Zrieknutie sa zodpovednosti:-
*Odporúčam používať transformátor Flyback s opatrnosťou, pretože to môže byť nebezpečné, pretože vytvára vysoké napätie. A nezodpovedám za žiadne škody.*
Krok 4: Záverečný test
Nahrajte teda daný kód do svojho Arduina a pripojte zosilnený signál na pin A0.
A nezabudnite pripojiť všetky uzemňovacie kolíky k spoločnému uzemneniu.
A len si užívajte počúvanie hudby.
Odporúča:
Detekcia objektov pomocou Dragonboard 410c alebo 820c pomocou OpenCV a Tensorflow .: 4 kroky
Object Detection W/ Dragonboard 410c or 820c using OpenCV and Tensorflow .: This instructables popisuje how to install OpenCV, Tensorflow, and machine learning frameworks for Python 3.5 to run the Object Detection
Prehrávajte piesne (MP3) s Arduino pomocou PWM na reproduktore alebo Flyback transformátore: 6 krokov (s obrázkami)
Prehrávajte piesne (MP3) s Arduinom pomocou PWM na reproduktore alebo Flyback transformátore: Dobrý deň, priatelia, toto je môj prvý návod, dúfam, že sa vám bude páčiť !! V zásade som v tomto projekte použil sériovú komunikáciu medzi mojím Arduinom a prenosným počítačom, na prenos hudobných údajov z môjho prenosného počítača do Arduina. A pomocou Arduino TIMERS t
Hrajte skladby pomocou krokového motora !!: 11 krokov (s obrázkami)
Hrajte piesne pomocou krokového motora !!: Tento projekt je o navrhnutí jednoduchého dynamického rozhrania, ktoré umožní interakciu s krokovým motorom dvoma rôznymi spôsobmi. Prvé rozhranie bude ovládať smer a rýchlosť krokového motora pomocou jednoduché GUI, ktoré
Stiahnite si a hrajte flash hry online alebo offline: 5 krokov
Stiahnite si a hrajte flash hry online alebo offline: V tomto návode vás naučím, ako sťahovať flash hry. Je to úžasné na hranie výletov a podobných aktivít, keď nemôžete získať wi-fi
Ponghatduino: Hrajte tenis pomocou klobúka: 3 kroky
Ponghatduino: Hrajte Pong pomocou klobúka: Aj keď to nie je práve OCZ NIA. Pong-hat-duino je spôsob, ako hrať pong iba pomocou sily svojej mysle. No, vaše obočie aj tak … Toto je v podstate modifikácia projektu Monski Pong Toma Igoea z vynikajúcej knihy Making Things Talk (