آردوینو Uno

0

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

آردوینو UNO R3 (شکل 1) حاوی یک میکروکنترلر ATmega328P است که حافظه و دستورالعمل‌های برنامه نویسی شده را برای ذخیره‌سازی دیتا، اجرا می‌کند. منبع توان آردوینو یک ورودی DC یا اتصال USB است که برای آپلود دستورالعمل‌ها و ارتباط با کامپیوتر یا لپ تاپ استفاده می‌شود. تراشه ATmega 16U2، USB (گذرگاه سریال مشترک) را برای ارتباط سریال مدیریت می‌کند.

Pin منبع تغذیه امکان اتصال تا 5V (5 ولت) یا 3. 3V و اتصال به زمین (GND) به سایر دستگاه‌ها را فراهم می‌کند. Pin‌های 0 و 1 برای انتقال و دریافت دیتای سریال از سایر دستگاه‌ها هستند. Pin‌های 2 تا 13 ورودی و خروجی دیجیتال هستند، که ورودی یا خروجی 5V برابر با یک دیجیتال یا 0V برابر با صفر دیجیتال است.

Pinهای خروجی برای شبیه‌سازی ولتاژهای بین 0V و 5V زمانی‌ که یک Pin در حالت 5V است را تغییر می‌دهند. Pin‌های آنالوگ، A0 تا A5، ولتاژهای بین 0V و 5V را اندازه گیری کرده و سیگنال‌های آنالوگ را به مقادیر دیجیتال (ADC) تبدیل می‌نماید. Pin‌های A4 و A5 نیز می‌توانند با سایر دستگاه‌ها ارتباط برقرار کنند، درست مثل کاری کهPin‌های 10 تا 13 انجام می‌دهند.

البته این ارتباط با استفاده از سیستم‌های ارتباطی متفاوتی، به ترتیب I2C و SPI، در مقایسه با اتصال USB انجام می‌شود. سه LED (دیود ساطع کننده نور) توان (ON)، ساطع کننده (TX) و دریافت کننده (RX) را با چهارمین LEC متصل به پین 13 نشان می‌دهد. از دکمه ریست برای راه اندازه مجدد میکروکنترلر استفاده می‌شود.

کارکرد آردوینو UNO منجر به توسعه دامنه­ی وسیعی از پروژه‌ها می‌شود که در کتاب حاضر توضیح داده می‌شوند. شاید برخی از اصطلاحات (از جمله ADC, I2C, SPI) در ابتدا برای­تان خیلی قابل درک نباشد، اما در فصول مرتبط به توضیح آن‌ها خواهیم پرداخت.

شکل 1. آردوینو UNO

بِرد بورد (Bread Board)

بِرد بورد شامل ستون‌هایی با خانه‌های متصل بهم است و برای قرارگیری قطعات الکترونیکی به منظور ایجاد یک مدار و اتصال به آردوینو بکاربرده می‌شود (شکل 1).

دو ردیف در امتداد طول بِرد بورد (چپ به راست) برای اتصال به خطوط پاور (قرمز) یا اتصال به زمین (آبی) در مدار مورد استفاده قرار می‌گیرد. سوراخ‌های هر ستون کوتاه (سبز) بِرد بورد به یکدیگر متصل شده‌اند، اما خود ستون‌ها بهم متصل نیستند، بنابراین دو قطعه هر کدام با یک پایه در ستون سبز به یکدیگر وصل شده اند.

منطقه میانی بِرد بورد، تخته را به دو بخش غیرمتصل تقسیم می‌کند. بِرد بوردها اندازه‌های مختلفی دارند.

شکل 2. بِرد بورد

اصطلاح بِرد بورد از سرویس رادیو آماتوری گرفته شده که نقاط ثابت را به بِرد بورد چوبی متصل کرده و سپس قطعات الکترونیکی را به نقاط ثابت وصل می‌کند.

