جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

اسفند 19, 1396
ارسال شده توسط mjavad
پروژه، پروژه های آردوینو، پروژه های رایگان

 

به نام خدا

تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

 

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

هنگامی که این پروژه را ساختید، می توانید انگشتان دست خود را روی هر چیزی هدایت کنید و آهنگ های خود را ایجاد کنید.

وسایل مورد نیاز تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو :

نرم افزار مینی آردینو

سنسسور Piezo

سنسور Flex

دستکش

مقاومت10 کیلو

باتری 9 ولت

BC547 ترانزیستورهای

شماتیک و توضیح:

این پروژه از مجموع 4 سنسور استفاده می کند که دو سنسور فلکس و دو زوج دارلینگتون است که به عنوان سنسور لمسی عمل می کنند. ما همچنین از دو مقاومت پایین R1 و R2 ,10 کیلواستفاده کردیم که به عنوان مقاومت کششی برای سنسور فلکس عمل می کند. ما در اینجا براساس میزان خمش آن از سنسور فلکس برای تولید سه صدای متفاوت با یک انگشت استفاده می کنیم. بنابراین ما می توانیم 6 صدا با دو انگشت تولید کنیم.

زوج دارلینگتون:

قبل از اینکه ما ادامه دهیم، مهم است که بدانیم دارلینگتون چیست و دقیقا چگونه در پروژه ما کار می کند.

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

همانطور که در بالا نشان داده شده است، ما از دو ترانزیستور BC547 استفاده می کنیم و امتداد ترانزیستور اول به پایه ترانزیستور دوم متصل است. این مدار به عنوان یک تقویت کننده افزایشی عمل می کند، به این معنی که هر سیگنال کم داده شده به پایه ترانزیستور اول، برای تعویض پایه ترانزیستور دوم کافی است.

بدن ما به عنوان یک زمین عمل می کند بنابراین هر زمان که ما پایه ترانزیستور را لمس کنیم، ترانزیستور دوم تغییر میکند . با استفاده از این توضیحات ما سنسور لمسی را برای این پروژه میسازیم.

پین شماره 2 و 3 پین وقفه در آردوینو است که با استفاده از مقاومت کششی داخلی بالا کشیده می شود و سپس این پین ها هر زمان که سوئیچ دارلینگتون بسته می شود به زمین برمیگردد. به این ترتیب هر بار سیم را لمس می کنیم (از پایه ترانزیستور اول)، وقفه از آردوینو آغاز می شود.

با استفاده از دو انگشت می توان تنها دو نوع از تن صدا تولید کرد؛ از این رو در اینجا از یک حسگر انعطاف پذیر استفاده شده است که تن صدا را بر اساس میزان خمش آن تغییر می دهد. بر اساس میزان خمش انگشت برای تولید سه تن صدا متفاوت برنامه ریزی کرده ایم. اگر شما میخواهید تن های صدا را افزایش دهید باید سرهای بیشتری در نوک انگشتان خود داشته باشید.

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

 

 

 

همانطور که در بالا نشان داده شده است  از دستکش دو انگشتی برای ایمن کردن سیم از جفت آردوینو و سنسور انعطاف پذیراستفاده کرده ایم .

شما می توانید ایده خود را درموقعیت دیگری قرار دهید.

برنامه ریزی آردوینو:

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

کد کامل در انتهای این پست قرار داده شده است، وچندین بخش مهم را در زیر توضیح داده ایم.

توجه: این برنامه با کمک کتابخانه “pitches.h” کار می کند. پس مطمئن شوید قبل از کامپایل کردن فایل، هدر را به برنامه خود اضافه کرده اید.

شما می توانید فایل هدر pitches.h را از اینجا دانلود کنید.

[maxbutton id=”214″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/pitches.h.zip” ]

درتابع تنظیم، پین 2 و 3 را به صورت ورودی با مقاومتهای کششی آغاز می کنیم. ما همچنین پین2 و3 را به عنوان پین وقفه اعلام می کنیم و تن (1) را اجرا می کنیم .

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

