آموزش آردوینوپروژه های آردوینو

آموزش ساخت بادسنج با آردوینو (اندازه گیری میزان باد)

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

معرفی بادسنج

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

بادسنج سنسور باد

مشخصات فنی بادسنج

بسته به سازنده و مدل، بادسنج ممکن است ویژگی های متفاوتی داشته باشد. به عنوان مثال، اینها ویژگی های بادسنج مورد استفاده در این راهنما هستند:

  • ولتاژ ورودی: 12-24 ولت DC
  • ولتاژ خروجی: 0-5 ولت
  • محدوده اندازه گیری: 0-32.4m/s
  • وضوح: +/- 0.3m/s

این به این معنی است که وقتی سیگنال آنالوگ 0 است، سرعت باد 0 است. اما در مورد من، متوجه شدم که وقتی بادسنج حرکت نمی کرد، ولتاژ خروجی 0,054V ​​بود نه 0V.

ولتاژ سنسور باد در حالت سکون

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

پایه های سنسور باد

بادسنج دارای سه سیم است:

سیم آبی سیگنال
سیم مشکی GND
سیم قهوه ای تغذیه +

بادسنج، سنسور باد سنسور سنسور

اتصال بادسنج به آردوینو

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

ما سنسور را با استفاده از یک آداپتور برق 12 ولت تغذیه می کنیم و آن را با استفاده از یک جک برق به بادسنج متصل می کنیم. می توانید از هر منبع تغذیه مناسب دیگری استفاده کنید.

آداپتور جک برق DC

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

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

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

  • برد آردوینو
  • سنسور بادسنج
  • آداپتور برق 12 ولت DC
  • آداپتور جک برق DC
  • برد بورد
  • سیم های جامپر
  • مولتی متر

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

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

مدار بادسنج آردوینو با سنسور باد

در مورد من، من باید سنسور را با استفاده از یک منبع تغذیه خارجی 12 ولت تغذیه کنم.

سیم مشکی GND آردوینو و GND منبع تغذیه
سیم آبی به یک پین آنالوگ وصل کنید. ما از A0 استفاده می کنیم
سیم قهوه ای منبع تغذیه 12 ولت

کد بادسنج آردوینو

کد کامل پروژه در فایل دانلودی انتهای صفحه قرار داده شده است. در اینجا قسمت های مختلف کد را توضیح میدهیم.

ابتدا، پینی را که با آن در حال خواندن سنسور هستید (در مورد ما A0)، حداقل و حداکثر ولتاژ خروجی سنسور و حداکثر سرعت باد را مشخص کنید.

const int anemometerPin = 0;  // analog pin 0 (A0)
const float minVoltage = 0.054;  // ولتاژ حالت سکون
const float maxVoltage = 5;  // ولتاژ حداکثر باد
const float maxWindSpeed = 32.4; // حداکثر سرعت باد

اینها پارامترهای سنسور ما هستند. هنگامی که سنسور حرکت نمی کند، ولتاژ 0.054 ولت را خروجی می دهد، بنابراین ما آن را حداقل مقدار در نظر می گیریم.

سپس ضرایب تبدیل برای تبدیل سرعت باد از m/s به km/h و mph را داریم.

const float mps_to_kmh = 3.6;   // 1 m/s = 3.6 km/h
const float mps_to_mph = 2.23694; // 1 m/s = 2.23694 mph

در setup()، مانیتور سریال را مقداردهی اولیه می کنیم.

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

در loop() هر ثانیه مقادیر جدیدی از سنسور دریافت می کنیم.

ابتدا مقدار روی پایه ADC را می خوانیم و آن را به مقدار ولتاژ تبدیل می کنیم. حداکثر مقدار خوانده شده در پین ADC آردوینو 1023 است که مربوط به 5 ولت است. بنابراین، می توانیم مقدار را با استفاده از خط زیر به ولتاژ تبدیل کنیم:

int adcValue = analogRead(anemometerPin);
float voltage = (adcValue / 1023.00) * 5.0;

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

if (voltage < minVoltage) { voltage = minVoltage; } else if (voltage > maxVoltage) {
  voltage = maxVoltage;
}

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

float windSpeed_mps = ((voltage - minVoltage) / (maxVoltage - minVoltage)) * maxWindSpeed;

سپس مقادیر بدست آمده را به km/h و mph تبدیل می کنیم.

// سرعت باد را به کیلومتر در ساعت و مایل در ساعت تبدیل کنید
float windSpeed_kmh = windSpeed_mps * mps_to_kmh;
float windSpeed_mph = windSpeed_mps * mps_to_mph;

در نهایت نتایج به دست آمده را چاپ می کنیم.

// چاپ سرعت باد
Serial.print("سرعت باد: ");
Serial.print(windSpeed_mps);
Serial.print(" m/s, ");
Serial.print(windSpeed_kmh);
Serial.print("km/h,");
Serial.print(windSpeed_mph);
Serial.println("mph");

delay(1000);
}

تست کد

کد را روی برد آردوینو خود آپلود کنید. مطمئن شوید که سنسور را به درستی سیم کشی و تغذیه کرده اید.

مانیتور سریال را با نرخ باود 9600 باز کنید.

سنسور را بچرخانید تا مقداری باد را ایجاد کنید و مقادیر چاپ شده در مانیتور سریال را هر ثانیه ببینید.

تست کد اندازه گیری شدت باد با Arduino

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

موارد موجود در فایل : سورس کامل

3.5 (2 نفر)

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

محمد رحیمی

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

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

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