به عنوان مثال، شکل 1. 3 یک مدار با LED، مقاومت 100Ω و باتری 3V نشان می‌دهد. پایانه قرمز یا مثبت باتری 3V به پایه بلند LED متصل شده، زیرا پایه‌های مرتبط به این دو قطعه در یک ستون کوتاه هستند.

علاوه بر این، پایه کوتاه LED پایه “بالای” مقاومت 100Ω متصل شده، البته پایه “پایین” مقاومت، به سبب قرارگیری در نیمه دیگر برد به پایه بالایی متصل نیست. برای تکمیل مدار، یک سیم سیاه پایانه منفی یا سیاه باتری 3V را به پایه “پایین” مقاومت متصل می‌کند.  

شکل 3. مدار مقاومت و LED

نرم افزار IDE آردوینو

نرم افزار IDE (محیط توسعه تعاملی) آردوینو از سایت www.arduino.cc/en/Main/Software ، قابل دانلود بوده و به صورت فایل arduino-version number-windows. exe در دسکتاپ ذخیره می‌شود. برای نصب فایل  exe. باید دوبار روی آن کلیک کرد.

فایل‌های برنامه IDE آردوینو در مسیر C: Program Files (x86)Arduino ذخیره می‌شوند که شامل اسکچ‌های نمونه موجود در مسیر C: Program Files (x86) Arduino examples است. یک فایل متنی (تکست) همراه با هر اسکچ نمونه است که هدف اسکچ، چیدمان بِرد بورد قطعات و نمودار مدار را نشان می‌دهد.

IDE آردوینو برای نوشتن، گردآوری و آپلود فایل‌ها در میکروکنترلر، استفاده می‌شود. فایلی که کد آردوینو داشته باشد را اسکچ می‌نامند. در Arduino IDE، کلیک بروی یکی از پنج نماد IDE  باعث دسترسی سریع جهت گردآوری یک اسکچ، گردآوری و آپلود یک اسکچ، باز کردن یک اسکچ خالی، بازکردن یک اسکچ موجود از فهرست تمام اسکچ‌ها، و ذخیره اسکچ جاری می‌شود.

گزینه “باز کردن اسکچ موجود” ، فهرست کامل اسکچ‌ها را اسکرول نمی کند، بلکه این کار با استفاده از  انجام می‌گیرد.  برخی از گزینه‌های مفید در منوی کشویی در جدول 1 ارائه شده اند.

توضیح

گزینه ها

فهرست اسکچ هایی که اخیراً به آن دسترسی صورت گرفته است

File ➤ Open Recent

اسکچ‌های داخلی IDE آردوینو

File ➤ Examples

پیدا کردن و جایگزینی متن در اسکچ

Edit ➤ Find

کتابخانه‌های آردوینو و موارد مرتبط

Sketch ➤ Include Library

نمایش دیتای سریالی به مانیتور سریالی

Tools ➤ Serial Monitor

نمایش گرافیکی دیتای سریالی

Tools ➤ Serial Plotter

توصیف میکروکنترلر برای مثال arduino/Genuino uno

Tools ➤ Board

جزئیات پورت سریالی

به عنوان مثال CoM3 arduino/Genuino uno

Tools ➤ Port

جدول 1. گزینه‌های منوی کشویی در IDE آردوینو

اسکچ IDE آردوینو

یک اسکچ IDE آردوینو شامل سه بخش می‌باشد: تعریف متغیر، توابع ()void setup و void loop. بخش اول شامل تعریف Pin‌های آردوینو متصل به سنسورها، LED ها، یا دستگاه‌ها بوده و مقادیر متغیرها را بیان می‌کند. به عنوان مثال دستور int LEDpin = 9 متغیری به نام LEDpin را با مقدار عدد صحیح 9 تعریف می‌کند.

کارکرد ()void setup تعاریف بخش اول اسکچ را پیاده سازی و تنها یکبار اجرا می‌کند. به عنوان مثال دستور pinMode(LEDpin, OUTPUT)  پین 9 آردوینو را به عنوان Pin خروجی تعریف می‌کند و آن را Pin ورودی طبق پیش‌فرض در نظر نمی گیرد، زیرا LEDpin مقدار 9 را دارد.

