فهرست مطالب:

کلاه ایمنی Spartan Voice Changer: 14 مرحله (همراه با تصاویر)
کلاه ایمنی Spartan Voice Changer: 14 مرحله (همراه با تصاویر)

تصویری: کلاه ایمنی Spartan Voice Changer: 14 مرحله (همراه با تصاویر)

تصویری: کلاه ایمنی Spartan Voice Changer: 14 مرحله (همراه با تصاویر)
تصویری: АСМР 🏆🔥[Гарри Поттер и Кубок огня] [Глава 20-29] Чтение шепотом 📚 ASMR whisper [Harry Potter] 2024, دسامبر
Anonim
کلاه ایمنی Spartan Voice Changer
کلاه ایمنی Spartan Voice Changer
کلاه ایمنی Spartan Voice Changer
کلاه ایمنی Spartan Voice Changer

سلام! ما یک تیم 4 نفره از مدرسه پلی تکنیک دانشگاه سوربن هستیم:

  • لوئیس بوکرت
  • بلال ملحی
  • بائو تین پیوت
  • مارکو لونگپه

این پروژه به عنوان بخشی از مطالعات ما انجام شده است و هدف آن استفاده از تعدادی ابزار و همچنین نشان دادن دستاوردهای نظری ما است.

این شیء معروف ظاهری شبیه به کلاه ایمنی قهرمان یک بازی ویدیویی خاص دارد که نامش از بین می رود. از نظر طراحی نیز صفحه ای داریم که تغییر فوریه سیگنال صوتی خروجی از بلندگو را نشان می دهد. هدف این هدست تغییر صدای حامل در زمان واقعی با استفاده از تعدادی جلوه قابل انتخاب است.

اهداف آموزشی:

  • صدا را از میکروفون ضبط کنید
  • سیگنال را تقویت ، فیلتر ، دیجیتالی کنید
  • FFT یک سیگنال را درک کنید
  • این FFT را روی صفحه نمایش دهید
  • سنتز سیگنال
  • صدایی را از بلندگو بیرون بیاورید
  • درک اثرات روی صدا (طنین ، اکو ، و غیره …)

اکنون که پیش زمینه را قرار داده ایم و پروژه را ارائه کرده ایم ، وقت آن است که دست به دست شوید!

مرحله 1: الزامات 1/3 - سخت افزار

مورد نیاز 1/3 - سخت افزار
مورد نیاز 1/3 - سخت افزار

برای ساختن موفقیت آمیز کلاه ایمنی شما ، به سخت افزاری برای اجرای دستگاه نیاز داریم.

  • صفحه توسعه DE0-Nano-SoC توسط Terasic + Adafruit TFT LCD (Arduino)
  • دسترسی به چاپگر سه بعدی برای ساختن کلاه ایمنی (اگر دانشجوی دانشگاه هستید و به دانشگاه خود نزدیک می شوید ، برخی از آنها آزمایشگاه هایی برای دانشجویان در دسترس دارند)
  • رایانه ای با اتصال به اینترنت و حداقل اتصال (USB ، اترنت). کامپیوتر شما نیز باید پردازنده قوی داشته باشد زیرا تدوین برنامه ها در Qsys زمان زیادی می برد.
  • (الزامی نیست) چاپگری که تخته مدار چاپی (PCB) را از فایل های Gerber به منظور کوچک کردن اندازه مدار + اتوی لحیم کاری برای قرار دادن اجزای روی PCB تهیه می کند.
  • (به شدت توصیه می شود): یک قهوه خوب برای لذت بردن از کار خود با دستورالعمل ما:)

مرحله 2: الزامات 2/3 - اجزای مدار شما

الزامات 2/3 - اجزای مدار شما
الزامات 2/3 - اجزای مدار شما
الزامات 2/3 - اجزای مدار شما
الزامات 2/3 - اجزای مدار شما
الزامات 2/3 - اجزای مدار شما
الزامات 2/3 - اجزای مدار شما

در اینجا اجزای مورد نیاز برای مدار شما آمده است:

  • تقویت کننده صوتی کلاس Texas Instrument LM386 AB
  • تخته نان
  • مجموعه ای از کابل های مردانه ، مردانه و زنانه
  • مبدل دیجیتال به آنالوه LM358P (DAC)
  • گوینده
  • میکروفون کوچک مورد استفاده در مدارهای آنالوگ
  • مجموعه ای از مقاومت از 1 کیلو اهم تا 220 کیلو اهم
  • خازن 1.5nF
  • خازن 50nF
  • خازن 100nF
  • خازن 100uF
  • خازن 220uF
  • x4 خازن 10uF

مرحله 3: الزامات 3/3 - نرم افزار

