Агуулгын хүснэгт:

Ардуино ярьдаг Том болжээ: 6 алхам
Ардуино ярьдаг Том болжээ: 6 алхам

Видео: Ардуино ярьдаг Том болжээ: 6 алхам

Видео: Ардуино ярьдаг Том болжээ: 6 алхам
Видео: Дневник самопрограммирования КАК СДЕЛАТЬ МЕЧТЫ РЕАЛЬНОСТЬЮ 2024, Долдугаар сарын
Anonim
Ардуино Том Том болж хувирав
Ардуино Том Том болж хувирав
Ардуино Том Том болж хувирав
Ардуино Том Том болж хувирав

Ухаалаг гар утас ашиглаж байсан миний хамгийн эртний дурсамжуудын нэг бол 'Talking Tom' тоглоом тоглох явдал байв. Тоглоом маш энгийн байсан. Том нэртэй муур байдаг, тэр ярьж чаддаг. Тоглоомын үеэр Том утасны микрофоноор дамжуулан аливаа оролтыг сонсож, дараа нь сонссон зүйлээ давтах болно. Тиймээс, Томд юу гэж хэлэх нь хамаагүй, энэ нь яг л өөрийн гэсэн чанга хоолойгоор давтагдах болно.

Энгийн сонсогдож байгаа боловч энэ процедур нь микро аналог оролтыг тоон хэлбэрээр авах, Томд өвөрмөц дуу хоолойг өгөхийн тулд аудиог удирдах, дараа нь чанга яригчаар дамжуулан тоглуулахын тулд эдгээр бүх тоон утгуудаас дохиог сэргээн засварлах гэх мэт олон нарийн төвөгтэй алхмуудыг шаарддаг.. Эдгээр бүх нарийн төвөгтэй алхамууд, гэхдээ ухаалаг гар утас нь үүнийг 9-10 жилийн өмнө сэтгэл татам байдлаар зохицуулж чадсан юм!

Сонирхолтой зүйл бол Arduino дээр суурилсан хямд микроконтроллерийн хавтанг ашиглан үүнийг хийх боломжтой эсэхийг харах явдал юм. Тиймээс, би энэ зааварчилгаанд Arduino болон бусад хямд электрон төхөөрөмжүүдээс энгийн Talking Tom шиг төслийг хэрхэн яаж хийхийг харуулах болно.

Энэхүү сургамжийг Дели хотын Hatchnhack Makerspace -тэй хамтран бичсэн болно

ТАЙЛБАР: Энэхүү зааварчилгаа нь Talking Tom -ийн 'Talking' функцийг дуусгасан төслийн анхны хувилбар бөгөөд arduino нь таны хэлсэн бүх зүйлийг давтах боломжтой болно. Дуу хоолойг өөрчлөх хэсгийг ирээдүйн хувилбарт оруулах болно, гэхдээ Arduino -ийн суурилуулсан ADC -ийн нарийвчлал багатай тул бичигдсэн аудио нь арай өөр сонсогдож байна: P (Үүнийг төслийн видеоноос тодорхой харж болно).

Тиймээс эхэлцгээе!

Алхам 1: Ашигласан материал

Ашигласан материал
Ашигласан материал
Ашигласан материал
Ашигласан материал
Ашигласан материал
Ашигласан материал

Техник хангамж:

  • Arduino UNO
  • MAX4466 микрофон модуль нь тохируулгатай ашиг олдог
  • SPI дээр суурилсан SD карт уншигч модуль
  • SD карт
  • Компьютерийн чанга яригч, PAM8403 өсгөгчийн модуль гэх мэт аудио өсгөгч.
  • Өсгөгчтэй холбогдох чанга яригч
  • Эмэгтэй Аудио Жак
  • 1 x 1 к ом эсэргүүцэл
  • 2 x 10 к ом эсэргүүцэл
  • 1 x 10uF конденсатор
  • 2 x товчлуур
  • Холбогч утас

Програм хангамж:

  • Arduino IDE
  • Зоригтой байдал (заавал биш)
  • Arduino -д зориулсан TMRpcm ба SD номын сан

Алхам 2: Төслийн үндсэн тойм

Төсөл нь үндсэндээ 2 онцлогтой:

  • Энэ нь дууны эффект гэх мэт SD картанд урьдчилан суулгасан аудио файлуудаас санамсаргүй байдлаар сонгосон аудиог тоглуулах боломжтой.
  • Энэ нь микрофоны дууны оролтыг бичиж, дараа нь бичлэг зогссон даруй тоглуулах боломжтой. Энэ нь arduino -д микрофоноор сонссон бүх зүйлээ давтах боломжийг олгодог.

Төслийн хэрэглэгчийн интерфэйс нь үндсэндээ 2 товчлуураас бүрдэх бөгөөд тус бүр нь дээрх функцүүдийн аль нэгэнд нийцдэг.