کارکرد ()void loop  به صورت پیوسته دستورات اسکچ را اجرا و پیاده سازی می‌کند. به عنوان مثال، یک اسکچ ممکن است LED را در زمان‌های مشخص خاموش و روشن کند.

اعلام متغیرها در بخش اول اسکچ باعث می‌شود تا متغیر در آغاز اسکچ راحت تر آپدیت شود، و نیازی به چک کردن در طول اسکچ و آپدیت متغیرها در سراسر اسکچ نباشد.

کامنت‌ها با // نوشته می‌شوند، به عنوان مثال // Set LED to Pin 9   و توسط میکروکنترلر پیاده سازی نمی شوند. به جزء دو استثناء، تمام خطوط دستورات با یک نقطه ویرگول به پایان می‌رسد.

اجرای اسکچ چشمک ‌زن (Blink)

برای اسکچ چشمک زن، مراحل زیر را انجام دهید.

  1. آردوینو را با یک کابل USB به سریال به کامپیوتر یا لپ تاپ متصل کنید.
  2. در IDE آردوینو، File Examples 01. Basics ➤ Blink را انتخاب نمایید.
  3. بروی دکمه گردآوری (کامپایل) و آپلود کلیک کنید.

LED روی برد آردوینو هر ثانیه یکبار روشن وخاموش خواهد شد. به آردوینو خوش آمدید!

پیام خطای Problem uploading to board نشان می‌دهد که پورت سریال نیاز به آپدیت دارد. Tools ➤ Port را انتخاب و سپس پورت مناسب (به عنوان مثال COM3 یا COM4) را برای آردوینو انتخاب نمایید. به مرحله سوم بروید.

پیام خطای  An error occurred while uploading the sketch  نشان می‌دهد که توضیح میکروکنترلر نیاز به آپدیت دارد. گزینه Tools ➤ Board و بورد مرتبط (به عنوان مثال Genuino Uno) را انتخاب کنید. به مرحله سوم بروید.

توضیح الکتریسیته

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

مالش پارچه روی بادکنک باد شده نمونه­ی ساده ای از بار الکتریکی است. الکترون‌ها از پارچه جدا شده و وارد بادکنک می‌شوند، و بادکنک دارای بار منفی می‌شود. حال اگر بادکنک نزدیک به یک شی قرار گیرد، بادکنک به آن شی می‌چسبد. بار منفی بادکنک، الکترون‌های با بار منفی شی را دفع کرده، و بار مثبت مضاعفی را به بادکنک انتقال می‌دهند. چونکه بارهای منفی و مثبت یکدیگر را جذب می‌کنند، بادکنک به آن شی جذب خواهد شد.

تاثیر حرکت بار الکتریکی از شی به شی دیگر سال هاست که شناخته شده است. بیش از 2500 سال پیش، یونانی‌ها می‌دانستند که کهربای ساییده شده که رزین درخت فسیل شده است، می‌تواند اشیاء سبک مثل مو را جذب کند. واژه الکتریکی از واژه ی یونانی elektron به معنای کهربا گرفته شده است.

باتری در حال تخلیه منبع الکترون است و الکترون‌ها از پایانه منفی (آند) به پایانه مثبت (کاتد) منتقل می‌شوند. آند و کاتد از لغات یونانی anodos و kathodos گرفته شده اند و به همین علت K اختصار کاتد است. گرچه الکترون‌ها از آند به کاتد جریان می‌یابند، اما جریان متعارف از کاتد به آند، یا از مثبت به منفی، حرکت می‌کنند.

در توصیف الکتریسیته از اصطلاحات بار، ولتاژ، جریان و مقاومت استفاده می‌شود. مقایسه آب جاری از مخزن به سمت لوله‌ها مصداق خوبی برای به تصویر کشیدن برخی از اصطلاحات الکتریکی است (جدول 2).

مقایسه آب

پارامتر الکتریکی

مقدار آب موجود در مخزن