شرایط مورد نیاز 3/3 - نرم افزار
شرایط مورد نیاز 3/3 - نرم افزار
شرایط مورد نیاز 3/3 - نرم افزار
شرایط مورد نیاز 3/3 - نرم افزار

آخرین و مهمترین ، شما به نرم افزار نیاز دارید:

  • Quartus 15.1: نسخه Lite
  • کامپایلر C (برای مثال gcc)
  • آلتیم برای طراحی PCB
  • SoC مجموعه تعبیه شده Altera برای ارتباط با نقشه SoC
  • بتونه

مرحله 4: مدار ورودی

مدار ورودی
مدار ورودی
مدار ورودی
مدار ورودی
مدار ورودی
مدار ورودی
مدار ورودی
مدار ورودی

بیایید مدار را بسازیم. از تصویر فوق از مدار برای جمع آوری آن بر روی تخته نان خود استفاده کنید. همچنین تصویر BreadBoard و مدار داخل آن را مشاهده خواهید کرد تا نحوه اتصال پین ها را مشاهده کنید. کل مدار با جریان مستقیم 5 ولت (DC) تغذیه می شود. برای این کار می توانید از باتری 5 ولت با مبدل USB-B یا ژنراتور عملکرد استفاده کنید.

چند یادآوری:

  • منبع تغذیه 5 ولت و زمین روی خطوط افقی جداگانه تخته نان متصل می شوند
  • اگر می خواهید 2 جزء را به طور موازی به هم وصل کنید ، آنها را در یک خط مشترک از تخته نان قرار دهید
  • اگر می خواهید 2 جزء سریال را به هم وصل کنید ، اجزاء باید فقط یک پین در یک خط مشترک تخته نان قرار دهند.

از تماشای آموزش اختصاصی نحوه استفاده از تخته نان دریایی و تقویت مدار روی آن دریغ نکنید. همچنین فراموش نکنید که موقعیت پین تقویت کننده صوتی LM358P را با دقت بخوانید (تصویر بالا را ببینید)

مرحله 5: مدار خروجی

مدار خروجی
مدار خروجی
مدار خروجی
مدار خروجی
مدار خروجی
مدار خروجی
مدار خروجی
مدار خروجی

دستورالعمل های مشابه مرحله 4. چهار ورودی: SDI ، نه CS ، SCK ، و نه LDAC از DE0-Nano-Soc Board شما هستند. بعداً خواهیم دید که چگونه آنها را تولید کنیم.

فراموش نکنید که موقعیت پین تقویت کننده صدا LM386 را با دقت بخوانید (تصویر بالا را ببینید)

