Innholdsfortegnelse:
- Trinn 1: Ting vi trenger for dette prosjektet (krav)
- Trinn 2: Teori om ADC til PWM
- Trinn 3: Skjematisk
- Trinn 4: Sluttest
Video: Spill sanger med Arduino ved å bruke ADC til PWM på Flyback Transformer eller høyttaler: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Hei folkens, Dette er den andre delen av min andre instruerbare (det var mye vanskelig). I hovedsak har jeg i dette prosjektet brukt ADC og TIMERS på min Arduino for å konvertere lydsignal til et PWM -signal.
Dette er mye lettere enn min forrige Instructable. Her er lenken til min første Instructable hvis du vil se. lenke
For å forstå teorien om lydsignal, bitrate, bitdybde, samplingsfrekvens, kan du lese teorien i min siste opplæring om Instructable. Lenken er over.
Trinn 1: Ting vi trenger for dette prosjektet (krav)
1. Arduino Board (vi kan bruke et hvilket som helst brett (328, 2560) dvs. Mega, Uno, Mini, etc, men med spesifikke forskjellige pins)
2. PC med Arduino Studio.
3. Brødbrett eller Perfboard
4. Koble til ledninger
5. TC4420 (Mosfet -driver eller slikt)
6. Strøm Mosfet (N eller P kanal, vennligst koble deretter deretter) (jeg har brukt N-kanal)
7. Høyttaler eller Flyback Transformer (Ja, du leste det riktig!)
8. Egnet strømforsyning (0-12V) (jeg har brukt min egen ATX strømforsyning)
9. Varmeavleder (jeg har berget fra min gamle PC).
10. En forsterker (vanlig musikkforsterker) eller forsterkerkrets.
Trinn 2: Teori om ADC til PWM
Så i dette prosjektet har jeg brukt i den innebygde ADC av Arduino til å ta datasampling av et lydsignal.
ADC (Analog-To-Digital Converter) som navnet definerer, konverterer ADC det analoge signalet til digitale prøver. Og for Arduino med maksimalt 10-biters dybde. Men for dette prosjektet bruker vi 8-biters prøvetaking.
Når du bruker ADC til Arduino, må vi huske på ADC_reference Voltage.
Arduino Uno tilbyr 1.1V, 5V (intern referanse, som kan defineres i kode) eller en ekstern referanse (som vi må bruke eksternt på AREF -pinne).
Etter min erfaring bør minimum 2.0V brukes som referansespenning for å få et godt resultat fra ADC. Siden 1.1V ikke gikk bra i hvert fall for meg. (Personlig erfaring)
*VIKTIG**VIKTIG ** VIKTIG ** VIKTIG ** VIKTIG*
Vi må bruke et forsterket lydsignal fra en forsterker eller en forsterkerkrets med en toppspenning (maks. Spenning) på 5V
Fordi jeg angav den interne spenningsreferansen til 5V for prosjektet vårt. Og jeg bruker et forsterket signal ved hjelp av en vanlig forsterker (musikkforsterker), som for det meste er tilgjengelig i husholdningen vår, eller du kan bygge en selv.
Så nå er hoveddelen. Samplingsfrekvens, som er hvor mange prøver vår ADC tar per sekund, mer er konverteringsfrekvensen, bedre blir utgangsresultatet, mer lignende blir utgangsbølgen sammenlignet med inngangen.
Så, vi vil bruke en samplingsfrekvens på 33,33Khz i dette prosjektet, ved å sette ADC -klokken på 500Khz. For å forstå hvordan det er, må vi se ADC -tidssiden i databladet til Atmega (328p) -brikken.
Vi kan se at vi trenger 13,5 ADC klokkesykluser for å fullføre en prøve med automatisk prøvetaking. Med en frekvens på 500Khz betyr det 1/500Khz = 2uS for en ADC -syklus, noe som betyr at 13,5*2uS = 27uS er nødvendig for å fullføre en prøve når automatisk prøvetaking brukes. Ved å gi 3uS mer til mikrokontrolleren (for sikker side), gjør du totalt 30uS totalt for en prøve.
Så 1 Prøve ved 30uS betyr 1/30uS = 33,33 KSamples/S.
For å angi samplingshastigheten, som er avhengig av TIMER0 for Arduino, fordi ADC auto sampling trigger er avhengig av den i vårt tilfelle, som du også kan se i koden og databladet, har vi laget verdien til OCR0A = 60 (hvorfor det ???)
Fordi i henhold til formelen gitt i databladet.
frekvens (eller her Prøvehastighet) = Klokkefrekvens for Arduino/Prescaler*Verdi av OCR0A (i vårt tilfelle)
Frekvens eller prøvefrekvens vi ønsker = 33,33KHz
Klokkefrekvens = 16MHz
Forkalkingsverdi = 8 (i vårt tilfelle)
Verdi av OCR0A = vi ønsker å finne ??
som ganske enkelt gir OCR0A = 60, også i vår Arduino -kode.
TIMER1 brukes til bærerbølge av et lydsignal, og jeg skal ikke gå inn på så mange detaljer om det.
Så det var den korte teorien om konseptet ADC til PWM med Arduino.
Trinn 3: Skjematisk
Koble til alle komponentene som vist i skjemaet. Så du har her to alternativer:-
1. Koble til en høyttaler (koblet til 5V)
2. Koble til en Flyback Transformer (koblet til 12V)
Jeg har prøvd begge deler. Og begge fungerer ganske bra.
*VIKTIG**VIKTIG ** VIKTIG ** VIKTIG ** VIKTIG*Vi må bruke et forsterket lydsignal fra en forsterker eller en forsterkerkrets med en toppspenning (maks. Spenning) på 5V
Ansvarsfraskrivelse:-
*Jeg anbefaler å bruke Flyback Transformer med forsiktighet, da det kan være farlig fordi det produserer høyspenninger. Og jeg er ikke ansvarlig for noen skade.*
Trinn 4: Sluttest
Så last opp den oppgitte koden til din Arduino, og koble det forsterkede signalet til A0 -pinnen.
Og ikke glem å koble alle jordnålene til en felles bakke.
Og bare nyt å lytte til musikk.
Anbefalt:
Spill sanger (MP3) med Arduino ved hjelp av PWM på høyttaler eller Flyback Transformer: 6 trinn (med bilder)
Spill sanger (MP3) med Arduino ved hjelp av PWM på høyttaler eller Flyback Transformer: Hei folkens, Dette er min første instruerbare, jeg håper du vil like det! I utgangspunktet har jeg i dette prosjektet brukt seriell kommunikasjon mellom min Arduino og min bærbare, for å overføre musikkdata fra min bærbare til Arduino. Og ved å bruke Arduino TIMERS t
Slik laster du opp spill til Arduboy og 500 spill til Flash-cart: 8 trinn
Slik laster du opp spill til Arduboy og 500 spill til Flash-cart: Jeg lagde noen hjemmelagde Arduboy med Serial Flash-minne som kan lagre maks 500 spill å spille på veien. Jeg håper å dele hvordan du laster inn spill til den, inkludert hvordan du lagrer spill i det serielle flashminnet og lager din egen konsoliderte spillpakke
Spill sanger med trinnmotor !!: 11 trinn (med bilder)
Spill sanger ved hjelp av trinnmotor !!: Dette prosjektet handler om å designe et enkelt dynamisk grensesnitt, som gjør det mulig å samhandle med en trinnmotor på to forskjellige måter. Det første grensesnittet vil kontrollere retningen og hastigheten til trinnmotoren ved bruk av en enkel GUI, som h
SPILL OG LAD OPP IPODEN VED Å BRUKE GAMLE BOOMBOX - Tips og tips: 5 trinn (med bilder)
SPILL OG LAD OPP IPODEN VED Å BRUKE GAMLE BOOMBOX - Tips og tips: Vurder dette som et tillegg til andre iPod boombox -mods. Jeg innrømmer at jeg lånte fra andre instruktører. For ikke å ta fra disse instruksjonene, her er et "rop" " til de som inspirerte meg til å dykke ned i min egen mod. Takk skal du ha. Instruerbart
Last ned og spill Flash-spill online eller offline: 5 trinn
Last ned og spill Flash-spill på eller offline: I denne instruksen vil jeg lære deg hvordan du laster ned flash-spill. Dette er fantastisk for å spille på turer og ting der du ikke kan få wi-fi