جلسه چهاردهم:کنترل نور LED با آردوینو
در این پروژه از مبحث آموزش آردوینو می خواهیم شما را با نحوه تبادل داده میان کامپیوتر و برد آردوینو Arduino Uno آشنا کنیم. برای این منظور قرار است توسط یک نرم افزار ساده که بر روی کامپیوتر اجرا می شود مقدار خروجی موس در محور X را دریافت کنیم و آنرا برای برد آردوینو ارسال نمائیم. حال با نوشتن یک برنامه ساده در آردوینو که در ادامه به توضیح آن می پردازیم، داده ارسالی از کامپیوتر را که همان وضعیت موس در محور X می باشد را دریافت می کنیم و بر حسب مقدار دریافتی با استفاده از موج PWM در آردوینو یک ولتاژ متناسب با آن، بر روی پایه ای از برد آردوینو که لامپ LED به آن متصل است، تولید می کنیم. که این فرایند در نهایت منجر به تغییر و تعیین میزان نور لامپ ال.ای.دی می گردد.
نرم افزار Processing
همانطور که گفته شد، در این پروژه برای بدست آوردن مقدار موس کامپیوتر در محور X از یک نرم افزار ساده استفاده شده است. که نام این نرم افزار Processing می باشد، که می توانید آنرا از انتهای همین مطلب دانلود کنید. در حقیقت نرم افزار پروسسینگ یک نرم افزار برنامه نویسی بر پایه جاوا است که کاربرد وسیعی در حوزه رباتیک و ارتباط با بردهای آردوینو دارد. در این پروژه آردوینو ما نیز برای اینکه بتوانیم وضعیت موس کامپیوتر را در محور X برگردانیم و آنرا به برد آردوینو ارسال کنیم، لازم است چند خط برنامه ساده در این نرم افزار بنویسیم، که در ادامه شیوه اینکار را خواهیم گفت.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
لامپ LED زرد سایز 5mm میلی متر مدل مات | 1 عدد |
مقاومت 220 اهم با توان 0.25 وات و تلرانس 1 درصد | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
توضیحات ساخت مدار پروژه
برای آزمایش مدار و شروع برنامه نویسی ابتدا لازم است سخت افزار پروژه بسته شود، به همین خاطر ابتدا طبق نقشه شماتیک زیر، پایه مثبت لامپ ال.ای.دی را به یکسر مقاومت 220 اهمی اتصال دهید و سمت دیگر مقاومت را به پایه دیجیتال شمار 9 آردوینو متصل کنید. و در نهایت برای تکمیل مدار پایه منفی لامپ LED را توسط یک تکه سیم به یکی از پایه های GND بر روی برد آردوینو اتصال دهید.
برنامه آردوینو در نرم افزار آردوینو
1 2 3 4 5 6 7 8 9 10 11 12 13 |
const int ledPin = 9; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { byte brightness; if (Serial.available()) { brightness = Serial.read(); analogWrite(ledPin, brightness); } } |
برنامه نرم افزار Processing
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import processing.serial.*; Serial port; void setup() { size(256, 150); println("Available serial ports:"); println(Serial.list()); port = new Serial(this, "COM4", 9600); } void draw() { for (int i = 0; i < 256; i++) { stroke(i); line(i, 0, i, 150); } port.write(mouseX); } |
ویدئو آموزش کدهای برنامه نویسی و نحوه راه اندازی پروژه
آموزش صفر تا صد برنامه نویسی بردهای آردوینو – جلسه چهاردهم