با نحوه شروع برنامه نویسی برد میکروکنترلر آردوینو برای کنترل قطعات الکترونیکی و خواندن سنسورها آشنا شوید.
با یک جامعه نوپا که همیشه پروژههای ساده و سرگرمکننده را دنبال میکنند، هرگز ایدههایی برای کارهایی که میتوانید با برد میکروکنترلر آردوینو انجام دهید از بین نخواهید رفت.
همانطور که گفته شد، مهمترین بخش هر پروژه آردوینو، کدی است که همه چیز را اجرا می کند. برنامه نویسی آردوینو به درستی کلید تضمین عملکرد صحیح پروژه الکترونیکی است. اما چگونه می توان آردوینو را کدنویسی کرد؟
آردوینو چیست؟
آردوینو یک پلتفرم نمونه سازی منبع باز است. استفاده از آن آسان است، دارای هدر GPIO برای اتصال سنسورها و سایر اجزای الکترونیکی است و زبان برنامه نویسی نسبتاً ساده ای دارد. بردها در شکل ها و اندازه های مختلف هستند، از کوچکی آردوینو نانو برای پروژه های قابل استقرار تا آردوینو مگا 2560 برای پروژه هایی با سخت افزار بیشتر. برای اطلاعات بیشتر در مورد پلتفرم، راهنمای مبتدیان آردوینو ما را بخوانید.
نحوه برنامه نویسی آردوینو
برنامه نویسی آردوینو به سادگی وصل کردن سخت افزار به یک آردوینو است. تنها چیزی که نیاز دارید یک برد آردوینو، یک کابل USB مناسب (بررسی کنید که آردوینو شما کدام نوع پورت USB دارد) و یک کامپیوتر برای شروع کار است. شما از زبان برنامه نویسی آردوینو مبتنی بر C++ استفاده خواهید کرد.
در حالی که دارای یک IDE قابل دانلود است، می توانید از مرورگر وب خود نیز برای کدنویسی آردوینو استفاده کنید. به خاطر داشته باشید که اگر از IDE مبتنی بر مرورگر استفاده میکنید، باید Arduino Agent را نصب کنید – اولین باری که آن را امتحان میکنید، از شما خواسته میشود که Agent را دانلود و نصب کنید قبل از اینکه بتوانید به کدنویسی برسید.
اجزای برنامه آردوینو
به برنامه های آردوینو Sktch می گویند. آنها معمولاً در دو عملکرد اصلی نوشته می شوند:
- setup(): این تابع فقط یک بار در هر سیکل بوت آردوینو اجرا می شود. این بدان معنی است که هر مقدار اولیه، اعلان یا تنظیم در این تابع انجام می شود.
- loop(): تا زمانی که آردوینو شما قدرت داشته باشد، این تابع بارها و بارها به چرخش ادامه میدهد. اکثر کدهای تابعی در این روش نوشته می شوند.
همانطور که با هر برنامه یا اسکریپت دیگری انجام می دهید، کتابخانه ها و مقادیر مهم قبل از دو تابع ذکر شده در بالا اعلام و وارد می شوند. بر اساس نیازهای خود، در صورت تمایل می توانید عملکردهای بیشتری را اضافه کنید.
می توانید از مانیتور سریال برای مشاهده داده هایی که آردوینو شما از طریق اتصال USB سریال ارسال می کند استفاده کنید. مانیتور سریال همچنین برای تعامل با برد با استفاده از رایانه یا سایر دستگاه های توانمند استفاده می شود. همچنین شامل یک پلاتر سریال است که می تواند داده های سریال شما را برای نمایش بصری بهتر ترسیم کند.
استفاده از اجزای اصلی با آردوینو
ما یک راهاندازی کوچک ایجاد میکنیم که در آن آردوینو میتواند ورودی یک دکمه را بخواند و یک LED را بر اساس فشار دادن یا نبودن آن روشن کند. قبل از اینکه به کدنویسی بپردازیم، باید سخت افزار خود را سیم کشی کنیم. شما به موارد زیر نیاز خواهید داشت:
- دکمه فشاری
- رهبری
- مقاومت 10 کیلو اهم
- مقاومت 220Ω
برای اتصال درست همه چیز، نمودار سیم کشی زیر را دنبال کنید. به پین GPIO (خروجی ورودی عمومی) که هر سیم در برد آردوینو به آن متصل می شود، توجه ویژه ای داشته باشید.
هنگامی که تمام سخت افزار سیم کشی شد، ادامه دهید و کد زیر را در IDE آنلاین کپی کنید. نظراتی را در سراسر کد خواهید یافت تا بهتر توضیح دهید که هر قسمت چه کاری انجام می دهد.
#define LED_PIN 8 //Define the LED pin
#define BUTTON_PIN 7 //Define the button pin
//Now we'll initialise the LED and button in the setup function
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
//The following snippet loops over the button status and changes
//LED status to HIGH (on) when the button is pressed down (HIGH)
void loop() {
if (digitalRead(BUTTON_PIN) == HIGH) {
digitalWrite(LED_PIN, HIGH);
}
else {
digitalWrite(LED_PIN, LOW);
}
}
با این حال، آردوینو چیزهای بیشتری به جز LED ها و دکمه ها دارد. بیایید به کدهای پیشرفته تری بپردازیم که به جای آن حسگر فاصله و زنگ هشدار را ادغام می کند.
استفاده از سنسور اولتراسونیک با آردوینو
آردوینو شما میتواند دادههای حسگر را بخواند و مطابق با محیط اطراف خود تعامل داشته باشد. ما یک سنسور اندازهگیری فاصله اولتراسونیک HC-SR04 و یک زنگ هشدار را به برد متصل میکنیم تا زنگ نزدیکی ایجاد کنیم.
در اینجا کد به نظر می رسد. توضيحات خط به خط را در سرتاسر خواهيد يافت.
//Declaring the HC-SR-04 and Buzzer pins
const int TRIG_PIN = 6;
const int ECHO_PIN = 7;
const int LED_PIN = 3;
const int DISTANCE_THRESHOLD = 50;
//Variables for calculating distance
float duration_us, distance_cm;
//Setting pin modes and intializing the Serial Monitor
void setup() {
Serial.begin (9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
//Generate 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
//Measure duration of pulse from ECHO pin
duration_us = pulseIn(ECHO_PIN, HIGH);
//Calculate the distance
distance_cm = 0.017 * duration_us;
if(distance_cm < DISTANCE_THRESHOLD)
digitalWrite(LED_PIN, HIGH); //Turn on LED
else
digitalWrite(LED_PIN, LOW); //Turn off LED
//Print the value to Serial Monitor
Serial.print("distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
delay(500);
}
چگونه یک برنامه آردوینو را اجرا کنیم؟
اکنون که سخت افزار و کد را آماده کرده اید، وقت آن است که کد را در آردوینو خود آپلود کنید. این مراحل را دنبال کنید.
- برای کامپایل کد خود و اطمینان از عاری بودن آن از خطا، روی دکمه تأیید تأیید کلیک کنید.
- برد آردوینو و پورت COM مربوط به آن را از منوی کشویی انتخاب کنید.
- روی دکمه آپلود کلیک کنید و منتظر بمانید تا آپلود کد به پایان برسد.
به محض کلیک بر روی دکمه آپلود، فعالیت را در پنجره سیاه کنسول زیر مشاهده خواهید کرد. با فرض اینکه آردوینو شما کار می کند و به درستی متصل است، کد شما آپلود می شود و می توانید آزمایش پروژه خود را شروع کنید.
میکروکنترلرها می توانند سرگرم کننده باشند
میکروکنترلرهایی مانند آردوینو راهی عالی برای ورود به دنیای الکترونیک DIY هستند. آردوینو برای کودکان یک فعالیت بسیار عالی است. هنگامی که نحوه کدنویسی آردوینو را یاد گرفتید، بردهای قدرتمندتری مانند Raspberry Pi دنیای کاملاً متفاوتی از فرصتها را از نظر آنچه میتوانید تنها با چند حسگر اصلی و چند خط کد بسازید، باز میکنند.