void setup()
 {
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), tone1, LOW);
attachInterrupt(digitalPinToInterrupt(3), tone2, LOW);
Serial.begin(9600);
{

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

به عنوان مثال، فلکس سنسور من حدودا مقدار 200 را داده است وهنگامی که به سمت چپ رفتم ،تمام مسیر را به 130 رساندم، بنابراین، از آنجا که من باید 3 نوع تن صدا را بازی کنم، مقدار آن را از 200 تا 130 به عنوان 1 به3 تعیین کردم. شما باید این دو خط را بر اساس ارزش سنسور فلکس و تعداد صداهای خود تنظیم کنید

void loop() {
 flexSensor1 = map(analogRead(A0),200,130,1,3); //Map up with your own values based on your flex sensor
 flexSensor2 = map(analogRead(A1),170,185,1,3); //Map up with your own values based on your flex sensor
{

همانطور که قبلا مشاهده کردیم، تابع تن1هنگام وقوع یک وقفه در پین 2 اجرا می شود. در تابع تن1 این موضوع نشان داده شده است. ما به مقادیر فلکس سنسور1 نگاه می کنیم و بر اساس مقدار فلکس سنسور مقدار تن صدا را بازی می کنیم.

 

void tone1()
{
if (flexSensor1==1)
tone(8, NOTE_D4,50);
else if (flexSensor1==2)
tone(8, NOTE_A3,50);
else if (flexSensor1==3)
tone(8, NOTE_G4,50);
else
tone(8, NOTE_D4,50);
{

خط زیر برای پخش صدا مورد استفاده قرار می گیرد. شما می توانید تن صدایی را که در فایل header “pitches.h” موجود است پخش کنید.

 

tone(8, NOTE_A3,50); //tone(PinNum,Note name, Duration);

کار کردن:

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

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

ویدئو زیر نشان می دهد که کار این پروژه کامل شده است. امیدوارم از ساختن پروژه لذت ببرید، هر گونه پیشنهاد یا سوالی را می توانید در قسمت نظرات زیر بنویسید. همچنین Arduino Audio Player و Arduino Tone Generator Project را بررسی کنید.

کد تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو:

[maxbutton id=”213″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/Arduino-based-Tap-and-Tone-player.txt” ]

/*
 * Arduino based Tap and Tone player
 * Published by: CircuitDigest.com
 * Code By: B.Aswinth Raj
 * Dated:8-7-2017
 * 
 * ###CONNECTIONS###
 * Darlington Wire 1 -> Pin 2
 * Darlington Wire 2 -> Pin 3
 * FlexSensor 1 -> A0
 * FlexSensor 2 -> A1
 * Speaker -> Pin 8
 */
#include "pitches.h"      //add this librarey into the project folder
int flexSensor1,flexSensor2;
void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), tone1, LOW); //Trigger tone1 when LOW
attachInterrupt(digitalPinToInterrupt(3), tone2, LOW); //Trigger tone2 when LOW
Serial.begin(9600);
}
void loop() {
 flexSensor1 = map(analogRead(A0),200,130,1,3); //Map up with your own values based on your flex sensor
 flexSensor2 = map(analogRead(A1),170,185,1,3); //Map up with your own values based on your flex sensor
}
//**Function to execute on Interrupt 1**//
void tone1()
{
if (flexSensor1==1)
tone(8, NOTE_D4,50);
else if (flexSensor1==2)
tone(8, NOTE_A3,50);
else if (flexSensor1==3)
tone(8, NOTE_G4,50);
else
tone(8, NOTE_D4,50); 
}
//**Function to execute on Interrupt 2**//
void tone2()
{
if (flexSensor1==1)
tone(8, NOTE_A4,50);
else if (flexSensor1==2)
tone(8, NOTE_F4,50);
else if (flexSensor1==3)
tone(8, NOTE_E4,50);
else
  tone(8, NOTE_A4,50);
}

 

برچسب ها: آردوینو یونوآموزش تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینواستفاده از فلکس در تولید صدا آردوینوبرنامه تولید تن صدا با ضربه زدن با آردوینوپروژه های آردوینوتولید تن صدا با انگشتانتولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو
قبلی آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن
بعدی کنترل موتور براشلس دی سی دارای سنسور با آردوینو

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

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

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

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