Innehållsförteckning:
- Steg 1: Saker vi behöver för detta projekt (krav)
- Steg 2: Teori om ADC till PWM
- Steg 3: Schematisk
- Steg 4: Slutprov
Video: Spela låtar med Arduino Använda ADC till PWM på Flyback Transformer eller högtalare: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Hej grabbar, Detta är den andra delen av min andra instruerbara (det var mycket svårt). I grund och botten har jag i detta projekt använt ADC och TIMERS på min Arduino för att konvertera ljudsignal till en PWM -signal.
Detta är mycket lättare än min tidigare Instructable, Här är länken till min första Instructable om du vill se. länk
För att förstå teorin om ljudsignal, bithastighet, bitdjup, samplingshastighet, kan du läsa teorin i min senaste handledning om Instructable. Länken är ovan.
Steg 1: Saker vi behöver för detta projekt (krav)
1. Arduino Board (vi kan använda vilken styrelse som helst (328, 2560) dvs Mega, Uno, Mini, etc men med specifika olika stift)
2. PC med Arduino Studio.
3. Brödbräda eller Perfboard
4. Anslutning av ledningar
5. TC4420 (Mosfet -drivrutin eller sådant)
6. Ström Mosfet (N- eller P-kanal, vänligen koppla sedan därefter) (jag har använt N-kanal)
7. Högtalare eller Flyback Transformer (Ja du läste rätt !!)
8. Lämplig strömförsörjning (0-12V) (jag har använt min egen ATX-strömförsörjning)
9. Kylfläns (jag har räddat från min gamla dator).
10. En förstärkare (normal musikförstärkare) eller förstärkarkrets.
Steg 2: Teori om ADC till PWM
Så i det här projektet har jag använt den inbyggda ADC av Arduino för att göra sampling av data från en ljudsignal.
ADC (Analog-To-Digital Converter) som namnet definierar, konverterar ADC den analoga signalen till digitala samplingar. Och för Arduino med maximalt 10-bitars djup. Men för detta projekt använder vi 8-bitars provtagning.
När vi använder ADC för Arduino måste vi tänka på ADC_reference Voltage.
Arduino Uno erbjuder 1.1V, 5V (Intern referens, som kan ställas in med kod) eller en extern referens (som vi måste applicera externt på AREF -stift).
Enligt min erfarenhet bör minst 2,0V användas som referensspänning för att få ett bra resultat från ADC. Eftersom 1.1V inte gick bra åtminstone för mig. (Personlig erfarenhet)
*VIKTIGT**VIKTIGT ** VIKTIGT ** VIKTIGT ** VIKTIGT*
Vi måste använda en förstärkt ljudsignal från en förstärkare eller en förstärkarkrets med en spets (max. Spänning) på 5V
Eftersom jag ställde in den interna spänningsreferensen på 5V för vårt projekt. Och jag använder en förstärkt signal med en vanlig förstärkare (musikförstärkare), som mestadels är tillgänglig i vårt hushåll eller så kan du bygga en själv.
Så nu är huvuddelen. Samplingsfrekvens, vilket är hur mycket prover vår ADC tar per sekund, mer är konverteringsfrekvensen, bättre blir utgångsresultatet, mer liknande blir utgångsvåg jämfört med ingången.
Så, vi kommer att använda en samplingshastighet på 33,33Khz i detta projekt, genom att ställa in ADC -klockan på 500Khz. För att förstå hur det är så måste vi se ADC -tidssidan i databladet för Atmega (328p) -chipet.
Vi kan se det, vi behöver 13,5 ADC -klockcykler för att slutföra ett prov med automatisk provtagning. Med en frekvens på 500Khz betyder det 1/500Khz = 2uS för en ADC -cykel, vilket innebär att 13,5*2uS = 27uS behövs för att slutföra ett prov när automatisk provtagning används. Genom att ge 3uS mer till mikrokontrollern (för säker sida), gör totalt 30uS totalt för ett prov.
Så 1 prov vid 30uS betyder 1/30uS = 33,33 KSamples/S.
För att ställa in samplingshastigheten, som är beroende av TIMER0 för Arduino, eftersom ADC automatisk samplingsutlösare är beroende av den i vårt fall, som du också kan se i koden och databladet, har vi gjort värdet av OCR0A = 60 (Varför så ???)
För enligt formeln i databladet.
frekvens (eller här provhastighet) = Arduino/Prescalers klockfrekvens*Värdet av OCR0A (i vårt fall)
Frekvens eller samplingsfrekvens vi vill ha = 33,33KHz
Klockfrekvens = 16MHz
Förkalkningsvärde = 8 (i vårt fall)
Värdet på OCR0A = vi vill hitta ??
som helt enkelt ger OCR0A = 60, även i vår Arduino -kod.
TIMER1 används för bärvåg av en ljudsignal, och jag kommer inte att gå in på så många detaljer om det.
Så det var den korta teorin om konceptet ADC till PWM med Arduino.
Steg 3: Schematisk
Anslut alla komponenter som visas i schemat. Så du har här två alternativ:-
1. Anslut en högtalare (ansluten med 5V)
2. Anslut en Flyback -transformator (ansluten med 12V)
Jag har provat båda. Och båda fungerar ganska bra.
*VIKTIGT**VIKTIGT ** VIKTIGT ** VIKTIGT ** VIKTIGT*Vi måste använda en förstärkt ljudsignal från en förstärkare eller en förstärkarkrets med en spets (max. Spänning) på 5V
Varning:-
*Jag rekommenderar att du använder Flyback Transformer med försiktighet eftersom det kan vara farligt eftersom det producerar högspänning. Och jag ansvarar inte för skador.*
Steg 4: Slutprov
Så ladda upp den angivna koden till din Arduino och anslut den förstärkta signalen till A0 -stiftet.
Och glöm inte att ansluta alla markstift till en gemensam mark.
Och bara njut av att lyssna på musik.
Rekommenderad:
Talking Arduino - Spela en MP3 med Arduino utan någon modul - Spela upp MP3 -fil från Arduino med PCM: 6 steg
Talking Arduino | Spela en MP3 med Arduino utan någon modul | Spela MP3 -fil från Arduino Använda PCM: I denna instruktioner lär vi oss hur man spelar en mp3 -fil med arduino utan att använda någon ljudmodul, här kommer vi att använda PCM -bibliotek för Arduino som spelar 16 bitars PCM med 8 kHz -frekvens så låt oss göra detta
Spela låtar (MP3) med Arduino med PWM på högtalare eller Flyback Transformer: 6 steg (med bilder)
Spela låtar (MP3) med Arduino med PWM på högtalare eller Flyback Transformer: Hej killar, det här är min första instruerbara, jag hoppas att du kommer att gilla det! I grund och botten har jag i detta projekt använt den seriella kommunikationen mellan min Arduino och min bärbara dator, för att överföra musikdata från min bärbara dator till Arduino. Och med Arduino TIMERS t
Spela låtar med stegmotor !!: 11 steg (med bilder)
Spela låtar med stegmotor !!: Det här projektet handlar om att designa ett enkelt dynamiskt gränssnitt som gör det möjligt att interagera med en stegmotor på två olika sätt. Det första gränssnittet styr stegmotorns riktning och hastighet genom användning av en enkelt GUI, vilket h
Lägg till en Spela/hoppa-knapp till din fristående CD-ROM-enhet: 4 steg
Lägg till en Spela/hoppa-knapp till din fristående CD-ROM-enhet: Om du vill göra en CD-spelare från en gammal CD-ROM-enhet (se här) men enheten du har inte har en PLAY/SKIP-knapp på framsidan ….. Missa inte, du kan lägga till en till de flesta Cd -enheter, > > > > Läs vidare
Lägg till Beat -lampor till dina bärbara högtalare eller PC -högtalare : 5 steg
Lägg till Beat -lampor till dina bärbara högtalare eller PC -högtalare …: har du någonsin velat att dina små bärbara ljudhögtalare eller datorhögtalare skulle se ut som om du var i klubben ??? väl i denna instruerbara il visar dig hur du får dina talar via webbplatsen och ljudet av klubben