فهرست مطالب:

آردوینو - پیانو سه دکمه پیزو: 4 مرحله
آردوینو - پیانو سه دکمه پیزو: 4 مرحله

تصویری: آردوینو - پیانو سه دکمه پیزو: 4 مرحله

تصویری: آردوینو - پیانو سه دکمه پیزو: 4 مرحله
تصویری: ترکید😱😭 2024, نوامبر
Anonim
Image
Image

پیانو سه دکمه یک پروژه برای مبتدیان با تجربه استفاده از آردوینو است.

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

مواد مورد نیاز شامل:

  • 1 آردوینو
  • 1 تخته نان
  • 1 عدد کابل USB
  • سیم جامپر (رنگهای مختلف)
  • مقاومت 1 330 کیلو اهم
  • 1 Piezo Buzzer
  • 3 دکمه فشاری
  • 1 پتانسیومتر

مرحله 1: Piezo Buzzer

Piezo Buzzer
Piezo Buzzer

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

مرحله 2: دکمه ها را فشار دهید

دکمه ها را فشار دهید
دکمه ها را فشار دهید
دکمه ها را فشار دهید
دکمه ها را فشار دهید

در مرحله بعد ، زمان تنظیم دکمه های فشار است. مانند پیزو ، دکمه های فشار باید به زمین و به یک پین ورودی دیجیتال متصل شوند.

مرحله 3: پتانسیومتر

پتانسیومتر
پتانسیومتر
پتانسیومتر
پتانسیومتر

آخرین مرحله در ساخت فیزیکی پتانسیومتر است. پتانسیومترها به چند شکل مختلف ارائه می شوند. ما از پتانسیومتر به عنوان تقسیم کننده ولتاژ استفاده می کنیم ، بنابراین هر سه پایه آن باید متصل شوند.

پای راست: نوار منفی (زمین)

ساق پای میانی: پین آنالوگ 0

پای چپ: نوار مثبت

مرحله 4: کد

هنگام نوشتن کد برای این پروژه ، به اطلاعات مربوط به چند نوع عملکرد خاص اشاره کردم:

لحن ()

noTone () (من از این یکی استفاده نکردم. به جای آن فرکانس را روی "0" تنظیم کردم.)

نقشه ()

مرجع فوق العاده دیگر برای کاربران اولین بار از Piezo Buzzers را می توانید در اینجا پیدا کنید. اگرچه ایده تغییر صدای زنگ پیزو ساده به نظر می رسد ، اما در ابتدا کمی طاقت فرسا است!

تابع تن () را می توان به سه قسمت تقسیم کرد:

  1. پین (پینی که زنگ پیزو به آن متصل است)
  2. فرکانس (فرکانس صدا در هرتز)
  3. مدت زمان (مدت زمان صدا در میلی ثانیه)

اساساً ، به نظر می رسد: تن (پین ، فرکانس ، مدت زمان). جزء سوم (مدت زمان) اختیاری است ، در حالی که دو مورد دیگر برای عملکرد زنگ ضرورت دارد. جزء "فرکانس" عملکرد تون همان چیزی است که می توان آن را "صدا" تصور کرد که توسط زنگ صدا تولید می شود.

همچنین متوجه خواهید شد که کد دارای دو بیت دیگر از کد است. برخی از دستورات if/else تنظیم شده است که به Arduino می گوید در صورت فشردن دکمه های مختلف و همچنین تنظیم آن با "فرکانس = 0" در شرایطی که هیچ یک از دکمه ها فشرده نمی شوند ، چه کاری انجام دهد. در دستور if/else از تابع map () برای ترسیم مقیاس پتانسیومتر بر روی مجموعه ای از فرکانس ها استفاده می شود. اینها را می توان تغییر داد! با مقادیر فرکانس متفاوت بازی کنید تا ببینید چه صداهای متفاوتی می توانید از پیزو دریافت کنید.

کدی را که برای ایجاد پیانو سه دکمه استفاده کردم در اینجا بررسی کنید یا زیر را بررسی کنید.

int piezoPin = 8؛ // پین متصل به Piezo را تنظیم کنید.

int sensorPin = 0؛ // پین متصل به سنسور (پتانسیومتر) را تنظیم کنید. int sensorValue = 0؛

دکمه int1 = 5 ؛ // پین های ورودی متصل به دکمه ها را تنظیم کنید.

دکمه int2 = 4 ؛ دکمه int3 = 3 ؛

int فرکانس = 0 ؛

const int delayTime = 500؛ // یک ثابت برای متغیر زمان تاخیر در تابع tone () تنظیم کنید.

void setup () {

pinMode (button1 ، INPUT_PULLUP) ؛ pinMode (button2 ، INPUT_PULLUP) ؛ pinMode (button3 ، INPUT_PULLUP) ؛ }

حلقه خالی () {

sensorValue = analogRead (sensorPin) ؛ // سنسور را بخوانید. // مقادیر مختلف پتانسیومتر را برای مجموعه ای از فرکانس های هر یک از سه دکمه ترسیم کنید. if (digitalRead (button1) == LOW) {فرکانس = نقشه (sensorValue ، 0 ، 1023 ، 400 ، 499) ؛ } else if (digitalRead (button2) == LOW) {فرکانس = نقشه (sensorValue ، 0 ، 1023 ، 500 ، 599) ؛ } else if (digitalRead (button3) == LOW) {frequency = map (sensorValue، 0، 1023، 600، 699)؛ } else {frequency = 0؛ } تن (piezoPin ، فرکانس ، delayTime) ؛ // توابع tone () را با متغیرها تنظیم کنید. }

توصیه شده: