آموزش آردوینو

آموزش سنسور لرزش پیزو Piezo و اتصال به آردوینو

سنسورهای Piezo دستگاه‌های انعطاف‌پذیری هستند که هنگام اعمال فشار، بار الکتریکی تولید می‌کنند. این ویژگی باعث می‌شود پایزوها برای تشخیص خم شدن، لمس و لرزش با توان پایین ایده‌آل باشند. در کاربردهای پیشرفته‌تر، پایزوها می‌توانند پایه‌ای برای برداشت انرژی باشند. پایزوها سنسورهایی عالی برای تشخیص روشن بودن یخچال یا به‌عنوان منبع انرژی در چراغ‌های دستی انرژی‌بردار هستند.

پایزوها پتانسیل تولید پیک‌های ولتاژ AC بسیار بزرگ، تا محدوده ±50V را دارند. به دلیل این ولتاژهای بالا، معمولاً در کاربردهای حسگر لرزش از مقاومت‌های بزرگ برای “بارگذاری” سنسور و کاهش ولتاژ استفاده می‌شود. از دیودهای زنر نیز می‌توان برای محدود کردن ولتاژ در سطوح ایمن بهره برد.

این آموزش مقدمه‌ای سریع بر سنسورهای لرزش Piezo است و نحوه اتصال و استفاده از آن‌ها را نشان می‌دهد. علاوه بر سنسور، استفاده از مواد زیر پیشنهاد می‌شود:

  • برد آردوینو اونو: ما از مبدل آنالوگ به دیجیتال آردوینو برای خواندن ولتاژ تولیدی توسط سنسور Piezo استفاده می‌کنیم. هر پلتفرم سازگار با آردوینو مانند RedBoard، Pro یا Pro Mini می‌تواند جایگزین شود.
  • مقاومت ها: برای کاهش پیک‌های ولتاژ AC سنسور Piezo، از یک مقاومت بار بزرگ حدود 1 مگا اهم استفاده می‌شود. این کیت شامل چندین مقاومت 1 مگا اهم است تا در صورت نیاز بتوانید چند عدد آن‌ها را سری کنید.
  • برد بورد و سیم جامپر: پایه‌های سنسور Piezo با فاصله 0.2 اینچ طراحی شده‌اند و با بردبورد سازگارند. سنسور و مقاومت را روی بردبورد قرار می‌دهیم و سپس با جامپرها آن را به آردوینو متصل می‌کنیم.

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

  • مبدل آنالوگ به دیجیتال: جهان آنالوگ است. از تبدیل آنالوگ به دیجیتال استفاده کنید تا دستگاه‌های دیجیتال بتوانند جهان را تفسیر کنند.
  • آردوینو چیست: این آموزش توضیح می‌دهد آردوینو چیست و پروژه‌ها و ابزارهای مرتبط با آن را معرفی می‌کند.
  • آنالوگ و دیجیتال: این آموزش مفهوم سیگنال‌های آنالوگ و دیجیتال را در ارتباط با الکترونیک توضیح می‌دهد.
  • ولتاژ مستقیم و متناوب: با تفاوت‌های AC و DC، تاریخچه، روش‌های تولید، و نمونه‌های کاربردی آن‌ها آشنا شوید.

معرفی سنسور لرزش پیزو

سنسورهای لرزش Piezo در انواع شکل‌ها و اندازه‌ها عرضه می‌شوند. در ادامه چند مدل از کاتالوگ SparkFun معرفی شده است:

برخی سنسورهای Piezo دارای وزنه‌هایی در انتهای خود هستند تا تحریک و لرزش بهتر انتقال یابد.

یک منبع ولتاژ متناوب!

سنسورهای Piezo منحصر‌به‌فرد هستند زیرا هنگام اعمال نیرو، ولتاژ AC تولید می‌کنند و انرژی مکانیکی را به الکتریکی تبدیل می‌کنند. اگر یک اسیلوسکوپ را به یک Piezo متصل کنید، ممکن است هنگام لرزش سنسور شکل موج‌هایی مانند زیر را مشاهده کنید:

سیگنال های خروجی