بار الکتریکی (کولومبوس، C)

فشار آب مخزن و انتهای لوله مخزن

ولتاژ (ولت، V)

نسبت جریان آب

جریان (آمپر یا amps ، A)

معکوس عرض لوله (مقاومت زیاد  لوله باریک)

مقاومت (اهم،Ω )

جدول 2. پارامتر الکتریکی و مقایسه آب

رابطه بین ولتاژ (V)، جریان (I) و مقاومت (R) به صورت قانون اهم V = I × R ، تعریف می‌شود.

بار بر حسب آمپر-ساعت (Ah) اندازه گیری می‌شود که به بار انتقال یافته توسط جریان یک آمپر برای یک ساعت اطلاق می‌شود. مدت زمانی که باتری می‌تواند جریان مورد نظر را تامین کند، بستگی به اندازه جریان دارد، مثل باتری AA هیدرید فلز نیکل (NiMH) با بار 2400 mAh. به عنوان مثال، با نسبت تخلیه 2400، 4800 یا 7200 mAh، باطری 60، 30 یا 20 دقیقه دوام خواهد داشت.

توان الکتریکی که بر حسب وات (W) اندازه گیری می‌شود، به نسبتی گفته می‌شود که انرژی بر حسب زمان واحد انتقال یافته و برابر با ضریب ولتاژ و جریان است.

بررسی دستورات LED چشمک زن (Blink)

اسکچ  Blink را می‌توان تغییر داد تا LED چشمک زن جداگانه ای را بغیر از LED بروی آردوینو ساخت. آردوینو خروجی 5 ولتی تنظیم شده را از پین 5 ولتی تامین می‌کند، اما مقاومت لازم است تا مطمئن شویم که جریان بالاتر از حداکثر جریان مجاز 20 mA LED نخواهد رفت. بدون مقاومت، جریان بالا منجر به آسیب به LED خواهد شد.

با استفاده از قانون اهم که طبق آن ولتاژ برابر با ضریب جریان و مقاومت است (یا V = I × R)، مقدار مقاومت (R) را می‌توان با توجه به ولتاژ (V) و جریان (I) مشخص، تعیین نمود. افت ولتاژ پیشرو در سراسر LED 2 ولت است، که حداقل ولتاژ مورد نیاز برای روشن شدن LED می‌باشد. با خروجی 5 ولت از آردوینو، در سراسر مقاومت، 3V=5V-2V وجود خواهد داشت (شکل 4).

اگر جریان مقاومت و LED حداکثرmA20  باشند، آنگاه بر اساس قانون اهم، مقدار مقاومت (R=V/I)=3/0. 02=150Ω برابر است با ولتاژ مقاومت تقسیم بر جریان موجود در مقاومت. مقاومت حداقل 150 اهمی می‌تواند از LED در برابر جریان مازاد محافظت کند و استفاده از مقاومت 220 اهمی بسیار رایج است.

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

توان موجود در مقاومت باید بررسی شود تا بزرگتر از حداکثر مقدار مجاز برای مقاومت نباشد. در مثالی، درجه بندی حداکثر توان مقاومت 250 mW است. با 3 ولت در مقاومت و حداکثر جریان 20 mA، آنگاه توان = V × I = 60mW خواهد بود که کمتر از مقدار حداکثری می‌باشد.

LED یک دیود است که به جریان اجازه می‌دهد تنها در یک جهت حرکت کند. پایه بلند LED آند و سمت مسطح LED در سمت کاتد است.

LED‌ها حاوی مواد نیمه هادی هستند که طول موج نور ساطع شده را تعیین می‌کنند: قرمز، سبز، آبی یا زرد. افت ولتاژ پیشروی LED‌های قرمز، زرد و سبز کمتر از LED‌های آبی و سفید هستند: به ترتیب 2. 0 ولت و 2. 9 ولت.

اگر LED و مقاومت به صورت سمت چپ شکل 1. 4 بهم متصل باشند، آنگاه LED  روشن خواهد ماند. اگر LED بهPin آردوینو متصل شود، آنگاه تغییر وضعیتPin از 5V (HIGH) به 0V (LOW) باعث خاموش و روشن شدن LED می‌گردد.

مدار اصلاح شده در سمت راست شکل 1. 4 دارای LED با آند متصل به پین 11 آردوینو است. روشن و خاموش کردن LED یک عملیات دیجیتالی یا دودویی (0 یا 1) است که نیاز به دستور digitalWrite برای پین 11 دارد تا بتواند باعث فعالسازی یا غیرفعالسازی منبع توان LED شود. در شکل 4 اتصالات این دو مثال با توجه به جدول 3 ارائه شده است.

شکل 4. چشمک زدن LED

قطعه

سمت چپ 1. 4

سمت راست شکل 1. 4

 

اتصال به

و به

اتصال به

و به

پایه بلند LED

آدروینو 5 ولتی

 

پین 11 آدروینو

 

پایه کوتاه LED

مقاومت 220 اهمی

GND آردوینو

مقاومت 220 اهمی

GND آردوینو

جدول 3. اتصالات برای LED

 LED به پین 11 آردوینو متصل شده است. در تابع ()void setup ، پین آردوینو بر اساس متغیر LEDpin تعریف شده که از آن به عنوانPin خروجی (OUTPUT) یاد می‌شود، بجای اینکه از پین INPUT برای ورودی استفاده شود، مثل اندازه‌گیری یک ولتاژ. در تابع void loop()، وضعیت پین 11 آردوینو به ترتیب از HIGH به LOW و LOW به HIGH در فواصل یک ثانیه ای تغییر می‌کند، که متناظر با تغییر ولتاژ خروجی درPin از 5 ولت به 0 ولت، یا بالعکس می‌باشد، بنابراین LED خاموش و روشن می‌شود.

کد 1. اسکچ چشمک LED

دستورات در کارتوابع () void setup و ()void loop در آکولاد آماده اند که شروع و پایان تابع را نشان می‌دهند و هدف دستورات تفسیر ساده تر اسکچ است.

اسکچ‌ها باید شامل هر دو تابع ()void setup و ()void loop  باشند، حتی اگر تابع فاقد دستور شود.

کامنت‌ها برای تفسیر اسکچ خیلی مفید هستند. کامنت متنی است که پس از کاراکتر // قرار می‌گیرد. چند خط کامنت را می‌توان به صورت /* و */ قرار داد، به عنوان مثال:

