Агуулгын хүснэгт:
- Алхам 1: Энэхүү төсөлд бидэнд хэрэгтэй зүйлс (шаардлага)
- Алхам 2: ХБХ -аас ADC -ийн онол
- Алхам 3: Схем
- Алхам 4: Эцсийн шалгалт
Видео: Flyback трансформатор эсвэл чанга яригч дээр ХОУХШ -ийг ашиглан ADC ашиглан Arduino -той дуу тоглуулах: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Сайн уу залуусаа, Энэ бол миний өөр нэг зааварчилгааны хоёрдахь хэсэг юм (энэ нь маш хэцүү байсан), Үндсэндээ энэ төсөлд би Arduino дээрх ADC ба TIMERS -ийг ашиглан аудио дохиог PWM дохио болгон хувиргасан.
Энэ нь миний өмнөх зааварчилгаанаас хамаагүй хялбар юм, хэрэв та үзэхийг хүсч байвал миний анхны зааварчилгааны линк энд байна. холбоос
Аудио дохионы онол, битийн хурд, битийн гүн, дээж авах хурдны онолыг ойлгохын тулд та онолыг зааварчилгааны талаархи сүүлийн хичээлээс унших боломжтой. Холбоос нь дээр байна.
Алхам 1: Энэхүү төсөлд бидэнд хэрэгтэй зүйлс (шаардлага)
1. Arduino Board (бид ямар ч самбар ашиглаж болно (328, 2560), өөрөөр хэлбэл Mega, Uno, Mini гэх мэт, гэхдээ өөр өөр тээглүүртэй)
2. Arduino студитэй компьютер.
3. Breadboard эсвэл Perfboard
4. Утас холбох
5. TC4420 (Mosfet драйвер эсвэл ийм зүйл)
6. Power Mosfet (N эсвэл P суваг, дараа нь утсаар холбоно уу) (би N суваг ашигласан)
7. Чанга яригч эсвэл Flyback трансформатор (Тийм ээ, та үүнийг зөв уншсан !!)
8. Тохиромжтой цахилгаан хангамж (0-12V) (би өөрийн ATX цахилгаан хангамжийг ашигласан)
9. Дулаан шингээгч (би хуучин компьютерээсээ аврагдсан).
10. Өсгөгч (ердийн хөгжмийн өсгөгч) эсвэл өсгөгчийн хэлхээ.
Алхам 2: ХБХ -аас ADC -ийн онол
Тиймээс энэ төсөлд би Arduino -ийн бүтээсэн ADC -ийг ашиглан аудио дохионы өгөгдлийг түүвэрлэх ажлыг хийсэн.
ADC (Аналог-Тоон Дижитал Хөрвүүлэгч) нэрээр нь ADC нь аналог дохиог дижитал дээж болгон хөрвүүлдэг. Хамгийн ихдээ 10 битийн гүнтэй Arduino-ийн хувьд. Гэхдээ энэ төслийн хувьд бид 8 битийн түүвэрлэлтийг ашиглах болно.
Arduino -ийн ADC -ийг ашиглахдаа бид ADC_reference хүчдэлийг санаж байх ёстой.
Arduino Uno нь 1.1V, 5V (Дотоод лавлагаа, кодыг тодорхойлох боломжтой) эсвэл гадаад лавлагаа (AREF зүү дээр гаднаас хэрэглэх ёстой) санал болгодог.
Миний туршлагаас харахад ADC -ээс сайн үр дүнд хүрэхийн тулд хамгийн багадаа 2.0V хүчдэлийг жишиг хүчдэл болгон ашиглах ёстой. 1.1V нь ядаж надад сайн байгаагүй. (Хувийн туршлага)
*ЧУХАЛ**ЧУХАЛ ** ЧУХАЛ ** ЧУХАЛ ** ЧУХАЛ*
Бид 5V -ийн оргил хүчдэлтэй (Макс. Хүчдэл) өсгөгч эсвэл өсгөгчийн хэлхээнээс олшруулсан аудио дохиог ашиглах хэрэгтэй
Учир нь би 5V -ийн дотоод хүчдэлийн лавлагааг манай төслийн хувьд тохируулсан. Би ихэвчлэн манай гэрт байдаг ердийн өсгөгч (хөгжмийн өсгөгч) ашиглан олшруулсан дохиог ашиглаж байна, эсвэл та өөрөө өөртөө зориулж бүтээж болно.
Тиймээс одоо гол хэсэг. Манай ADC секундэд хичнээн их дээж авдаг түүврийн хэмжээ, хөрвүүлэлтийн хурд их байх тусам гаралтын үр дүн сайн байх болно, оролттой харьцуулахад гаралтын долгион ижил байх болно.
Тиймээс, бид ADC цагийг 500 кГц болгож, 33.33 кГц -ийн түүвэрлэлтийн хурдыг ашиглах болно. Энэ нь хэрхэн болохыг ойлгохын тулд бид ADM -ийн цагийн хуудсыг Atmega (328p) чипийн мэдээллийн хуудсан дээрээс харах ёстой.
Нэг дээжийг автоматаар түүвэрлэхийн тулд бидэнд 13.5 ADC цагийн цикл хэрэгтэй байгааг бид харж байна. 500Khz давтамжтай бол нэг ADC мөчлөгийн хувьд 1/500Khz = 2uS гэсэн үг бөгөөд энэ нь авто дээж авахад дээжийг бөглөхөд 13.5*2uS = 27uS шаардлагатай гэсэн үг юм. Микроконтроллерт 3uS илүү өгснөөр (аюулгүй талаас нь), нэг дээжинд нийт 30uS хийжээ.
Тиймээс 30uS дээр 1 дээж гэдэг нь 1/30uS = 33.33 KSamples/S гэсэн утгатай.
Arduino -ийн TIMER0 -ээс хамаардаг түүвэрлэлтийн хурдыг тохируулахын тулд ADC автоматаар түүвэрлэлтийн идэвхжүүлэгч нь бидний хувьд үүнээс хамаардаг тул үүнийг код, мэдээллийн хүснэгтээс харж болно, бид OCR0A = 60 утгыг хийсэн. ???)
Учир нь мэдээллийн хүснэгтэд өгсөн томъёоны дагуу.
давтамж (эсвэл энд дээжийн ханш) = Arduino/Prescaler -ийн цагийн давтамж*OCR0A -ийн утга (манай тохиолдолд)
Бидний хүсч буй давтамж эсвэл дээжийн хурд = 33.33KHz
Цагийн давтамж = 16 МГц
Prescaler утга = 8 (манай тохиолдолд)
OCR0A -ийн утга = бид олохыг хүсч байна уу?
Энэ нь OCR0A = 60 -ийг өгдөг бөгөөд энэ нь манай Arduino код дээр байдаг.
TIMER1 нь аудио дохионы дамжуулагч долгионд ашиглагддаг бөгөөд би энэ талаар дэлгэрэнгүй мэдээлэл өгөхгүй.
Тиймээс энэ бол Arduino -той ХДХВ -ийн ADC гэсэн ойлголтын богино онол байв.
Алхам 3: Схем
Схемд үзүүлсэн шиг бүх бүрэлдэхүүн хэсгүүдийг холбоно уу. Тиймээс танд хоёр сонголт байна:-
1. Чанга яригчийг холбоно уу (5V -тэй холбогдсон)
2. Flyback трансформаторыг холбоно уу (12V -тэй холбогдсон)
Би хоёуланг нь туршиж үзсэн. Тэгээд хоёулаа сайн ажилладаг.
*ЧУХАЛ**ЧУХАЛ ** ЧУХАЛ ** ЧУХАЛ ** ЧУХАЛ*Бид 5V -ийн оргил хүчдэлтэй (Макс. Хүчдэл) өсгөгч эсвэл өсгөгчийн хэлхээнээс олшруулсан аудио дохиог ашиглах хэрэгтэй
Татгалзах мэдээлэл:-
*Би Flyback трансформаторыг ашиглахыг зөвлөж байна, учир нь энэ нь өндөр хүчдэл үүсгэдэг тул аюултай байж болзошгүй юм. Тэгээд би ямар ч хохирол хүлээхгүй.*
Алхам 4: Эцсийн шалгалт
Тиймээс өгөгдсөн кодыг Arduino руугаа оруулаад өсгөгдсөн дохиог A0 зүү рүү холбоно уу.
Мөн бүх газардуулгыг нийтлэг газартай холбохоо бүү мартаарай.
Тэгээд зүгээр л хөгжим сонсоход таатай байх болно.
Зөвлөмж болгож буй:
Сэтгэлийн чанга яригч- Орчны температураас хамааран сэтгэл санааны хөгжим тоглуулах хүчтэй чанга яригч: 9 алхам
Сэтгэлийн чанга яригч- Орчны температураас хамаарч сэтгэл санааны хөгжим тоглуулах хүчирхэг чанга яригч: Сайн байна уу! MCT Howest Kortrijk-ийн сургуулийн төслийн хувьд би Mood чанга яригч хийсэн бөгөөд энэ нь өөр өөр мэдрэгч, LCD, WS2812b бүхий ухаалаг Bluetooth чанга яригч юм Чанга яригч нь температурт тулгуурлан арын хөгжим тоглодог боловч
Ноён чанга яригч - 3D хэвлэсэн DSP зөөврийн чанга яригч: 9 алхам (зурагтай)
Ноён Илтгэгч - 3D хэвлэмэл DSP зөөврийн чанга яригч: Намайг Саймон Эштон гэдэг бөгөөд би олон жилийн турш ихэвчлэн модоор хийсэн олон чанга яригч бүтээсэн. Би өнгөрсөн жил 3D принтер авсан тул 3D хэвлэх боломжийг олгодог дизайны өвөрмөц эрх чөлөөг харуулсан зүйлийг бүтээхийг хүссэн юм. Би түүнтэй тоглож эхэлсэн
ESP32 -тай ХОУХШ - Arduino IDE бүхий ESP 32 дээр ХОУХШ -тай LED гэрэлтүүлэх: 6 алхам
ESP32 -тай ХОУХШ | Arduino IDE бүхий ESP 32 дээр ХОУХШ -тай LED гэрэлтүүлэх: Энэхүү зааварчилгаанд бид Arduino IDE ашиглан ESP32 ашиглан ХОУХШ -ийн дохиог хэрхэн үүсгэхийг харах болно. PWM нь үндсэндээ ямар ч MCU -аас аналог гаралт үүсгэхэд ашиглагддаг бөгөөд аналог гаралт нь 0V -аас 3.3V -ийн хооронд байж болно (esp32 тохиолдолд) & -аас
Ярьж буй Ардуино - Ямар ч модульгүй Arduino ашиглан MP3 тоглуулах - PCM ашиглан Arduino -аас Mp3 файл тоглуулах: 6 алхам
Ярьж буй Ардуино | Ямар ч модульгүй Arduino ашиглан MP3 тоглуулах | PCM ашиглан Arduino -аас Mp3 файл тоглуулах: Энэхүү зааварчилгаанд бид ямар ч аудио модуль ашиглахгүйгээр mp3 файлыг arduino ашиглан хэрхэн тоглуулах талаар сурах болно, энд бид 8 кГц давтамжтай 16 битийн PCM тоглодог Arduino -д зориулсан PCM номын санг ашиглах болно
Дуу (MP3) Arduino -тай PWM ашиглан чанга яригч эсвэл Flyback трансформатор дээр тоглуулах: 6 алхам (зурагтай)
Arduino -ийн тусламжтайгаар PWM ашиглан чанга яригч эсвэл Flyback трансформатор тоглоорой: Сайн байна уу залуусаа, энэ бол миний анхны заавар бөгөөд танд таалагдсан гэж найдаж байна !! Үндсэндээ энэ төсөлд би Arduino болон зөөврийн компьютерынхаа хооронд цуваа холболтыг ашигласан. Хөгжмийн өгөгдлийг зөөврийн компьютерээс Arduino руу дамжуулах. Мөн Arduino TIMERS -ийг ашиглана уу