SD картнаас аудио файлыг бичих, тоглуулах үндсэн ажлыг TMRpcm номын сан хариуцдаг

Аудио бичлэг нь MAX4466 микро модуль, arduino -ийн дотоод ADC болон TMRpcm номын санг ашиглан аудиогоос дээж авч, дараа нь SD картанд '.wav' файл хэлбэрээр тоглуулж хадгална. '.wav' аудио файлууд нь аудио өгөгдлийг дижитал форматаар хадгалахын тулд PCM (Pulse Code Modulation) ашиглан дахин тоглуулахад хялбар болгодог. Ерөнхийдөө Arduino -ийн ADC -ийн нарийвчлал тийм ч өндөр биш боловч энэ төсөлд ажилладаг тул аудио дээр суурилсан төслүүдэд гадны ADC ашиглах нь дээр.

Аудио файлуудыг тоглуулах (урьдчилан суулгаж, бүртгэх) нь TMRpcm номын сангийн тусламжтайгаар хийгддэг бөгөөд энэ нь arduino-ийн PWM идэвхжүүлсэн зүүгээс PWM дохиогоор аудио гаргадаг. Энэ дохиог аналог дохиог авахын тулд RC шүүлтүүрт өгч дараа нь чанга яригчаар аудио тоглуулахын тулд өсгөгч рүү өгдөг. Энэ хэсэгт arduino дотооддоо байхгүй тул та гадаад DAC ашиглаж болно. DAC ашиглах нь аудионы чанарыг эрс сайжруулах тул илүү сайн сонголт байж магадгүй юм.

SD картны модуль ба arduino хоорондох холболтыг SPI (Цуваа захын интерфейс) -ээр дамжуулан хийдэг. Код нь SD картны агуулгад хялбархан нэвтрэхийн тулд SD & SPI номын санг ашигладаг.

Алхам 3: SD карт бэлтгэж, SD картны модулийг холбоно уу

SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
SD карт бэлтгэж, SD картны модулийг холбоно уу
  • Эхлээд та FAT16 эсвэл FAT32 файлын системтэй SD картыг форматлах хэрэгтэй (Та ухаалаг гар утсаа ашиглан SD картаа форматлах боломжтой).
  • Одоо.wav аудио файлуудыг SD картанд урьдчилан суулгаарай. Та Audacity ашиглан.wav файлуудыг үүсгэж болно (доорх зааврыг үзнэ үү). Файлуудыг audio_1.wav, audio_2.wav, audio_3.wav гэх мэтээр нэрлэхээ бүү мартаарай.

SD картны модуль нь arduino -той өгөгдөл дамжуулахын тулд SPI -ийг ашигладаг. Тиймээс энэ нь зөвхөн SPI идэвхжүүлсэн зүүтэй холбогддог. Эдгээр холболтууд дараах байдалтай байна.

  • Vcc - 5V
  • GND - GND
  • MOSI (Master Out Slave In) - зүү 11
  • MISO (Master In Slave Out) - зүү 12
  • CLK (Цаг) - зүү 13
  • SS/CS (Slave Select/Chip Select) - зүү 10

Audacity програм хангамжийн тусламжтайгаар '.wav' файлыг үүсгэж байна:

  • Audacity дээр.wav болгон хөрвүүлэхийг хүссэн аудио файлыг нээнэ үү.
  • Файлын нэр дээр дараад 'Стереог моно болгон хуваах' -г сонгоно уу. Энэ сонголт нь стерео аудиог хоёр моно сувагт хуваадаг. Та одоо сувгийн аль нэгийг хааж болно.
  • Доод талд байгаа 'Project Rate' утгыг 16000 Гц болгож өөрчилнө үү. Энэ утга нь arduino -ийн дотоод ADC -ийн хамгийн их дээж авах давтамжтай тохирч байна.
  • Одоо File-> WAV хэлбэрээр экспортлох/экспортлох хэрэгтэй.
  • Файлын зохих байршил, нэрийг сонгоно уу. Аудиог дижитал форматаар хадгалахын тулд PCM форматыг ашиглаж байгаа тул кодчиллын цэснээс 'Гарын үсэг зураагүй 8 битийн PCM' -ийг сонгоно уу.

Алхам 4: Аудио гаралт ба микрофоныг холбоно уу

Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу
Аудио гаралт ба микрофоныг холбоно уу

Микрофоныг холбох нь:

  • Vcc - 3.3V
  • GND - GND
  • OUT - A0 зүү