سیگنال‌های بالا تنها با قرار دادن یک Piezo سنگین در بردبورد و ضربه زدن چندباره به آن تولید شده‌اند. توجه کنید که پیک‌های ولتاژ تقریباً به +20V و -12V رسیده‌اند. سیگنال‌هایی با این دامنه می‌توانند به‌طور دائمی پین‌های ADC میکروکنترلر را آسیب بزنند.

برای کاهش این پیک‌های ولتاژ، چند روش ساده وجود دارد. آسان‌ترین روش این است که سنسور Piezo را با یک مقاومت بزرگ بارگذاری کنیم. با قرار دادن یک مقاومت 1MΩ موازی با سنسور، می‌توان پیک‌ها را تا سطح امن کاهش داد.

پیزو با مقاومت 1 مگا اهم

در نمودار بالا، سنسور با مقاومت 1MΩ بارگذاری شده و به پین ADC آردوینو متصل است. ولتاژهایی که بین -0.5 تا +5V نوسان دارند، کاملاً در محدوده قابل تحمل پین‌های I/O میکروکنترلر ATmega328 قرار دارند.

مدارهای پیچیده‌تر برای کاهش اثر Piezo ممکن است شامل دیود زنر برای محدود کردن ولتاژ یا تقویت‌کننده‌های عملیاتی برای بافر کردن سیگنال باشند، اما استفاده از مقاومت بار یک نقطه شروع مناسب است.

اتصال پیزو به آردوینو

با استفاده از روش مقاومت بار 1MΩ که بالا توضیح داده شد، این یک مدار نمونه است که نشان می‌دهد چگونه سنسور لرزش را اتصال دهید:

اتصال پیزو به آردوینو

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

در این مدار، یک سمت Piezo به زمین وصل شده و ولتاژ تولیدی سمت دیگر به پین A0 آردوینو می‌رود. خواندن مقدار ولتاژ این پین میزان حرکت Piezo را نشان می‌دهد.

کد کامل پروژه به سادگی زیر است. آن را در Arduino IDE کپی کرده و آپلود کنید.

If you have not previously installed an Arduino library, please check out our installation guide.

constint PIEZO_PIN = A0; // پین متصل به خروجی پیزو

void setup() { 
Serial.begin(9600); 
} 

void loop() { 
// خواندن مقدار آنالوگ پیزو 
int piezoADC = analogRead(PIEZO_PIN); 
float piezoV = piezoADC / 1023.0 * 5.0; 
Serial.println(piezoV); // چاپ مقادیر ولتاژ 
}

این مثال فرض می‌کند که شما از آخرین نسخه Arduino روی دسکتاپ استفاده می‌کنید. اگر اولین بار است با Arduino کار می‌کنید، آموزش نصب Arduino IDE را بررسی کنید.

وقتی مدار را بستید و کد را آپلود کردید، مانیتور سریال را باز کرده و نرخ انتقال را روی 9600 bps تنظیم کنید.

باید ببینید که مقدارهای 0.00 به‌طور مداوم نمایش داده می‌شوند. سنسور را تکان دهید تا افزایش ولتاژ را مشاهده کنید.

مشاهده مقادیر خروجی سنسور در سریال مانیتور

احتمالاً چشم شما به‌قدری سریع نیست که تغییر تمام این اعداد را ببیند. می‌توانید در انتهای حلقه یک تأخیر اضافه کنید (برای مثال delay(250);)، یا خروجی را در Serial Plotter مشاهده کنید که در نسخه‌های جدید Arduino IDE وجود دارد. برای باز کردن Plotter مسیر Tools > Serial Plotter را دنبال کنید.

استفاده از سریال پلاتر آردوینو

اکنون می‌توانید اندازه‌گیری‌هایی شبیه یک اسیلوسکوپ ایجاد کنید. این نمودار به نشان دادن پیک‌های ولتاژ و رزونانس سنسور Piezo کمک می‌کند. سنسور را ضربه بزنید، تکان دهید یا روی زمین ضربه بزنید تا ببینید هر حرکت چگونه روی اندازه‌گیری‌های سنسور تأثیر می‌گذارد.

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

5 (2 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *