رباتیک و هوافضا

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

به نام خدا

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

در این پروژه قصد اریم تا یک فرکانس متر دیجیتال با استفاده از آردوینو بسازیم که می تواند فرکانس خوانده شده را روی یک ال سی دی ۱۲ در ۲ نمایش دهد. این فرکانس متر می تواند فرکانس های ۳۵ هرتز تا یک مگا هرتز را بخواند. در ادامه موارد مورد نیاز برای استفاده از فرکانس متر را ذکر خواهیم کرد.

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

 

نحوه ی محاسبه ی فرکانس :

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

بیشتر بخوانید...  راه اندازی سنسور PIR با آردوینو

  Freq =  ۱۰۰۰۰۰۰/time period in microseconds

time period in microseconds : دوره بر حسب میکرو ثانیه

 

شماتیک مدار :

در شکل بالا مدار اتصالات ای پروژه را مشاهده می کنیم که از پتانسیومتر برای تنظیم کنتراست نمایش ال سی دی استفاده شده است. اتصالات را اتجام دهید و در ادامه به ارائه ی کد برنامه خواهیم پرداهت.

 

 

شماتیک بالا شامل یک آی سی اینورتر ۷۴۰۴ می باشد که نقش آن در اینجا حذف نویز از ورودی می باشد. بنابراین نویزی به آردوینو نخواهد رسید تا آن را دچار مشکل کند. توجه کنید که حداکثر ولتاژ ورودی نباز از ۵ ولت تجاوز کند.

 

 

دانلود کد برنامه:

دانلود فایل
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int X;
int Y;
float Time;
float frequency;
const int input = A0;
const int test = 9;
void setup()
{
pinMode(input,INPUT);
pinMode(test, OUTPUT);
lcd.begin(16, 2);
analogWrite(test,127);
}
void loop()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Frequency Meter");
X=pulseIn(input,HIGH);
Y=pulseIn(input,LOW);
Time = X+Y;
frequency=1000000/Time;
if(frequency<=0)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Frequency Meter");
lcd.setCursor(0,1);
lcd.print("0.00 Hz");
}
else
{
lcd.setCursor(0,1);
lcd.print(frequency);
lcd.print(" Hz");
}
delay(1000);
}

 

مدار تست و ایجاد فرکانس:

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

بیشتر بخوانید...  راه اندازی ماژول جی پی اس با رزبری پای

 

در برنامه پین شماره نه مسئول این ست تا یک pwm با فرکانس ۴۹۰ هرتز با دیوتی سایکل ۵۰ درصد می باشد. می توانید به جای فرکانس ورودی از اردوینو فرکانس ورودی خود را از هرجایی به آن وارد کنید.

 

 

دیدگاه‌ها (6)

*
*

    ali مهمان دسامبر 24, 2018 پاسخ

    میتونین بیشتر راهنماییم کنین
    لطفا به ایمیلم پیام بدین

      Admin مدیر کل ژانویه 10, 2021 پاسخ

      سلام
      اگه سوالی دارید توی تلگرام پیام بدید

    R مهمان ژوئن 5, 2019 پاسخ

    سلام وقتتون بخیر
    ممنون از سایت خوبتون،ببخشید من همین مدار رو بستم و کدهارو به برنامه دادم ولی خطای redifinition of `liquid crystal lcd`میده،میشه لطفا راهنمایی کنین،مرسی.

      Admin مدیر کل ژانویه 10, 2021 پاسخ

      سلام
      از چه مدل آردوینویی استفاده میکنید و ورژن نرم افزار آردوینو چیه....
      این خطای شما به خط lcd گیر داده در وصرتی که کاملا برنامه درسته

    سجاد مهمان مارس 28, 2020 پاسخ

    سلام.آیا میشه به ورودی دستگاه آنتن وصل کنیم و دستگاه درست عمل کنه؟ و اگه خودتون بسازین هزینه‌اش چقدره؟

      Admin مدیر کل نوامبر 6, 2020 پاسخ

      سلام نه امکان اتصال آنتن نداره
      برای انجام پروژه توسط ما با پشتیبانی تماس بگیرید