ТАЙЛБАР:

  • Микрофоныг талхны самбар ашиглахын оронд шууд arduino руу холбохыг хичээгээрэй, учир нь энэ нь оролтын дохионд шаардлагагүй дуу чимээ үүсгэж болзошгүй юм.
  • Муу гагнуурын үе нь дуу чимээ гаргадаг тул микрофон модулийн толгойн хэсгийг гагнахаа мартуузай.
  • Энэхүү микрофон модуль нь самбарын ар талд байгаа тогоонд тулгуурлан тохируулж болох ашиг орлоготой. Ашиг орлогоо бага байлгахыг танд санал болгож байна, учир нь энэ нь дуу чимээг тийм ч ихээр нэмэгдүүлэхгүй, харин амандаа ойр байлгаж, илүү цэвэр гаралт өгөх болно.

Аудио гаралтыг холбох:

  • 10 uF конденсатор ба 1 к ом эсэргүүцлийг резистортой холбосон конденсаторын эерэг талхтай талх дээр тавь. Эдгээр нь хамтдаа ХБХ -ны гаралтыг өсгөгч рүү оруулах аналог дохио болгон хувиргадаг RC шүүлтүүрийг бүрдүүлдэг.
  • Arduino -ийн 9 -р зүүг резисторын нөгөө үзүүрт холбоно уу.
  • Конденсаторын сөрөг терминал нь эмэгтэй аудио үүрний зүүн ба баруун суваг руу холбогддог.
  • Аудио үүрний GND нь GND -тэй холбогддог.
  • Аудио залгуур нь өсгөгчтэй Aux кабелиар холбогдсон байдаг. Миний хувьд би компьютерынхаа чанга яригч системийг ашигласан.

ТАЙЛБАР:

ХБХ -ийг аудио гаралт болгон ашиглах нь хамгийн сайн сонголт биш байж магадгүй тул гадаад DAC нь илүү нарийвчлалтай, чанартай байх болно. Нэмж дурдахад RC шүүлтүүр дэх конденсатор ба резистор нь хүсээгүй дуу чимээг өдөөж болно. Гэсэн хэдий ч энэ төслийн үр дүн маш сайн байсан

Алхам 5: Товчлууруудыг холбоно уу

Товчлууруудыг утсаар холбоно уу
Товчлууруудыг утсаар холбоно уу
Товчлууруудыг утсаар холбоно уу
Товчлууруудыг утсаар холбоно уу
Товчлууруудыг утсаар холбоно уу
Товчлууруудыг утсаар холбоно уу

Төсөл нь хэрэглэгчийн интерфэйс болгон товчлууруудыг дарахад ашигладаг. Хоёулаа өөр өөр үүрэг гүйцэтгэдэг бөгөөд өөр өөрөөр ашигладаг боловч ижил утастай байдаг. Тэдний холбоо дараах байдалтай байна.

  • Товчлууруудыг талхны тавцан дээр тавь.
  • Товчлуурын нэг терминалыг 10 к ом эсэргүүцэх эсэргүүцэлтэй ардуиногийн 2 -р зүүгээр холбоно уу. Товчлуурын нөгөө терминал нь 5v -тэй холбогддог. Тиймээс, товчлуурыг дарахад 2 -р зүү нь өндөр болж, бид үүнийг кодоос илрүүлж чадна.
  • Нөгөө товчлуур нь 2 -ийн оронд arduino -ийн 3 -р зүүтэй ижилхэн холбогддог.

2-р зүүтэй холбогдсон товчлуур нь нэг удаа дарахад SD карт дээрх урьдчилан суулгасан аудио файлуудын санамсаргүй аудио файлыг тоглуулдаг.

3 -р зүүтэй холбогдсон товчлуур нь бичлэг хийх зориулалттай. Бичлэг хийхийн тулд та энэ товчлуурыг удаан дарах хэрэгтэй. Arduino энэ товчлуурыг дарангуут бичлэг хийж эхэлдэг бөгөөд энэ товчлуурыг дарахад бичлэгийг зогсооно. Бичлэгийг зогсоосны дараа тэр бичлэгийг шууд дахин тоглуулдаг.

Алхам 6: Кодыг байршуулах

Кодыг байршуулах
Кодыг байршуулах
Кодыг байршуулах
Кодыг байршуулах
Кодыг байршуулах
Кодыг байршуулах

Кодыг байршуулахаас өмнө TMRpcm, SD гэх мэт шаардлагатай бүх номын санг суулгасан эсэхээ шалгаарай.

Та мөн кодыг байршуулсны дараа Цуваа мониторыг нээж, arduino юу хийж байгаа талаар санал авах боломжтой.

Одоогийн байдлаар код нь өөр өөр сонсогдохын тулд бичигдсэн аудиог өөрчилдөггүй, гэхдээ та энэ функцийг дараагийн хувилбарт оруулахаар төлөвлөж байгаа бөгөөд та тогны тусламжтайгаар аудио дохионы гаралтын давтамжийг тохируулж, өөр өөр төрлийн дуу авиа авах боломжтой болно..

Тэгээд чи дууссан !!

Зөвлөмж болгож буй: