در این مطلب قصد داریم بصورت گام به گام اموزش دهیم چطور میتوان با فشردن پوش باتن(کلیدهای فشاری که دو نقطه باز از مدار را به یکدیگر متصل می کنند)، مقدار ورودی بورد (پوش باتن) را خواند و اطلاعات ان را در سریال مانیتور نمایش داد.
# | نوع | تعداد | خرید |
---|---|---|---|
1 | اردوینو uno | 1 | |
2 | سیم جامپر | 2 | |
3 | برد بورد | 1 | |
4 | پوش باتون | 1 |
برای برنامه نویسی این پروژه از نرم افزار اردوینو استفاده میکنیم.
در این خط متغییری تعریف کرده و شماره پین دیجیتال برد را که به پوش باتن متصل شده در این متغییر میریزیم .حال در هر جای کد کامپایلرbuttonPin را ببیند،بجای ان شماره پین را قرار میدهد
در این مثال قرار است بعد زدن کلید فشاری وضعیت کلید (خاموش/روشن) درحافظه ذخیره شود پس ما می بایست با استفاده از متغیر زیر وضعت دستگاه بعد از فشرده شدن را نگهداریم
وقتی که یک برنامه شروع به کار میکند، ابتدا این تابع اجرا میشود.این تابع درآردوینو فقط یک بار اجرا میشود؛ بعد از هر بار ریست کردن و یا پس از اتصال به منبع تغذیه. از این تابع برای معرفی کتابخانهها، مقداردهی اولیه به متغییرها و پیکربندی پایهها استفاده میشود
برای نمایش اطلاات پتانسیومتر میبایست پورت سریال را راه اندازی کنیم
پوش باتون یک قطعه دیجیتال است که ولتاژ به داخل اردوینو هدایت می کند و ما می بایست اردوینو را به عنوان یک ورودی در نظر بگیریم از این رو پین شماره 3 اردوینو را به عنوان input در نظر می گیریم
برنامههای آردوینو دو قسمت دارند قسمت مقداردهیهای اولیه و برنامه و قسمت اصلی.همانطور که پیش تر گفته شد،مقدار دهی اولیه در void setup انجام میشود.اما برنامه اصلی که همیشه هم در حال تکرار است در حلقه لوپ یا همان void loopانجام میشود
رای اینکه بتوان وضعیت پوش باتون را متوجه شد ازتابعdigitalRead() استفاده می کنیم
بعد از خواندن وضعیت دستگاه باید با استفاده از شرط تصمیم بگیریم چه عملی انجام شود که در این مثال بعد اینکه وضعیت دستگاه مشخص شد در صورت 1 بودن وضعیت پوش باتون مقدار on را بر روی سریال نمایش می دهیم و در صورت 0بودن مقدار off را بر روی سریال نمایش می دهیم
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const int buttonPin = 3;
int buttonState = 0;
void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.println("ON");
}
else {
Serial.println("OFF");
}
delay(2000);
}
پروژه مشابه
کامنت ها
هر هفته یک اموزش
هر هفته یک پروژه
هر هفته یک ویجت