• زبان برنامه نویسی آردوینو اتصال و برنامه نویسی آردوینو برای مبتدیان

    از لحاظ تاریخی، نرم افزار آردوینو از یک محیط نرم افزاری یکپارچه (IDE) تشکیل شده است که به شما امکان می دهد کدهای نوشته شده را بنویسید، کامپایل کنید و روی سخت افزار آپلود کنید. محیط ArduinoIDE و خود زبان Wiring اساساً بر روی Processing و به طور غیرمستقیم بر روی C / C ++ استوار است. در واقع، Arduino IDE یک ابزار بزرگ است، نه برای سرگرمی، بلکه برای راحتی.

    حتی در ظاهر وآردوینوIDE وپردازش مشابه هستند


    برنامه (طرح) از چه چیزی تشکیل شده است؟
    هر برنامه، مهم نیست که چقدر پیچیده به نظر می رسد، از مجموعه های جداگانه تشکیل شده است بلوک هاکد، که با بریس های فرفری () نشان داده می شود. حداقل برنامه فقط به 2 بلوک نیاز دارد: راه اندازی و حلقه. وجود آنها در هر برنامه C ++ برای آردوینو اجباری است، در غیر این صورت می توانید در مرحله کامپایل با خطا مواجه شوید.
    void setup() () void loop() ()
    در تابع setup() تنظیمات اولیه متغیرها و رجیسترها انجام می شود. پس از اتمام setup()، کنترل به تابع loop() منتقل می شود، که یک حلقه نامتناهی است که در بدنه نوشته شده است (بین ( ) ). این دستورات هستند که تمام اعمال الگوریتمی کنترلر را انجام می دهند.

    سخت افزار «سلام, جهان!" - LED چشمک زن
    اولین آشنایی با آردوینو از نقطه اتصال نرم افزار و سخت افزار شروع می شود، چشمک زدن LED است.


    ابتدا باید حداقل برنامه را تکمیل کنید. برای آردوینو (به عنوان مثال، UNO)، ما یک LED را به پین ​​12 و GND وصل می کنیم (رنگ LED خود از ترجیحات شخصی انتخاب می شود).

    void setup() (pinMode(12، OUTPUT)؛ ) void loop() (digitalWrite(12، HIGH)؛ delay(100); digitalWrite(12، LOW); delay(900)؛ )
    Ctrl+C -> Ctrl+V، کامپایل، بارگذاری، قانون را انجام دهید. ما شاهد نمایش نوری هستیم که بیش از یک ثانیه طول نمی کشد. بیایید بفهمیم که چرا این اتفاق می افتد.

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

    چه اتفاقی بین{ } ?
    همانطور که می دانید، پین های آردوینو می توانند هم به عنوان ورودی و هم به عنوان خروجی کار کنند. وقتی می خواهیم چیزی را کنترل کنیم، باید پین کنترل را به حالت خروجی منتقل کنیم. این کار توسط یک عبارت در تابع انجام می شودبرپایی :
    pinMode (12، OUTPUT)؛ در این شرایط، بیان فراخوانی تابع . در pinMode، پین مشخص شده با شماره روی حالت مشخص شده (INPUT یا OUTPUT) تنظیم می شود. کدام پین و کدام حالت مورد نظر است در پرانتز مشخص شده است که با کاما از هم جدا شده اند. در مورد ما، می خواهیم پین دوازدهم به عنوان یک خروجی کار کند. OUTPUT یعنی خروجی، INPUT یعنی ورودی. مقادیر واجد شرایط مانند 12 و OUTPUT نامیده می شوند آرگومان های تابع . تعداد آرگومان های یک تابع به ماهیت تابع و اراده سازنده آن بستگی دارد. توابع می توانند به هیچ وجه بدون آرگومان باشند، همانطور که در مورد راه اندازی و حلقه وجود دارد.

    بعد به ترتیب به بلوک حلقه بروید:
    فراخوانی داخلی تابع digitalWrite. این برای ارائه یک صفر منطقی (LOW، 0 ولت) یا یک منطقی (HIGH، 5 ولت) به یک پایه مشخص طراحی شده است. 2 آرگومان به تابع digitalWrite ارسال می شود: عدد پین و یک مقدار منطقی.
    فراخوانی تابع تاخیر این، دوباره، یک عملکرد داخلی است که باعث می شود پردازنده برای مدت زمان مشخصی "خواب" کند. فقط یک استدلال لازم است: زمان در میلی ثانیه برای خواب. در مورد ما، این 100 میلی ثانیه است. به محض انقضای 100 میلی ثانیه، پردازنده بیدار می شود و بلافاصله به عبارت بعدی می رود.
    - فراخوانی تابع داخلی digitalWrite. فقط این بار آرگومان دوم LOW است. یعنی روی پین دوازدهم یک صفر منطقی می گذاریم -> 0 ولت می زنیم -> LED را خاموش می کنیم.
    - فراخوانی تابع تاخیر این بار کمی بیشتر می خوابیم - 900 میلی ثانیه.

    به محض اجرای آخرین تابع، بلوک حلقه به پایان می رسد و همه چیز دوباره و دوباره اتفاق می افتد. در واقع، شرایط ارائه شده در مثال کاملاً متغیر است و شما می توانید با مقادیر تاخیر بازی کنید، چندین LED را متصل کنید و آن را شبیه چراغ راهنمایی یا فلاشر پلیس کنید (همه به تخیل و اراده سازنده بستگی دارد. ).

    به جای نتیجه گیری، کمی در مورد پاکیزگی.
    در واقع، تمام فاصله ها، خطوط شکسته، کاراکترهای تب برای کامپایلر اهمیت زیادی ندارند. در جایی که فاصله وجود دارد، ممکن است یک خط شکسته شود و بالعکس. در واقع، 10 فاصله پشت سر هم، 2 شکست خط و 5 فاصله بیشتر معادل یک فاصله است.


    با کمک فضای خالی، می توانید برنامه را قابل درک و بصری کنید، یا برعکس، آن را غیرقابل تشخیص قطع کنید. به عنوان مثال، برنامه ارائه شده به عنوان مثال را می توان به صورت زیر تغییر داد:

    void setup() (pinMode(12، OUTPUT)؛ ) void loop () (digitalWrite(12,HIGH); delay(100)؛ digitalWrite(12،LOW); delay(900)؛ )

    برای جلوگیری از خونریزی از چشم افراد هنگام مطالعه، می توانید چند قانون ساده را دنبال کنید:


    1. همیشه، در شروع یک بلوک جدید بین(و) تورفتگی را افزایش دهید معمولا از 2 یا 4 فضا استفاده می شود. یکی از مقادیر را انتخاب کنید و به آن پایبند باشید.

    حلقه خالی () ( digitalWrite (12، HIGH)؛ تاخیر (100)؛ digitalWrite (12، LOW)؛ تاخیر (900)؛ )
    2. مانند زبان عادی: بعد از کاما فاصله بگذارید.

    digitalWrite (12، HIGH);
    3. کاراکتر شروع بلوک (در یک خط جدید در سطح تورفتگی فعلی، یا در انتهای خط قبلی. و کاراکتر پایان بلوک) را در یک خط جداگانه در سطح تورفتگی فعلی قرار دهید:

    void setup() (pinMode(12، OUTPUT)؛ ) void setup() (pinMode(12، OUTPUT)؛ )
    4. از خطوط خالی برای جداسازی بلوک های معنایی استفاده کنید:

    حلقه void() ( digitalWrite(12, HIGH)؛ delay(100)؛ digitalWrite(12, LOW)؛ delay(900)؛ digitalWrite(12, HIGH); delay(100)؛ digitalWrite(12, LOW)؛ delay( 900)
    5. برای اینکه مطالعه ذهن شما خوشایند باشد، به اصطلاح نظراتی وجود دارد. اینها ساختارهایی در کد برنامه هستند که توسط کامپایلر کاملاً نادیده گرفته می شوند و فقط برای شخصی که آن را می خواند اهمیت دارند. نظرات می توانند چند خطی یا تک خطی باشند:

    /* این یک نظر چند خطی است */ // این یک خط است

    سلام! من آلیکین الکساندر سرگیویچ هستم، معلم آموزش تکمیلی، من محافل "رباتیک" و "مهندسی رادیو" را در تئاتر مرکزی کودکان و نوجوانان لابینسک رهبری می کنم. من می خواهم کمی در مورد یک روش ساده برای برنامه ریزی آردوینو با استفاده از برنامه ArduBloсk صحبت کنم.

    من این برنامه را وارد فرآیند آموزشی کردم و از نتیجه آن خوشحالم، به ویژه هنگام نوشتن برنامه های ساده یا برای ایجاد برخی از مراحل اولیه برنامه های پیچیده، تقاضای ویژه ای در بین کودکان دارد. ArduBloсk یک محیط برنامه نویسی گرافیکی است، یعنی تمام اقدامات با تصاویر ترسیم شده با اقدامات امضا شده به زبان روسی انجام می شود که یادگیری پلت فرم آردوینو را بسیار ساده می کند. بچه های کلاس دوم به لطف این برنامه می توانند به راحتی در کار با آردوینو تسلط پیدا کنند.

    بله، برخی ممکن است بگویند که Scratch هنوز وجود دارد و همچنین یک محیط گرافیکی بسیار ساده برای برنامه نویسی آردوینو است. اما اسکرچ آردوینو را فلش نمی کند و فقط با استفاده از کابل USB آن را کنترل می کند. آردوینو به کامپیوتر وابسته است و نمی تواند به طور مستقل کار کند. هنگام ایجاد پروژه های خود، استقلال آردوینو مهمترین چیز است، به خصوص هنگام ایجاد دستگاه های رباتیک.

    با ظهور برنامه ArduBloсk در برنامه نویسی آردوینو، حتی ربات های معروف لگو، مانند NXT یا EV3، دیگر برای دانش آموزان ما جالب نیستند. همچنین، آردوینو بسیار ارزان‌تر از هر طراح لگو است و بسیاری از قطعات را می‌توان به سادگی از لوازم الکترونیکی مصرفی قدیمی گرفت. برنامه ArduBloсk نه تنها به مبتدیان، بلکه به کاربران فعال پلت فرم Arduino در کار خود کمک می کند.

    بنابراین، ArduBlock چیست؟همانطور که گفتم این یک محیط برنامه نویسی گرافیکی است. تقریباً به طور کامل به روسی ترجمه شده است. اما در ArduBloсk نکته قابل توجه فقط این نیست، بلکه این واقعیت است که برنامه ArduBloсk نوشته شده توسط ما به کد IDE آردوینو تبدیل می شود. این برنامه در محیط برنامه نویسی Arduino IDE تعبیه شده است، یعنی یک افزونه است.

    در زیر نمونه ای از یک LED چشمک زن و یک برنامه تبدیل شده در Arduino IDE آورده شده است. تمام کار با برنامه بسیار ساده است و هر دانش آموزی می تواند آن را درک کند.

    در نتیجه کار بر روی برنامه، نه تنها می‌توانید آردوینو را برنامه‌نویسی کنید، بلکه دستوراتی را که برای ما غیرقابل درک است در قالب متن آردوینو IDE مطالعه کنید، اما اگر برای نوشتن دستورات استاندارد تنبل هستید، باید سریع ترسیم کنید. یک برنامه ساده در ArduBlok با دستکاری سریع ماوس تهیه کنید و آن را در Arduino IDE اشکال زدایی کنید.

    برای نصب ArduBlok، ابتدا باید Arduino IDE را از وب سایت رسمی آردوینو دانلود و نصب کنید و تنظیمات را هنگام کار با برد Arduino UNO درک کنید. نحوه انجام این کار در همان سایت یا در آمپرک توضیح داده شده است یا به یوتیوب نگاه کنید. خوب، وقتی همه اینها را فهمیدید، باید ArduBlok را از وب سایت رسمی، اینجا دانلود کنید. من دانلود آخرین نسخه ها را توصیه نمی کنم، آنها برای مبتدیان بسیار دشوار هستند، اما نسخه 2013-07-12 مهم ترین است، این فایل در آنجا محبوب ترین است.

    سپس، نام فایل دانلود شده را به ardublock-all و در پوشه "documents" تغییر می دهیم. پوشه های زیر را ایجاد کنید: Arduino > tools > ArduBlockTool > tool و در دومی فایل دانلود شده و تغییر نام داده شده را می اندازیم. ArduBlok روی همه سیستم عامل ها کار میکنه حتی روی لینوکس، من شخصا روی XP، Win7، Win8 تست کردم، همه نمونه ها برای Win7 هستند. نصب برنامه برای همه سیستم ها یکسان است.

    خوب، اگر راحت تر است، من یک بایگانی در Mail-disk 7z آماده کردم که در آن 2 پوشه را باز می کنید. در یکی، برنامه Arduino IDE از قبل کار می کند و در پوشه دیگر، محتویات باید به پوشه اسناد ارسال شوند.

    برای کار در ArduBlok، باید Arduino IDE را اجرا کنید. سپس به تب Tools می رویم و در آنجا آیتم ArduBlok را پیدا می کنیم، روی آن کلیک می کنیم - و هدف ما اینجاست.

    حال به رابط کاربری برنامه می پردازیم. همانطور که قبلاً فهمیدید، هیچ تنظیماتی در آن وجود ندارد، اما آیکون های زیادی برای برنامه نویسی وجود دارد و هر یک از آنها فرمانی را در قالب متن Arduino IDE حمل می کنند. حتی آیکون های بیشتری در نسخه های جدید وجود دارد، بنابراین مقابله با آخرین نسخه ArduBlok دشوار است و برخی از آیکون ها به روسی ترجمه نمی شوند.

    در بخش "مدیریت" انواع چرخه ها را خواهیم یافت.

    در بخش "پورت ها" می توانیم مقادیر پورت ها و همچنین ساطع کننده های صدا، سرووها یا حسگرهای مجاورت اولتراسونیک متصل به آنها را مدیریت کنیم.

    در بخش «اعداد / ثابت»، می‌توانیم مقادیر دیجیتالی را انتخاب کنیم یا یک متغیر ایجاد کنیم، اما بعید است که از یکی از موارد زیر استفاده کنید.

    در بخش "اپراتورها"، ما تمام عملگرهای مقایسه و محاسبه لازم را خواهیم یافت.

    بخش Utilities بیشتر از آیکون ها در طول زمان استفاده می کند.

    "TinkerKit Bloks" بخشی برای سنسورهای خریداری شده TinkerKit است. البته ما چنین مجموعه ای نداریم، اما این بدان معنا نیست که آیکون ها برای مجموعه های دیگر کار نمی کنند، برعکس، استفاده از آیکون هایی مانند روشن کردن LED یا دکمه برای بچه ها بسیار راحت است. . این علائم تقریبا در همه برنامه ها استفاده می شود. اما آنها یک ویژگی دارند - هنگام انتخاب آنها، نمادهای نادرستی وجود دارد که پورت ها را نشان می دهد، بنابراین باید حذف شوند و نماد قسمت "اعداد / ثابت" باید در بالای لیست جایگزین شود.

    "DF Robot" - اگر سنسورهایی در آن مشخص شده باشد از این بخش استفاده می شود، گاهی اوقات آنها پیدا می شوند. و مثال امروز ما نیز از این قاعده مستثنی نیست، ما "سوئیچ IR قابل تنظیم" و "سنسور خط" را داریم. "سنسور خط" با آنچه در تصویر است متفاوت است، همانطور که از Amperka است. اقدامات آنها یکسان است، اما سنسور Amperka بسیار بهتر است، زیرا دارای یک تنظیم کننده حساسیت است.

    Seeedstudio Grove - من هرگز از سنسورهای این بخش استفاده نکرده ام، اگرچه فقط جوی استیک وجود دارد. این بخش در نسخه های جدید گسترش یافته است.

    و آخرین بخش "کیت لینکر" است. سنسورهای ارائه شده در آن به من برخورد نکردند.

    من می خواهم نمونه ای از یک برنامه را بر روی رباتی که در امتداد نوار حرکت می کند نشان دهم. این ربات بسیار ساده است، هم در مونتاژ و هم در اکتساب، اما اول از همه. بیایید با به دست آوردن و مونتاژ آن شروع کنیم.

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

    1. محافظ موتور AMP-B001 (2 کانال، 2 A) 1890 روبل
    2. AMP-B017 Troyka Shield 1690 روبل
    3. AMP-X053 محفظه باتری 3×2 AA 1 60 روبل
    4. سنسور خطی AMP-B018 دیجیتال 2 580 روبل
    5. ROB0049 پلت فرم دو چرخ miniQ 1 1890 روبل
    6. سنسور موانع مادون قرمز SEN0019 1 390 RUB
    7. پایه FIT0032 برای سنسور موانع مادون قرمز 1 90 RUB
    8. A000066 Arduino Uno 1 1150 RUB

    برای شروع، ما پلت فرم چرخدار را جمع می کنیم و سیم ها را به موتورها لحیم می کنیم.

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

    سپس برد Arduino UNO را به این قفسه‌ها وصل می‌کنیم، اما نمی‌توانیم یک پیچ را ببندیم - کانکتورها مانع می‌شوند. البته می توانید آنها را لحیم کنید، اما این به شما بستگی دارد.

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

    حالا سنسورهای خط دیجیتال نصب می کنیم، اینجا باید دنبال یک جفت پیچ و 4 مهره برای آنها بگردیم، دو مهره بین خود پلت فرم و سنسور خط نصب می کنیم و با بقیه سنسورها را درست می کنیم.

    نصب بعدی Motor Shield یا به روش دیگری می توانید با درایور موتور تماس بگیرید. در مورد ما، به جامپر توجه کنید. ما از منبع تغذیه جداگانه برای موتورها استفاده نخواهیم کرد، بنابراین در این موقعیت نصب می شود. قسمت پایینی با نوار برق مهر و موم شده است تا در هر صورت اتصال کوتاه تصادفی از کانکتور USB آردوینو UNO ایجاد نشود.

    Troyka Shield را در بالای Motor Shield نصب کنید. برای راحتی اتصال سنسورها لازم است. تمام سنسورهایی که ما استفاده می کنیم دیجیتال هستند، بنابراین سنسورهای خط به پورت های 8 و 9 متصل می شوند که به آنها پین نیز می گویند و سنسور مانع مادون قرمز به پورت 12 متصل می شود. حتما توجه داشته باشید که نمی توانید از پورت های 4، 5، 6، 7 استفاده کنید زیرا موتور شیلد برای کنترل موتورها از آن ها استفاده می کند. من حتی روی این پورت‌ها را با یک نشانگر قرمز رنگ زدم تا دانش‌آموزان بتوانند آن را بفهمند.

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

    اتصالات محفظه باتری می تواند 2 نوع باشد. اولین اتصال سیم به Troyka Shield. همچنین امکان لحیم کردن دوشاخه برق و اتصال آن به خود برد آردوینو UNO وجود دارد.

    در اینجا ربات ما آماده است. قبل از شروع برنامه نویسی، باید یاد بگیرید که چگونه همه چیز کار می کند، یعنی:
    - موتورها:
    پورت 4 و 5 برای کنترل یک موتور و 6 و 7 دیگری استفاده می شود.
    سرعت چرخش موتورها را با PWM در پورت های 5 و 6 تنظیم می کنیم.
    جلو یا عقب با سیگنال دادن درگاه های 4 و 7.
    - حسگرها:
    همه ما دیجیتال هستیم، بنابراین آنها سیگنال های منطقی را به شکل 1 یا 0 می دهند.
    و برای تنظیم آنها دارای رگلاتورهای مخصوص هستند و با کمک پیچ گوشتی مناسب می توان آنها را کالیبره کرد.

    جزئیات را می توانید در Amperka پیدا کنید. چرا اینجا؟ زیرا اطلاعات زیادی در مورد کار با آردوینو وجود دارد.

    خوب، ما، شاید، به همه چیز به صورت سطحی نگاه کردیم، مطالعه کردیم و، البته، ربات را مونتاژ کردیم. اکنون باید برنامه ریزی شود، اینجاست - برنامه مدتها در انتظار!

    و برنامه به Arduino IDE تبدیل شد:

    Void setup() (pinMode(8, INPUT)؛ pinMode(12, INPUT)؛ pinMode(9, INPUT)؛ pinMode(4, OUTPUT)؛ pinMode(7 , OUTPUT)؛ pinMode(5، OUTPUT)؛ pinMode(6 , OUTPUT); ) void loop() ( if (digitalRead(12)) ( if (digitalRead(8)) ( if (digitalRead(9)) ( digitalWrite(4 , HIGH); analogWrite(5, 255) analogWrite( 6, 255)؛ digitalWrite(7 , HIGH); ) else (digitalWrite(4, HIGH)؛ analogWrite(5, 255); analogWrite(6, 50); digitalWrite(7 , LOW); )) else (اگر (digitalRead) (9)) ( digitalWrite(4 , LOW)؛ analogWrite(5, 50) analogWrite(6, 255)؛ digitalWrite(7 , HIGH)؛ ) other ( digitalWrite(4 , HIGH); analogWrite(5, 255)؛ analogWrite(6, 255)؛ digitalWrite (7 , HIGH); ) ) ) other (digitalWrite(4, HIGH); analogWrite(5, 0); analogWrite(6, 0); digitalWrite(7 , HIGH); ))

    در پایان می خواهم بگویم که این برنامه فقط یک موهبت الهی برای آموزش است حتی برای خودآموزی به شما کمک می کند تا دستورات Arduino IDE را یاد بگیرید. مهمترین نکته این است که با بیش از 50 نماد نصب، شروع به "شکست" می کند. بله، در واقع، این یک نکته برجسته است، زیرا برنامه نویسی مداوم فقط در ArduBlok به شما یاد نمی دهد که چگونه در Arduino IDE برنامه ریزی کنید. به اصطلاح "شکلی" امکان تفکر و تلاش برای به خاطر سپردن دستورات برای اشکال زدایی دقیق برنامه ها را فراهم می کند.

    آرزو می کنم موفق شوی.

    به نظر می رسد یادگیری میکروکنترلرها چیزی پیچیده و غیرقابل درک است؟ قبل از ظهور آرودینو، این کار واقعاً آسان نبود و به مجموعه خاصی از برنامه نویسان و تجهیزات دیگر نیاز داشت.

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

    مونتاژ پیچیده ترین مدارها و اتصال تخته ها را می توان بدون آهن لحیم کاری، اما با کمک جامپرهایی با اتصالات نر و ماده جداشدنی انجام داد. به این ترتیب می توان هر دو ضمیمه و تخته های توسعه را به هم متصل کرد که در فرهنگ لغت آردوینوشیکوف به سادگی "سپر" (سپر) نامیده می شود.

    اولین برد آردوینو که به عنوان مبتدی خریداری می شود چیست؟

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

    در فروشگاه های داخلی برای سال 2017، قیمت آن حدود 4-5 دلار است. در مدل های مدرن قلب آن Atmega328 است.

    تصویر برد آردوینو و رمزگشایی عملکرد هر پین، پین اوت آردوینو UNO

    میکروکنترلر روی این برد یک تراشه بلند در بسته بندی DIP28 می باشد که به این معنی است که دارای 28 پایه می باشد.

    تابلوی محبوب بعدی تقریباً دو برابر ارزانتر از قبلی است - 2-3 دلار. این یک هزینه است. بردهای فعلی بر روی همان Atmega328 ساخته شده اند، آنها از نظر عملکردی مشابه UNO هستند، تفاوت ها در اندازه و راه حل تطبیق USB است، در ادامه بیشتر در مورد آن صحبت خواهیم کرد. تفاوت دیگر این است که فیش هایی به شکل سوزن برای اتصال دستگاه ها به برد در نظر گرفته شده است.

    تعداد پایه‌های این برد یکسان است، اما مشاهده می‌کنید که میکروکنترلر در پکیج فشرده‌تر TQFP32 ساخته شده است، ADC6 و ADC7 به بسته اضافه می‌شوند، دو پایه دیگر «اضافی» گذرگاه برق را کپی می‌کنند. . ابعاد آن کاملاً جمع و جور است - تقریباً به اندازه انگشت شست شما.

    سومین برد پرطرفدار این است که پورت USB برای اتصال به کامپیوتر ندارد، کمی بعد به شما خواهم گفت که چگونه اتصال برقرار می شود.

    این کوچکترین برد از همه بررسی شده است وگرنه مشابه دو تای قبلی است و قلبش همچنان Atmega328 است. ما تابلوهای دیگر را در نظر نخواهیم گرفت، زیرا این مقاله برای مبتدیان است و مقایسه تابلوها موضوعی برای مقاله جداگانه است.

    در قسمت بالایی، نمودار اتصال USB-UART، پین "GRN" به مدار تنظیم مجدد میکروکنترلر متصل شده است، می توان آن را متفاوت نامید، بعداً متوجه خواهید شد که چرا این مورد نیاز است.

    اگر UNO برای نان برد مفید است، Nano و Pro Mini برای نسخه های نهایی پروژه شما مناسب هستند زیرا فضای کمی را اشغال می کنند.

    چگونه آردوینو را به کامپیوتر متصل کنیم؟

    Arduino Uno و Nano از طریق USB به کامپیوتر متصل می شوند. در عین حال، هیچ پشتیبانی سخت افزاری برای پورت USB وجود ندارد؛ یک راه حل مدار تبدیل سطح، که معمولا USB-to-Serial یا USB-UART (rs-232) نامیده می شود، در اینجا استفاده می شود. همزمان بوت لودر مخصوص آردوینو به داخل میکروکنترلر فلش می شود که امکان فلش زدن از طریق این اتوبوس ها را فراهم می کند.

    Arduino Uno این اتصال را روی یک میکروکنترلر با پشتیبانی از USB - ATmega16U2 (AT16U2) پیاده سازی می کند. به نظر می رسد که برای فلش میکروکنترلر اصلی به یک میکروکنترلر اضافی روی برد نیاز است.

    در آردوینو نانو، این کار توسط تراشه FT232R یا همتای CH340 آن اجرا می‌شود. این یک میکروکنترلر نیست - یک مبدل سطح است، این واقعیت ساخت یک آردوینو نانو را از ابتدا با دستان خود آسان می کند.

    معمولاً با اتصال برد آردوینو درایورها به صورت خودکار نصب می شوند. با این حال، وقتی یک نسخه چینی از آردوینو نانو خریدم، دستگاه شناسایی شد، اما کار نکرد، یک برچسب گرد با تاریخ انتشار روی مبدل چسبانده شده بود، نمی دانم که آیا این کار عمدی انجام شده است یا خیر، اما وقتی پوستش را جدا کردم، علامت CH340 را دیدم.

    قبل از آن، من با این مواجه نشدم و فکر می کردم که تمام مبدل های USB-UART بر روی FT232 مونتاژ شده اند، من مجبور شدم درایورها را دانلود کنم، آنها را با درخواست "درایورهای Arduino ch340" بسیار آسان می توان پیدا کرد. پس از یک نصب ساده - همه چیز کار کرد!

    میکروکنترلر همچنین می تواند از طریق همان پورت USB تغذیه شود، یعنی. اگر آن را به آداپتور تلفن همراه وصل کنید، سیستم شما کار خواهد کرد.

    اگر USB روی برد من وجود ندارد، چه کاری باید انجام دهم؟

    برد آردوینو پرو مینی کوچکتر است. این با حذف کانکتور USB برای سیستم عامل و همان مبدل USB-UART به دست آمد. بنابراین، باید جداگانه خریداری شود. ساده ترین مبدل در CH340 (ارزان ترین)، CPL2102 و FT232R، به قیمت 1 دلار به فروش می رسد.

    در هنگام خرید توجه کنید که این آداپتور برای چه ولتاژی طراحی شده است. Pro mini در نسخه های 3.3 و 5 ولتی عرضه می شود، اغلب روی مبدل ها یک بلوز برای تغییر ولتاژ تغذیه وجود دارد.

    هنگام فلش Pro Mini، درست قبل از شروع آن، باید RESET را فشار دهید، اما در مبدل های دارای DTR این کار ضروری نیست، نمودار اتصال در شکل زیر است.

    آنها با پایانه های ویژه "مادر-مادر" (زن-زن) متصل می شوند.

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

    چگونه برای آردوینو برنامه بنویسیم؟

    برای کار با طرح ها (نام سیستم عامل به زبان آردوینو)، یک محیط یکپارچه ویژه برای توسعه Arduino IDE وجود دارد، می توانید آن را به صورت رایگان از وب سایت رسمی یا از هر منبع موضوعی دانلود کنید، معمولاً بدون مشکل نصب

    رابط برنامه به این صورت است. شما می توانید برنامه ها را به زبان C AVR ساده شده بنویسید که مخصوص آردوینو توسعه یافته است، در واقع مجموعه ای از کتابخانه ها به نام Wiring و همچنین در C AVR خالص است. که استفاده از آن کد را تسهیل می کند و کار آن را سرعت می بخشد.

    در بالای پنجره یک منوی آشنا وجود دارد که در آن می توانید یک فایل، تنظیمات را باز کنید، بردی را که با آن کار می کنید (Uno، Nano و بسیاری از موارد دیگر) انتخاب کنید و همچنین پروژه ها را با نمونه کدهای آماده باز کنید. در زیر مجموعه ای از دکمه ها برای کار با فریمور قرار داده شده است که در شکل زیر تخصیص کلیدها را مشاهده خواهید کرد.

    در قسمت پایین پنجره یک منطقه برای نمایش اطلاعات در مورد پروژه، در مورد وضعیت کد، سیستم عامل و وجود خطا وجود دارد.

    مبانی برنامه نویسی در آردوینو IDE

    در ابتدای کد، باید متغیرها را اعلام کنید و کتابخانه های اضافی را در صورت وجود متصل کنید، این کار به صورت زیر انجام می شود:

    #include biblioteka.h; // شامل کتابخانه ای به نام "Biblioteka.h"

    #define متغیر 1234; // یک متغیر با مقدار 1234 اعلام کنید

    دستور Define به کامپایلر اجازه می دهد تا نوع متغیر را خود انتخاب کند، اما می توانید آن را به صورت دستی تنظیم کنید، به عنوان مثال، یک عدد صحیح یا یک شناور ممیز شناور.

    int led = 13; // یک متغیر "led" ایجاد کرد و مقدار "13" را به آن اختصاص داد.

    این برنامه می تواند وضعیت پین را 1 یا 0 تعریف کند. 1 یک واحد منطقی است، اگر پایه 13 1 باشد، ولتاژ روی پایه فیزیکی آن برابر با ولتاژ تغذیه میکروکنترلر خواهد بود (برای arduino UNO و Nano - 5 V )

    یک سیگنال دیجیتال با استفاده از دستور digitalWrite(pin, value) نوشته می شود، به عنوان مثال:

    digitalWrite (led، high); //record unit در پین 13 (ما آن را در بالا اعلام کردیم). واحدها

    همانطور که متوجه شدید، جذابیت پورت ها بر اساس شماره گذاری روی برد، شماره مربوطه انجام می شود. در اینجا یک مثال مشابه با کد قبلی آورده شده است:

    digitalWrite (13، بالا); // پایه 13 را به یک تنظیم کنید

    یک تابع تاخیر زمانی که اغلب درخواست می شود با دستور delay() فراخوانی می شود که مقدار آن بر حسب میلی ثانیه داده می شود، میکروثانیه با استفاده از آن به دست می آید.

    delayMicroseconds() Delay(1000); //میکروکنترلر 1000 میلی‌ثانیه (1 ثانیه) صبر می‌کند

    تنظیمات پورت برای ورودی و خروجی در تابع void setup() با دستور زیر تنظیم می شود:

    pinMode (NOMERPORTA، OUTPUT/INPUT)؛ // آرگومان ها - نام متغیر یا شماره پورت، ورودی یا خروجی برای انتخاب

    آشنایی با اولین برنامه Blink

    به عنوان نوعی "Hello, world" برای میکروکنترلرها، برنامه ای برای چشمک زدن LED وجود دارد، بیایید به کد آن نگاه کنیم:

    در ابتدا با دستور pinMode به میکروکنترلر گفتیم که پورت LED را به خروجی اختصاص دهد. قبلاً متوجه شده اید که کد متغیر "LED_BUILTIN" را اعلام نمی کند، واقعیت این است که در بردهای Uno، Nano و سایر بردهای کارخانه، یک LED داخلی به پایه 13 وصل شده و روی برد لحیم می شود. شما می توانید از آن برای نشان دادن در پروژه های خود یا برای آزمایش ساده برنامه های فلاشر خود استفاده کنید.

    سپس پینی که LED به آن لحیم شده است را روی یک (5 ولت) قرار می دهیم، خط بعدی MK را 1 ثانیه منتظر می کند و سپس پایه LED_BUILTIN را صفر می کند، یک ثانیه صبر می کند و برنامه به صورت دایره ای تکرار می شود. وقتی LED_BUILTIN 1 است - LED (و هر بار دیگری که به پورت متصل است) فعال است، وقتی روی 0 تنظیم شود غیرفعال می شود.

    مقدار را از درگاه آنالوگ بخوانید و از داده های خوانده شده استفاده کنید

    میکروکنترلر AVR Atmega328 دارای مبدل 10 بیتی آنالوگ به دیجیتال داخلی است. یک ADC 10 بیتی به شما امکان می دهد مقدار ولتاژ را از 0 تا 5 ولت در مراحل 1/1024 کل دامنه سیگنال (5 ولت) بخوانید.

    برای روشن تر شدن موضوع، وضعیت را در نظر بگیرید، فرض کنید مقدار ولتاژ در ورودی آنالوگ 2.5 ولت است، به این معنی که اگر ولتاژ 0 - "0" باشد، میکروکنترلر مقدار را از پایه "512" می خواند و اگر ولتاژ 5 ولت باشد. - (1023). 1023 - زیرا شمارش از 0 شروع می شود، یعنی. 0، 1، 2، 3 و غیره تا 1023 - 1024 مقدار در کل.

    در اینجا چگونه در کد به نظر می رسد، با استفاده از طرح استاندارد "analogInput" به عنوان مثال.

    int sensorPin = A0;

    int ledPin = 13;

    int sensorValue = 0;

    pinMode (ledPin، OUTPUT)؛

    sensorValue = analogRead(sensorPin);

    digitalWrite (ledPin، HIGH)؛

    تأخیر (sensorValue)؛

    digitalWrite (ledPin، LOW)؛

    تأخیر (sensorValue)؛

    متغیرها را اعلام می کنیم:

      Ledpin - به طور مستقل یک پین با LED داخلی را به خروجی اختصاص دهید و نام فردی را انتخاب کنید.

      sensorPin - ورودی آنالوگ، با توجه به علامت گذاری روی تخته تنظیم شده است: A0، A1، A2 و غیره.

      sensorValue - متغیری برای ذخیره مقدار صحیح خوانده شده و کار بیشتر با آن.

    کد به این صورت عمل می کند: sensorValue مقدار آنالوگ خوانده شده از sensorPin (فرمان analogRead) را ذخیره می کند. - در اینجا کار با سیگنال آنالوگ به پایان می رسد، سپس همه چیز مانند مثال قبلی است.

    ما یک واحد در ledPin می نویسیم، LED روشن می شود و برای مدت زمانی برابر با مقدار sensorValue، یعنی. 0 تا 1023 میلی ثانیه LED را خاموش می کنیم و دوباره برای این مدت زمان صبر می کنیم و پس از آن کد تکرار می شود.

    بنابراین، با موقعیت پتانسیومتر، فرکانس چشمک زدن LED را تنظیم می کنیم.

    تابع نقشه برای آرودینو

    همه عملکردهای محرک ها (من هیچ کدام را نمی شناسم) از "1023" به عنوان آرگومان پشتیبانی نمی کنند، به عنوان مثال، سروو با زاویه چرخش محدود می شود، یعنی برای نیم چرخش (180 درجه) (نیم دور) موتور سروو. حداکثر آرگومان تابع "180" است

    حالا در مورد نحو: map (مقداری که ترجمه می کنیم، حداقل مقدار ورودی، حداکثر مقدار ورودی، حداقل خروجی، حداکثر مقدار خروجی).

    در کد به شکل زیر است:

    (نقشه(analogRead(pot), 0, 1023, 0, 180));

    مقدار را از پتانسیومتر (analogRead (pot)) از 0 تا 1023 می خوانیم و در خروجی اعداد 0 تا 180 را دریافت می کنیم.

    مقادیر نقشه بزرگی:

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

    و یک نمودار سیم کشی

    آردوینو یک ابزار بسیار کاربردی برای یادگیری نحوه کار با میکروکنترلرها است. و اگر از C AVR خالص یا همانطور که گاهی اوقات به آن "C خالص" می گویند - استفاده می کنید - وزن کد را به میزان قابل توجهی کاهش می دهید و بیشتر در حافظه میکروکنترلر جا می شود و در نتیجه یک کارخانه عالی تولید خواهید کرد. برد اشکال زدایی با قابلیت فلش از طریق USB.

    من آردوینو را دوست دارم. حیف است که بسیاری از برنامه نویسان میکروکنترلر باتجربه او را بی دلیل سرزنش می کنند که او خیلی ساده شده است. در اصل، فقط زبان ساده شده است، اما هیچ کس شما را مجبور به استفاده از آن نمی کند، به علاوه می توانید میکروکنترلر را از طریق کانکتور ICSP فلش کنید و کد مورد نظر خود را در آنجا آپلود کنید، بدون هیچ بوت لودر غیر ضروری.

    برای کسانی که می خواهند با الکترونیک بازی کنند، به عنوان یک طراح پیشرفته، عالی خواهد بود و برای برنامه نویسان با تجربه، به عنوان یک برد که نیاز به مونتاژ ندارد، نیز مفید خواهد بود!

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

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

    آردوینو چیست؟

    چگونه می توانید به طور خلاصه آردوینو را توصیف کنید؟ بهترین کلمات این است: آردوینو ابزاری است که با آن می توانید دستگاه های الکترونیکی مختلفی ایجاد کنید. در واقع، این یک پلت فرم محاسباتی سخت افزاری واقعی برای استفاده جهانی است. می توان از آن هم برای ساخت مدارهای ساده و هم برای اجرای پروژه های نسبتاً پیچیده استفاده کرد.

    سازنده بر اساس سخت افزار آن است که یک برد I/O است. این برد با استفاده از زبان های مبتنی بر C/C++ برنامه ریزی شده است. آنها به ترتیب Processing/Wiring نامگذاری شدند. از گروه C ، آنها سادگی بسیار زیادی را به ارث برده اند ، به همین دلیل هر شخصی خیلی سریع بر آنها مسلط می شود و استفاده از دانش در عمل مشکل چندان مهمی نیست. برای اینکه بفهمید کار کردن چقدر آسان است، اغلب گفته می شود که آردوینو برای جادوگران مبتدی است. حتی کودکان نیز می توانند با بردهای آردوینو کار کنند.

    چه چیزی را می توان روی آن جمع کرد؟

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

    قطعات را از کجا بخریم؟

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

    قطعات را می توان به عنوان بخشی از کیت یا به صورت جداگانه خریداری کرد. حتی کیت های از پیش ساخته شده ای برای مونتاژ ماشین ها، هلیکوپترها با انواع کنترل ها یا کشتی ها وجود دارد. ست مانند تصویر بالا، ساخت چین، 49 دلار قیمت دارد.

    بیشتر در مورد سخت افزار

    برد آردوینو یک میکروکنترلر AVR ساده است که با بوت لودر فلش شده و دارای حداقل پورت USB-UART مورد نیاز است. هنوز اجزای مهمی وجود دارد، اما در محدوده مقاله بهتر است فقط روی این دو مؤلفه متوقف شود.

    اول، در مورد میکروکنترلر، مکانیزمی که بر روی یک مدار ساخته شده است، که برنامه توسعه یافته در آن قرار دارد. این برنامه را می توان با فشار دادن دکمه ها، دریافت سیگنال از اجزای سازنده (مقاومت، ترانزیستور، سنسور و غیره) و غیره تحت تأثیر قرار داد. موانع و غیره. به عنوان دستگاه های نمایشگر، می توان از قطعات ساده استفاده کرد، از LED و توییتر گرفته تا دستگاه های پیچیده، مانند نمایشگرهای گرافیکی. به عنوان موتورها، سوپاپ ها، رله ها، سرووها، آهنرباهای الکتریکی و بسیاری دیگر در نظر گرفته می شوند که برای مدت بسیار بسیار طولانی لیست شده اند. با چیزی از این لیست ها، MK به طور مستقیم با استفاده از سیم های اتصال کار می کند. برخی مکانیسم ها به آداپتور نیاز دارند. اما اگر شروع به طراحی کنید، جدا شدن از آن برایتان سخت خواهد بود. حالا بیایید در مورد برنامه نویسی آردوینو صحبت کنیم.

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

    برنامه ای که از قبل آماده کار بر روی یک میکروکنترلر است، سیستم عامل نامیده می شود. می‌تواند هم یک پروژه و هم پروژه‌های آردوینو وجود داشته باشد، بنابراین بهتر است هر سیستم‌افزار را در یک پوشه جداگانه ذخیره کنید تا روند یافتن فایل‌های مناسب تسریع شود. با استفاده از دستگاه های تخصصی: برنامه نویس ها، روی کریستال MK دوخته می شود. و در اینجا "Arduino" یک مزیت دارد - به برنامه نویس نیاز ندارد. همه چیز انجام می شود تا برنامه نویسی آردوینو برای مبتدیان دشوار نباشد. کد نوشته شده را می توان از طریق کابل USB در MK بارگیری کرد. این مزیت نه توسط برنامه نویسی که قبلاً ساخته شده است، بلکه توسط یک سیستم عامل خاص - یک بوت لودر به دست می آید. بوت لودر یک برنامه ویژه است که بلافاصله پس از اتصال اجرا می شود و گوش می دهد که آیا دستوراتی وجود دارد، آیا تراشه فلش شود، آیا پروژه های آردوینو وجود دارد یا خیر. چندین مزیت بسیار جذاب برای استفاده از بوت لودر وجود دارد:

    1. استفاده از تنها یک کانال ارتباطی که نیازی به هزینه زمانی اضافی ندارد. بنابراین، پروژه های آردوینو نیازی به اتصال سیم های مختلف ندارند و هنگام استفاده از آنها سردرگمی وجود داشت. یک کابل USB برای عملکرد موفقیت آمیز کافی است.
    2. محافظت از دست های کج. رساندن میکروکنترلر به حالت آجری با استفاده از سیستم عامل مستقیم بسیار آسان است، شما نیازی به فشار زیادی ندارید. هنگام کار با یک بوت لودر، نمی توانید به تنظیمات بالقوه خطرناک برسید (البته با کمک یک برنامه توسعه، در غیر این صورت می توانید همه چیز را خراب کنید). بنابراین، آردوینو برای مبتدیان نه تنها از این نظر که قابل درک و راحت است، در نظر گرفته شده است، بلکه به شما امکان می دهد از هزینه های مالی ناخواسته مرتبط با بی تجربگی فردی که با آنها کار می کند جلوگیری کنید.

    پروژه هایی برای شروع

    هنگامی که یک کیت، آهن لحیم کاری، کلوفون و لحیم کاری به دست آوردید، نباید فوراً ساختارهای بسیار پیچیده را مجسمه سازی کنید. البته، شما می توانید آنها را کور کنید، اما شانس موفقیت در آردوینو برای مبتدیان برای پروژه های پیچیده بسیار کم است. برای آموزش و «پر کردن» دست‌هایتان، می‌توانید چند ایده ساده‌تر را پیاده‌سازی کنید که به شما در مقابله با تعامل و عملکرد آردوینو کمک می‌کند. به عنوان اولین قدم در کار با آردوینو برای مبتدیان، می‌توانیم به شما توصیه کنیم:

    1. یکی را ایجاد کنید که به لطف "Arduino" کار کند.
    2. اتصال یک دکمه جداگانه به آردوینو. در این صورت می توان دکمه را قادر ساخت تا درخشش LED را از نقطه شماره 1 کنترل کند.
    3. اتصال پتانسیومتر
    4. سروو کنترل
    5. اتصال و کارکرد با ال ای دی سه رنگ.
    6. اتصال عنصر پیزوالکتریک
    7. اتصال مقاومت نوری
    8. اتصال سنسور حرکت و سیگنال های مربوط به عملکرد آن.
    9. اتصال سنسور رطوبت یا دما

    پروژه هایی برای آینده

    بعید است که برای اتصال LED های جداگانه به "Arduino" علاقه مند باشید. به احتمال زیاد، شما با فرصتی برای ایجاد ماشین شخصی خود یا یک صفحه گردان پرنده جذب می شوید. اجرای چنین پروژه هایی دشوار است، آنها به زمان و پشتکار زیادی نیاز دارند، اما با تکمیل آنها به آنچه می خواستید خواهید رسید: تجربه ارزشمند طراحی آردوینو برای مبتدیان.

    جزئیات زبان برنامه نویسی آردوینو برای مبتدیان در جدول زیر آمده است. میکروکنترلر آردوینو با یک زبان برنامه نویسی خاص بر اساس C/C++ برنامه ریزی شده است. زبان برنامه نویسی آردوینو نوعی از C++ است، به عبارت دیگر، هیچ زبان برنامه نویسی جداگانه ای برای آردوینو وجود ندارد. می توانید کتاب PDF را در پایین صفحه دانلود کنید.

    در آردوینو IDE، تمام اسکچ های نوشته شده در یک برنامه C / C ++ با حداقل تغییرات کامپایل می شوند. کامپایلر Arduino IDE نوشتن برنامه ها را برای این پلتفرم بسیار ساده می کند و ایجاد دستگاه ها در آردوینو برای افرادی که دانش زیادی در زبان C / C ++ ندارند بسیار در دسترس می شود. ما در ادامه با مثال هایی به توضیح عملکردهای اصلی زبان آردوینو کمک خواهیم کرد.

    مرجع تفصیلی زبان آردوینو

    زبان را می توان به چهار بخش تقسیم کرد: عملگرها، داده ها، توابع و کتابخانه ها.

    زبان آردوینو مثال شرح

    اپراتورها

    برپایی() void setup()
    {
    pinMode (3، INPUT)؛
    }
    این تابع برای مقداردهی اولیه متغیرها، تعیین حالت های عملکرد پین ها روی برد و غیره استفاده می شود. این عملکرد فقط یک بار بعد از هر بار روشن کردن میکروکنترلر اجرا می شود.
    حلقه () حلقه خالی()
    {
    digitalWrite (3، HIGH);
    تاخیر (1000);
    digitalWrite (3، LOW)؛
    تاخیر (1000);
    }
    تابع حلقه حلقه می شود و به برنامه اجازه می دهد تا محاسبات را انجام دهد و به آنها واکنش نشان دهد. توابع setup() و loop() باید در هر طرحی وجود داشته باشند، حتی اگر این عبارات در برنامه استفاده نشده باشند.

    اظهارات کنترلی

    اگر
    if(x >
    اگر (x< 100) digitalWrite (3, LOW );
    دستور if همراه با عملگرهای مقایسه (==، !=،) استفاده می شود.<, >) و درست بودن شرط را بررسی می کند. به عنوان مثال، اگر مقدار متغیر x بزرگتر از 100 باشد، LED در خروجی 13 روشن می شود، اگر کمتر باشد، LED خاموش می شود.
    اگر دیگری
    if (x > 100) digitalWrite (3, HIGH );
    else digitalWrite(3، LOW);
    عبارت else به شما اجازه می دهد تا چکی غیر از آنچه در if مشخص شده است، انجام دهید تا چندین بررسی متقابل را انجام دهید. اگر هیچ یک از بررسی ها درست نباشد، بلوک دستور in else اجرا می شود.
    سوئیچ… مورد
    سوئیچ (x)
    {


    مورد 3: شکستن

    }
    مانند if، دستور switch برنامه را کنترل می کند و به شما امکان می دهد اقداماتی را که در شرایط مختلف انجام می شوند را مشخص کنید. Break یک دستور خروج از دستور است، اگر جایگزینی انتخاب نشده باشد، پیش فرض اجرا می شود.
    برای void setup()
    {
    pinMode (3، OUTPUT)؛
    }
    حلقه خالی()
    {
    برای (int i=0; i<= 255; i++){
    analogWrite(3, i);
    تاخیر (10);
    }
    }
    ساختار for برای تکرار عبارات محصور شده در پرانتزهای فر استفاده می شود. به عنوان مثال، کم نور شدن نور LED. هدر حلقه for از سه قسمت تشکیل شده است: for (initialization; شرط؛ increment) - مقداردهی اولیه یک بار انجام می شود، سپس شرط شرط بررسی می شود، اگر شرط درست باشد، افزایش افزایش می یابد. حلقه تکرار می شود تا زمانی که شرط شرط false شود.
    در حالی که حلقه خالی()
    {
    در حالی که (x< 10)
    {
    x = x + 1;
    Serial.println(x);
    تاخیر(200);
    }
    }
    دستور while به عنوان حلقه ای استفاده می شود که تا زمانی که شرط داخل پرانتز درست باشد اجرا می شود. در مثال، دستور حلقه while تا زمانی که x کمتر از 10 باشد، کد داخل پرانتز را به طور نامحدود تکرار می کند.
    انجام در حالی که حلقه خالی()
    {
    انجام دادن
    {
    x = x + 1;
    تاخیر (100);
    Serial.println(x);
    }
    در حالی که (x< 10);
    تاخیر(900);
    }
    دستور حلقه do...whil به همان روش حلقه while عمل می کند. با این حال، اگر عبارت داخل پرانتز درست باشد، حلقه به جای خروج از حلقه ادامه می یابد. در مثال بالا، برای x بزرگتر از 10، عملیات جمع ادامه می یابد، اما با مکث 1000 میلی ثانیه.
    زنگ تفريح
    ادامه هید
    سوئیچ (x)
    {
    مورد 1: digitalWrite(3، HIGH);
    مورد 2: DigitalWrite (3، LOW)؛
    مورد 3: شکستن
    مورد 4: ادامه
    پیش فرض: digitalWrite(4، HIGH);
    }
    Break برای خروج اجباری از حلقه های سوئیچ، do، for و while بدون انتظار برای تکمیل حلقه استفاده می شود.
    دستور continue از جملات باقیمانده در مرحله حلقه جاری می گذرد.

    نحو

    ;
    (نقطه ویرگول)

    digitalWrite (3، HIGH);
    نقطه ویرگول برای نشان دادن پایان یک عبارت استفاده می شود. یک نقطه ویرگول که در انتهای یک خط حذف می شود، منجر به خطای زمان کامپایل می شود.
    {}
    (پرانتز)
    void setup()
    {
    pinMode (3، INPUT)؛
    }
    براکت باز "(" باید با براکت بسته شدن ")" دنبال شود. براکت های جفت نشده می تواند منجر به خطاهای پنهان و غیرقابل درک در هنگام کامپایل یک طرح شود.
    //
    (یک نظر)
    x=5; // یک نظر