/* این اولین خط کامنت است، این دومین خط کامنت است، این آخرین خط کامنت است /*

حالت شماتیک سیم‌های قرمز و سیاه برای VCC (ولتاژ مثبت) و GND (اتصال به زمین) دارد و سیم‌های زرد، آبی یا سبز، قطعات الکترونیکی را به Pin‌های آردوینو متصل می‌کنند. به طور کلی، از سبز برای سیگنال ورودی و از زرد برای سیگنال خروجی آردوینو استفاده می‌شود.

 

مدولاسیون پهنای پالس

پین‌های آردوینو با علامت  از مدولاسیون عرض پالس (PWM) پشتیبانی نموده، سیگنال ثابت HIGH را با موج مربع جایگزین نموده که بین HIGH و LOW تغییر می‌کند و عرض پالس قابل تنظیم است(شکل 5). تاثیر PWM بر LED تغییر پیوسته روشنایی LED است، گرچه LED مکرراً در حال خاموش و روشن شدن است.

از PWM برای کنترل سرعت موتورها و تولید صدا استفاده می‌شود. فرکانس PWM بروی Pin‌های 5 و 6 آردوینو، 976 سیکل در هر ثانیه (هرتز یا Hz) است، بنابراین فاصله بین پالس‌ها که با خط چین سبز در شکل 5 نشان داده شده، 1. 024 ms است. اکثر افراد قادر به شناسایی سوسو زدن تصاویر بالای 400 هرتز نیستند، بنابراین LED که در 976 هرتز خاموش و روشن می‌شود، همیشه روشن بنظر می‌رسد.

موج مربعی توسط دستور ( مقدار ، پین) analogWrite با دیوتی سایکل (255/مقدار) تولید می‌شود، بنابراین دیوتی سایکل  0% و 100% متناظر با مقدار 0 یا 255 می‌باشند.

به عنوان مثال، در شکل 5، با یک منبع 5 ولت، PWM با دیوتی سایکل‌های 0، 25، 50، 75 و 100 درصد می‌توان به ترتیب ولتاژهای 0، 1.25، 2.5، 3.75 و 5 را ایجاد کرد. PWM مکانیزمی برای تامین سیگنال‌های آنالوگ از سیگنال دیجیتال 0 یا 5 ولت است، و در بسیاری از پروژه‌های این کتاب استفاده می‌شود.

شکل 5. مدولاسیون پهنای پالس

اسکچ از PWM برای تغییر روشنایی LED با نسبت تغییری که توسط متغیرهای زمان و افزایشی کنترل می‌شود، تغییر می‌کند.

کد 2. روشنایی LED و PWM

 

نمادهای // اشاره به OR دارد، بنابراین دستور if(bright <= 0 || bright >= 255) ncrem = -increm برابر است با “اگر متغیر bright کمتر یا معادل صفر، یا بزرگتر یا معادل 255 باشد، آنگاه علامت متغیرincrem  تغییر می‌کند”. دستور OR روشنایی افزایشی را به روشنایی کاهشی تغییر می‌دهد و بالعکس.

باز و ذخیره کردن اسکچ ها

برای باز کردن اسکچ ذخیره شده در IDE آردوینو، گزینه File Open را انتخاب کنید. نام فولدر حاوی اسکچ را انتخاب، گزینه Open را کلیک، اسکچ را انتخاب و بار دیگر Open را بزنید. به شکل دیگر می‌توانید گزینه File Open Recent را انتخاب نمایید. فهرست اسکچ هایی که اخیراً باز شده برای شما به نمایش گذاشته می‌شود، سپس می‌توانید بروی اسکچ مورد نظر خود کلیک کنید.

مکان پیشفرض ذخیره سازی اسکچ‌ها با انتخاب File Preferences در IDE آردوینو تعیین می‌شود. برای ذخیره اسکچ، File Save As را انتخاب کنید که فولدر پیشفرض اسکچ‌ها را باز نموده، و سپس نام فایل اسکچ را انتخاب و گزینه ذخیره (Save) را کلیک کنید.

از اسپیس (فاصله) نمی توان در نام فایل استفاده کرد، بنابراین از خط تیره استفاده کنید، مثل file_name. پس از ذخیره اسکچ، فولدر به صورت خودکار تولید شده و اسکچ در آن قرار می‌گیرد.

پس از اصلاح اسکچ در IDE آردوینو، نماد § پس از نام اسکچ قرار می‌گیرد که نشان می‌دهد تغییرات از زمان آخرین ذخیره سازی اسکچ، اعمال شده است. برای ذخیره اسکچ فعلی، File Save را انتخاب کنید. اگر تغییرات در اسکچ اعمال شود، آنگاه پس از ذخیره اسکچ، نماد § از بین می‌رود.

خلاصه

محیط برنامه نویسی آردوینو UNO R3 و آردوینو IDE در این فصل توضیح داده شد. معرفی برنامه نویسی آردوینو به کنترل خاموش و روشن شدن LED مربوط می‌شود. اسکچ چشمک زن برای تغییر روشنایی LED با استفاده از مدولاسیون عرض پالس، تغییر نمود. خلاصه الکتریسیته شامل قانون اهم به شما کمک می‌کند تا متوجه شویم که چگونه یک LED کار می‌کند و اینکه LED برای کاهش جریان به یک مقاومت نیاز دارد.

فهرست قطعات

 

Choose your Reaction!
دیدگاه خود را بنویسید

آدرس ایمیل شما منتشر نخواهد شد.

redronic.com