مرحله 6: [اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری

[اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
[اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
[اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
[اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
[اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
[اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری

اگر خوش شانس هستید که دارای چاپگر مدار مدار هستید یا می توانید از آن استفاده کنید ، ما قصد داریم برد مدار چاپی (PCB) خود را ایجاد کنیم. توجه داشته باشید که این مرحله اختیاری است. این مرحله فقط شامل انتقال مدار شما از تخته نان به PCB است.

شما به این 2 فایل GERBER احتیاج دارید.

این فایل ها در Altium ساخته شده اند. از آنها برای چاپ PCB خود در نرم افزار چاپگر PCB خود استفاده کنید. پس از تهیه PCB خود ، مطمئن شوید که PCB شما تمیز است و قطعات به درستی چاپ شده اند.

اکنون معامله واقعی می آید: لحیم کاری. 2 تصویر بالا نقشه مدار روی PCB است. هر جزء دارای نام (R6 ، C4 ، MK1 و غیره) است. تصاویر مرحله 4 و 5 پارامترهای اجزا (مقاومت ، رسانایی..) را نشان می دهد. هر جزء را از بردبرد خود تا PCB را مطابق نام آنها قرار دهید.

هنگامی که همه چیز را با لحیم کاری خود لحیم کردید ، هر قطعه را با ولت متر آزمایش کنید تا بررسی کنید که آیا اتصال کوتاه وجود دارد یا خیر.

مرحله 7: راه اندازی SoC

راه اندازی SoC
راه اندازی SoC
راه اندازی SoC
راه اندازی SoC

در مورد راه اندازی SoC ، باید برخی از دستورات و اسکریپت های موجود در مجموعه تعبیه شده SoC را در یک ترمینال اجرا کنید. برای انجام این کار ، باید مقداری $ PATH اضافه کنید. PATH در ترمینال برای جستجوی یک فایل در فهرستهای داده شده توسط مسیر هنگام اجرای دستور استفاده می شود. برای انجام این کار ، خط فرمان زیر را تایپ کنید:

صادرات PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH

سپس خط فرمان را تایپ کنید تا هدرهایی از یک فایل sof ایجاد شود. شما با گردآوری پروژه خود در Quartus فایل sof را به دست می آورید. برای این کار عبارت:./generate_header را تایپ کنید.

مرحله 8: برنامه نویسی C HPS

برنامه نویسی C HPS
برنامه نویسی C HPS

ما باید 2 نکته را در این قسمت متوجه شویم ، یعنی ارزش ADC را بخوانید و آن را در SPI بنویسید.

1. مقدار ADC را بخوانید

آدرس حافظه ای که ADC در آن قرار دارد مستقیماً قابل دسترسی نیست ، در واقع سیستم لینوکس موجود در کارت چکیده ای از حافظه را تنظیم می کند. برای دسترسی واقعی به آدرس ADC از تابع mmap استفاده می کنیم.

"h2p_lw_spi_addr = virtual_base + ((بدون امضا طولانی) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (طولانی بدون امضا) (HW_REGS_MASK))؛"

این دستورالعمل اجازه می دهد تا یک افست در ابتدای آدرس اصلی اضافه شود تا به آدرس حافظه اختصاص داده شده برای ADC برسد و در آدرس حاصله منطقی انجام شود و پوشش را در نظر بگیرد.

پس از آن ، فقط لازم است اشاره گر در برنامه را برای بدست آوردن مقدار آن از حالت اولیه خارج کنید.

2. مقدار ADC را در SPI بنویسید

دستکاری مشابه است ، این بار ما به mmap افست می دهیم تا بر روی آدرس اختصاص داده شده توسط SPI قرار گیرد. هنگام نوشتن در SPI ، مستندات فنی مشخص می کند که باید مقدار adc را در آدرس + 1 بنویسید.

"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr)؛"

این دستورالعمل به شما امکان می دهد به SPI بنویسید. در واقع بیت 4 ، بنابراین 1 << 12 ، بیتی است که اجازه فعال سازی SPI را می دهد. بنابراین با OR منطقی ، هم بیت فعال سازی و هم مقدار ADC را به SPI می دهیم.

مرحله 9: خرید دیجیتال ADC از کارت

خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت
خرید دیجیتال ADC از کارت

اول از همه ، شما باید آدرس IP اترنت رایانه خود را از طریق Control Panel -> Network -> Card Parmesals تنظیم کنید. رابط اترنت کارت ، ویژگی ، آدرس ipv4 را انتخاب کرده و IP ثابت ، ماسک و غیره را وارد کنید …

در مرحله بعد ، کارت را از طرف پریز برق با کابل میکرو USB وصل کنید. برنامه نویس Quartus را باز کرده و صادرات را اجرا کنید. این دستکاری بعد از هربار خاموش شدن کارت دوباره انجام می شود.

برای اتصال این بار در کنار جک اترنت ، کابل دوشاخه micro USB را تغییر دهید. در حال حاضر ، با Putty لازم است که به کارت با پیوند سریال متصل شوید. پیکربندی در عکس ها قابل مشاهده است ، ایده این است که COM5 را با COM جایگزین کنید و به دنبال آن شماره ای را که می توانید در مدیر دستگاه خود پیدا کنید (برای بازکردن آن روی آرم ویندوز کلیک راست کنید).

Enter را فشار دهید ، متصل هستید.

اطلاعات برای راه اندازی مجدد پروژه: - ip اترنت مربوط به کارت را برطرف کنید - کارت را روشن کنید ، هر بار که برق را روشن می کنید ، لازم است پروژه کامپایل شده در کارت را با "برنامه" زیر چهارم قرار دهید. این کار از طریق پورت micro -USB انجام می شود - برای نمایش نتیجه برنامه ، ما بیشتر از USB USB اما UART استفاده می کنیم - با بتونه پیکربندی شده برای سریال COM5 (یا 6 ساعت تماشای حاملگی) به کارت وصل شوید. - تنظیم رمز عبور (passwd) - تنظیم آدرس IP ifconfig ethxx IPchoice (IP نه چندان دور از آدرس رایانه شخصی) - ایجاد سرصفحه مطابق Qsys با ترمینال تعبیه شده (مسیر صادرات) - ساخت - scp l exec در نقشه - اجرای زیر بتونه prog

مرحله 10: محاسبه FFT

محاسبه FFT
محاسبه FFT

به منظور ایجاد تغییر سریع فوریه در برنامه C ما ، از کتابخانه ای که توسط Mark Borgerding نوشته شده است ، استفاده می کنیم: Kiss FFT. کتابخانه را می توانید از اینجا بارگیری کنید: https://kissfft.sourceforge.net/. اعمال FFT روی سیگنال به منظور اصلاح و اعمال جلوه های سیگنال ضروری است. همچنین می تواند طیف سیگنال را نمایش دهد.

اولین قدم در برنامه C شما شامل اختصاص حافظه به منظور ذخیره نتیجه FFT است. اندازه حافظه بستگی به تعداد نقاط مورد استفاده برای محاسبه FFT دارد. هرچه امتیاز بیشتری داشته باشید ، FFT دقیق تر خواهد بود. با این حال ، برنامه کندتر اجرا می شود و از حافظه بیشتری استفاده می کند. توجه داشته باشید که از تابع kiss_fft دو آرایه دریافت خواهید کرد: ورودی و خروجی تابع (cx_in و cx_out)

هنگامی که آرایه ما با مقادیر FFT جدید پر می شود ، یعنی وقتی r = Win - 1 ، ما FFT را پردازش می کنیم. در مورد صفحه نمایش ، ما فقط قسمت مثبت طیف را نمایش می دهیم ، زیرا بین قسمت منفی و قسمت مثبت تقارن وجود دارد.

در مورد محور افقی ، ما مقادیر پیک را 100*ارتفاع/(ارتفاع) کاهش می دهیم تا قله فرکانس های اصلی را تشخیص دهیم.

ما از فراخوان سیستم usleep برای تعیین فرکانس خواندن برای مقادیر ADC استفاده می کنیم. این فرکانس در حال حاضر 1 ، 5 هرتز تنظیم شده است.

مرحله 11: نمایش FFT

نمایش FFT
نمایش FFT
نمایش FFT
نمایش FFT

بر اساس مثال ارائه شده در صفحه Adafruit TFT LCD موجود در اینجا: https://www.terasic.com/downloads/cd-rom/de0-nano-s… ما NIOS هیئت مدیره خود را برنامه ریزی کرده ایم تا بتواند بخواند مقدار ADC

بنابراین ثبت ADC بین NIOS و HPS به اشتراک گذاشته می شود زیرا از مقادیر ADC برای نمایش FFT در صفحه NIOS استفاده می شود و همین مقادیر در SPI نوشته می شوند تا از برد خارج شوند و در نهایت تبدیل شوند. توسط DAC برای دریافت سیگنال آنالوگ

مرحله 12: مونتاژ

مونتاژ
مونتاژ

کار ما تقریبا تمام شده است! شما باید هر قسمت از پروجت (مدار ورودی ، مدار خروجی و برد) را مونتاژ کنید. مطابق پروژه Quartus ، قطعات را برای اتصال پین ها متصل کنید.

  1. مدار ورودی سیگنال صوتی ضبط شده توسط میکروفون ، تقویت شده ، فیلتر و افست را ارسال می کند.
  2. برنامه C موجود بر روی کارت ، مقادیر ADC را همانطور که قبلاً مشاهده کردیم ، می خواند و آن را در SPI می نویسد تا بتوانیم مقدار GPIO کارت را بازیابی کنیم.
  3. سپس GPIO خروجی SPI اطلاعاتی را که توسط DAC رمزگشایی شده و با اجرا برای رسیدن به بلندگو تقویت می شود ، منتقل می کند.

مرحله 13: جلوه های صوتی

جلوه های صوتی
جلوه های صوتی
جلوه های صوتی
جلوه های صوتی

تنها قدم باقی مانده جلوه های صوتی است.

جلوه های موجود عبارتند از:

  • فیلتر فرکانس بالا
  • فیلتر فرکانس پایین

به لطف یک دکمه می توانید بین جلوه ها جابجا شوید. این دکمه یک متغیر را در برنامه C ما تغییر می دهد ، بنابراین می تواند جلوه مناسب را اعمال کند.

مرحله 14: [اختیاری] ساخت کلاه ایمنی

[اختیاری] ساخت کلاه ایمنی
[اختیاری] ساخت کلاه ایمنی
[اختیاری] ساخت کلاه ایمنی
[اختیاری] ساخت کلاه ایمنی
[اختیاری] ساخت کلاه ایمنی
[اختیاری] ساخت کلاه ایمنی

در اینجا ما در دستی ترین مرحله پروژه هستیم:

  1. ابتدا قسمت های مختلف چاپگر سه بعدی کلاه ایمنی را چسباندیم.
  2. برای پر کردن شکاف بین قطعات چسبانده شده ، با استفاده از یک قلم سه بعدی یک پایان اضافه کردیم.
  3. ما عموماً قسمت های پر شده با قلم و کلاه ایمنی را جلا دادیم تا نقاشی بعد از آن خوب بماند.
  4. ما کلاه ایمنی را با 2 لایه رنگ آمیزی کردیم: لایه اول با رنگ سیاه آنتراسیت ، از نزدیک و دومی با رنگ سبز اولیه از رنگهای تیره تر.
  5. سرانجام ما لوگوی مدرسه خود را در کنار کلاه ایمنی چاپ کردیم

توصیه شده: