Мазмуну:
- 1 -кадам: Бул долбоорго керектүү нерселер (талаптар)
- 2 -кадам: PWM үчүн ADC теориясы
- 3 -кадам: схемалык
- 4 -кадам: Акыркы тест
Video: Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Салам балдар, Бул менин башка көрсөтмөмдүн экинчи бөлүгү (бул абдан кыйын болчу), Негизи, бул долбоордо мен аудио сигналды PWM сигналына айландыруу үчүн Arduinoдогу ADC жана TIMERSти колдондум.
Бул менин мурунку көрсөтмөмө караганда алда канча жеңил, Бул жерде менин биринчи көрсөтмөмдүн шилтемеси, эгер сиз көргүңүз келсе. шилтеме
Аудио сигналынын теориясын түшүнүү үчүн, Бит ылдамдыгы, Бит тереңдиги, Үлгүлөө ылдамдыгы, Теорияны Instructable боюнча менин акыркы окуу куралымдан окуй аласыз. Шилтеме жогоруда.
1 -кадам: Бул долбоорго керектүү нерселер (талаптар)
1. Arduino Board (биз каалаган тактаны (328, 2560) колдоно алабыз, башкача айтканда Mega, Uno, Mini ж.б.
2. PC Arduino Studio менен.
3. Breadboard же Perfboard
4. Зымдарды туташтыруу
5. TC4420 (Mosfet айдоочусу же башка нерсе)
6. Power Mosfet (N же P каналы, сураныч, ошого жараша өткөрүңүз) (мен N-каналды колдондум)
7. Динамик же Flyback Transformer (Ооба, сиз туура окудуңуз !!)
8. Ылайыктуу Power Supply (0-12V) (Мен өз ATX Power Supply колдонгон)
9. Жылуулук чөгүүчү (мен эски компьютеримден куткардым).
10. Күчөткүч (кадимки музыкалык күчөткүч) же күчөткүч схемасы.
2 -кадам: PWM үчүн ADC теориясы
Ошентип, бул долбоордо, мен Arduinoдун курулган ADCсинде аудио сигналдын маалыматтарын тандоо үчүн колдондум.
ADC (Analog-to-Digital Converter) аты аныктагандай, ADC аналогдук сигналды санарип үлгүлөргө айлантат. Ал эми 10 бит тереңдикке ээ болгон Arduino үчүн. Бирок бул долбоор үчүн биз 8-биттик үлгүлөрдү колдонобуз.
Arduino ADC колдонуп жатканда, биз ADC_reference чыңалуусун эстен чыгарбашыбыз керек.
Arduino Uno 1.1V, 5V (коддо аныкталуучу ички шилтеме) же тышкы шилтемени (AREF пинге сырттан колдонуубуз керек) сунуштайт.
Менин тажрыйбама ылайык, ADCден жакшы жыйынтык алуу үчүн минималдуу 2.0В чыңалуу чыңалуусу катары колдонулушу керек. 1.1V мен үчүн жок дегенде жакшы болгон жок. (Жеке тажрыйба)
*МААНИЛҮҮ**МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ*
Биз 5V чыңалуусу (Max. Voltage) менен Amplifier же Amplifier Circuitтин күчөтүлгөн аудио сигналын колдонушубуз керек
Анткени мен 5В ички чыңалуу шилтемесин койгонбуз, биздин долбоор үчүн. Мен күчөтүлгөн сигналды кадимки күчөткүчтү (музыкалык күчөткүчтү) колдонуп жатам, ал көбүнчө биздин үйдө бар же өзүңүз үчүн кура аласыз.
Ошентип, азыр негизги бөлүгү. Тандоо ылдамдыгы, бул биздин ADC секундасына канча үлгү алат, конверсия ылдамдыгы ошончолук жакшы болот, натыйжа жакшы болот, киргизүүгө салыштырмалуу чыгаруу толкуну окшош болот.
Ошентип, биз бул проектте ADC саатын 500 кГцке коюу менен 33.33Khz үлгүсүн алуу ылдамдыгын колдонобуз. Мунун кандай экенин түшүнүү үчүн, биз ADM Timing баракчасын Atmega (328p) чипинин маалымат барагынан көрүшүбүз керек.
Муну көрө алабыз, авто үлгүлөрдү алуу менен бир үлгү алуу үчүн бизге 13.5 ADC саат циклдери керек. 500Khz жыштыгында, бул 1 ADC цикли үчүн 1/500Khz = 2uS дегенди билдирет, бул авто үлгүлөрдү колдонууда үлгү алуу үчүн 13.5*2uS = 27uS керек. Микроконтроллерге 3uS көбүрөөк берүү менен (коопсуз жагы үчүн), бир үлгү үчүн жалпысынан 30uS жасоо.
Ошентип, 30uSте 1 Үлгү 1/30uS = 33.33 KSamples/S дегенди билдирет.
Тандоо ылдамдыгын орнотуу үчүн, Arduino TIMER0 көз каранды, анткени ADC автоматтык үлгү алуу триггери биздин жагдайга көз каранды, бул коддон жана маалымат барагынан көрүнүп тургандай, биз OCR0A = 60 маанисин түздүк. ???)
Анткени маалымат барагында берилген формула боюнча.
жыштык (же бул жерде Sample Rate) = Arduino/Prescaler саат жыштыгы*OCR0A мааниси (биздин учурда)
Биз каалаган жыштык же үлгү ылдамдыгы = 33.33KHz
Саат жыштыгы = 16 МГц
Prescaler мааниси = 8 (биздин учурда)
OCR0A мааниси = биз тапкысы келет ??
жөн гана OCR0A = 60 берет, биздин Arduino кодубузда дагы.
TIMER1 аудио сигналдын ташуучу толкуну үчүн колдонулат, жана мен анча -мынча деталдарга кирбеймин.
Ошентип, бул Arduino менен PWMге ADC түшүнүгүнүн кыска теориясы болчу.
3 -кадам: схемалык
Бардык компоненттерди схемада көрсөтүлгөндөй туташтырыңыз. Демек, бул жерде сизде эки вариант бар:-
1. Динамикти туташтыруу (5V менен туташкан)
2. Flyback Transformer туташтыруу (12V менен туташкан)
Мен экөөнү тең сынап көрдүм. Анан экөө тең абдан жакшы иштейт.
*МААНИЛҮҮ**МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ*Биз 5В чыңалуудагы чыңалуусу (Max. Voltage) менен күчөткүчтөн же күчөткүчтөн алынган үн сигналын колдонушубуз керек
Жоопкерчиликтен баш тартуу:-
*Мен Flyback трансформаторун сактык менен колдонууну сунуштайм, анткени ал коркунучтуу болушу мүмкүн, анткени ал жогорку чыңалуу жаратат. Ошондо мен эч кандай зыян тартпайм*.
4 -кадам: Акыркы тест
Ошентип, берилген кодду Arduinoго жүктөп, жана күчөтүлгөн сигналды A0 пинине туташтырыңыз.
Жана бардык жер казыктарын жалпы жерге туташтырууну унутпаңыз.
Жана жөн эле музыка угуудан ырахат алыңыз.
Сунушталууда:
ESP32 менен видеону ойнотуу: 10 кадам (сүрөттөр менен)
ESP32 менен видеону ойнотуу: Бул көрсөтмөлөр ESP32 менен видео жана аудио ойнотуу жөнүндө бир нерсени көрсөтөт
Talking Arduino - Ардуино менен MP3 ойнотуу модулу жок - PCMди колдонуу менен Arduinoдон Mp3 файлын ойнотуу: 6 кадам
Talking Arduino | Ардуино менен MP3 ойнотуу модулу жок | PC файлын колдонуу менен Arduinoдон Mp3 файлын ойнотуу: Бул көрсөтмөлөрдө биз ардуино менен mp3 файлды эч кандай аудио модулду колдонбостон ойнотууну үйрөнөбүз, бул жерде биз 8 кГц жыштыктагы 16 бит PCM ойногон Arduino үчүн PCM китепканасын колдонобуз
Ырларды (MP3) Arduino менен PWMди динамикте же Flyback трансформаторунда колдонуу: 6 кадам (сүрөттөр менен)
Ырларды (MP3) Ардуино менен PWMди Динамикте же Flyback Трансформаторунда ойнотуу: Саламатсыздарбы балдар, бул менин биринчи көрсөтмөм, сизге жагат деп ишенем !! Негизи, бул долбоордо мен Arduino менен ноутбугумдун ортосундагы сериялык байланышты колдондум, ноутбуктан музыкалык маалыматтарды Arduinoго өткөрүп берүү. Жана Arduino TIMERS т колдонуп
CD ойноткучсуз, AIди жана YouTubeду колдонуу менен CDлерди ойнотуу: 10 кадам (сүрөттөр менен)
CD ойноткучсуз, AIди жана YouTubeду колдонуу менен CD ойнотуңуз: CDлериңизди ойноткуңуз келет, бирок CD ойноткучуңуз жокпу? Дисктериңизди жыртканга убактыңыз болгон жокпу? Аларды айрып салышты, бирок файлдар керек болгондо жеткиликсизби? Эч кандай көйгөй жок. AI (жасалма интеллект) CDиңизди аныктап, YouTube аны ойнотсун! Мен Android тиркемесин жаздым
Step Step мотору менен ырларды ойнотуу !!: 11 кадам (сүрөттөр менен)
Ырларды Step Motor колдонуп ойнотуңуз !!: Бул проект степпердик мотор менен эки башка жол менен иштешүүгө мүмкүндүк бере турган жөнөкөй динамикалык интерфейсти долбоорлоо жөнүндө. Биринчи интерфейс stepper моторунун багытын жана ылдамдыгын көзөмөлдөйт. жөнөкөй GUI, ал