تا برد آردوینو ARDUINO UNO اولین برد معرفی شده توسط کمپانی آردوینو ARDUINO بود که همچنان پس از گذشت چندین سال در رده پر فروش ترین و کاربردی ترین بردهای میکروکنترلر AVR است. دلیل این محبوبیت چیزی نیست جز کامییونیتی و جامعه کاربری بزرگ و فعال این برد که هر روز جایگاهش قدرتمند تر میشود. اما پس از این همه سال و با وجود تقاضای بالای خرید برای این برد کمپاین به آن تراشه وای فای WIFI اضافه نکرده است. اما در این آموزش برای همیشه این مشکل حل خواهد شد. در ادامه معرفی برد آردوینو UNO Wifi با مرجع تخصصی آردوینو به زبان فارسی دیجی اسپارک همراه باشید.
معرفی برد آردوینو UNO WIFI
برد آردوینو وای فای ARDUINO UNO WIFI که در تصویر مشاهده میکنید یک ترکیب و ادغام فوق العاده از دو تراشه است که در یک برد جای گرفته است. دو تراشه ATMEGA328P و تراشه ESP8266 در ساخت این برد استفاده شده است. در این برد هر دو تراشه ها با یکدیگر و یا به صورت جداگانه میتوانند کار کنند. هر تراشه پایه های مخصوص به خودش را دارد و به صورت جداگانه فرمان میگیرد. همه چیز برای شروع و اجرای یک پروژه آردوینو با ترکیب وای فای آماده است. توسط USB قرار گرفته شده بر روی برد میتوانید برنامه ها را آپدیت و فایرمور را برای ATMEGA328P , ESP8266 به روز رسانی کنید. در ساخت این برد از مبدل CH340 استفاده شده است که بایستی درایور مربوطه را از قبل از اتصال برد نصب کنید. بر روی برد پین های ماژول ESP826 در سمت راست بالای برد قرار گرفته شده است و به همین دلیل به صورت مستقل قابل استفاده است. یک کلید قرمز رنگ با عنوان MCU RESET بر روی برد قرار گرفته شده است که هر بار قبل از آپلود کد باید آن را فشار دهید. پورت تغذیه برد از TYPE B به MICRO USB تغیییر وضعیت داده است. جک آداپتوری همچنان به عنوان ورودی تغذیه برد آردوینو با آداپتور ۹ تا ۱۲ ولت یک آمپر قابل استفاده است. تمامی پایه های دیجیتال و آنالوگ به همان صورت بر روی برد قرار گرفته شده است و هیچ تغییری نکرده است.
- میکروکنترلر استفاده شده : ATmega328IC
- وای فای استفاده شده: ESP8266
- USB -TTL مبدل : CH340G
- تغذیه خروجی : ۵V-800mA
- تغدیه ووردی USB: 5V (500mA max.)
- جک آداپتوری برد : ۹-۲۴V
- توان مصرفی برد : ۵V 800mA
- ولتاژ سطح منطقی لاجیک لول : ۵V
- مشخصات وای فای : ۸۰۲٫۱۱ b/g/n 2.4 GHz
- مدل یو اس بی استفاده شده : Micro USB
- فرکانس یو اس بی کلاک : ۱۶ MHz
- ولتاژ کاری برد : ۵V
- تعداد پایه های دیجیتال : ۱۴
- تعداد پایه های آنالوگ : ۶
- سایز حافظه مموری: ۳۲ Mb
- نوع رابط : serial سریال
- دمای کاری: ۴۰С°/+۱۲۵С-
تراشه ATMEGA328 بر روی برد آردوینو UNO Wifi قرار گرفته شده است و میتوانید کد را به صورت مستقل بر روی این تراشه آپلود کنید.
تراشه ESP8266 بر روی برد قرار گرفته شده است و میتوانید کد را به صورت مستقل بر روی این تراشه آپلود کنید.
دیپ سوییچ برد آردوینو UNO WIFI
برای ارتباط با ماژول های ESP8266 و ATMEGA328P یک دیپ سوییچ DIP SWITCH بر روی برد قرار گرفته شده است. از دیپ سوییچ برای تعیین وضعیت صفر و یک منطقی در ورودی ها استفاده میشود. عملکرد این کلیدها کاملا مشابه سایر کلیدها است و با حرکت دادن کلید به سمت بالا و پایین، ارتباط قطع و یا وصل می شود. دیپ سوییچ برای تغییر وضعیت از طریق سخت افزار استفاده میشود.
دلیل استفاده از دیپ سوییچ در ساخت این برد تغییر وضعیت سریع از ۰ به ۱ و برعکس است. از جمله کاربرد دیپ سوییچ برای روشن و خاموش شدن دستگاه هاه در نقش همان کلید، قطع و وصل متعدد در برنامه با سرعت بالا است. کلیدها به صورت دو حالته بر روی برد قرار گرفته شده است و هر کلید دو پایه دارد. برای هر کلید میتوانیم یک وضعیت را تعریف کنیم. در این برد با تغییر وضعیت هر دیپ سوییچ ماژول ها تغییر وضعیت میدهند.
طبق جدول بالا برای اتصال USB به ESP8266 باید کلیدهای ۵ و ۶ و ۷ به ترتیب بر روی برد ON باشد. روی برد را نگاه کنید. دیپ سوییچ ها قابل تغییر است و سمت چپ مشخصه ی ON بودن است. برای آپلود و آپدیت برنامه و فایرمور بر روی ESP8266 باید سوییچ های ۵ ۶ ۷ به ترتیب روشن ON باشد و مابقی کلیدها OFF باشد. برای آپلود برنامه بر روی ATMEGA328P باید سوییچ های ۳ و ۴ به ترتیب روشن ON باشد و مابقی کلیدها OFF باشد. اگر بخواهید هر ماژول مستقل عمل کند تمامی کلیدها را خاموش کنید. طبق جدول مطابق با کاری که میخواهید انجام دهید، سوییچ ها را به ON , OFF تغییر وضعیت دهید. برای اتصال ATMEGA328 به ESP8266 باید سوییچ های ۱ و ۲ روشن ON و بقیه خاموش OFF باشد. کاملا مطابق با جدول بایستی وضعیت دیپ سوییچ ها را تغییر دهید.
راه اندازی در ARDUINO IDE
برای راه اندازی برد UNO WIFI به نرم افزار آردوینو در ابتدا متناسب با نوع سیستم مورد استفاده نرم افزار آردوینو را نصب کنید. در حال حاضر دو ورژن برای نرم افزار معرفی شده است. ورژن آردوینو ۱ و ورژن آردوینو ۲ که از طریق سایت ARDUINO.CC قابل دانلود است. به صورت پیش فرض برد آردوینو در لیست نرم افزار قرار دارد. برای استفاده از تراشه ESP8266 بایستی پکیج ESP8266 را فراخوانی کنید. برای اینکار از منو آردوینو بر روی PREFERENCES کلیک کنید. سپس در قسمت ADDITIONAL BOARDS آدرس زیر را وارد کنید.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
سپس از منو مجدد بر روی BOARDS MANAGER کلیک کنید. عبارت ESP8266 را فیلتر کنید. برد ESP8266 را نصب کنید.
با نصب پکیج ESP8266 آماده کدنویسی برای تراشه ESP8266 هستید. در منو TOOLS نوع برد را GENERIC ESP8266 MODULE انتخاب کنید. برد را به سیستم متصل کنید. سپس پورت را مشخص کنید.
تست برنامه بر روی تراشه ESP
برای نمونه برد را انتخاب کنید. سپس برنامه BLINK را از EXAMPLE ESP8266 انتخاب کنید. ال ای دی LED روی برد پس از آپلود کد به صورت چشمک زن است. کافیست برای آپلود کد روی تراشه ESP8266 دیپ سوییچ را تنظیم کنید. برای اینکار سوییچ های شماره ۵ ۶ ۷ را به ON و مابقی را OFF کنید. سپس برد و پورت را انتخاب کنید. کد آماده BLINK را اجرا کنید.
void setup() { pinMode(12, OUTPUT); } void loop() { digitalWrite(12, LOW); delay(1000); digitalWrite(12, HIGH); delay(2000); }
ال ای دی قرار گرفته شده بر روی برد به چشمک میزند. برای آپلود کد حتما یک بار دکمه MCU RESET را بزنید. سپس یک ال ای دی را به پایه های ESP PINS متصل کنید. به دلخواه از GPIO12 و یا GPIO16 استفاده کنید. پشت برد ترتیب پایه ها مشخص شده است. ال ای دی را به پایه شماره GPIO12 وصل کنید. سپس کد برنامه BLINK از نمونه های ESP8266 را اجرا کنید. در کد برنامه عدد پایه ها را به ۱۲ تغییر دهید. کد را آپلود کنید. حتما در حین آپلود یک بار MCU RESET کنید. سپس کد برنامه بر روی برد آپلود میشود. هیچ اتفاقی رخ نمیدهد. برای رفع این مشکل کافیست سوییچ شماره ۷ را OFF کنید. سپس یک بار MCU RESET را بزنید. ال ای دی شروع به چشمک زدن خواهد کرد. به همین سادگی برنامه بر روی تراشه ESP8266 آپلود و ران شده است.
برای آپلود کد بر روی تراشه ATMEGA328 باید سوییچ های ۳ و ۴ را ON کنید. سپس نوع برد را آردوینو UNO انتخاب کنید. پورت را مشخص کنید. سپس برنامه BLINK را اجرا کنید. به همین ترتیب کد اجرا شده و بر روی تراشه ATMEGA328 آپلود میشود. کد آردوینو برای تست این برنامه از منو آردوینو را BLINK اجرا کنید. کد را آپلود کنید. یکی از پایه های آردوینو را انتخاب کنید و در برنامه وارد کنید. به عنوان مثال پایه دیجیتال شماره ۸ را انتخاب کنید. سپس کد را بر روی برد آپلود کنید.
وسایل مورد نیاز
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام لیدی
برد خفنیه و قول میدم به زودی بخرمش
سپاس از همراهی شما کاربر گرامی
آیا تونستی کدی روی تراشه ESP آپ کنی؟ چون شنیدم باگ داره
با سلام
بله در آموزش به این مورد اشاره شده است. کافیست دیپ سوییچ را تغییر دهید.
سلام من این ارور روی برد دریافت میکنم
ets Jan 8 2013,rst cause:2, boot mode:(1,6)
با سلام
لطفا ارور کامل را ارسال کنید. نوع برد مورد استفاده را مشخص کنید.
سلام
تشکر از شما خانم مهندس، فوق العاده بود، خسته نباشید.
با سلام
سپاس از همراهی شما کاربر گرامی
سلام
این برد رو خریدم ، usd روی مد ESP8266 مشکلی ندارم و کد رو آپلود می کنم ولی وقتی دیپ سوئیچ های ۳ و ۴ رو on می کنم که کدهامو رو آردوینو آپلود کنم خطای زیر رو دریافت می کنم:
Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xa6
Problem uploading to board. See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xa6
مشکل چی هست؟
با سلام
در حین آپلود یک بار کلید ریست را فشار دهید و سپس منتظر بمانید تا آپلود تمام شود. نتیجه را اعلام کنید.
با سلام
دیپ سوییچ را بر روی ۱ . ۲ به صورت on قرار دهید و بقیه را off کنید.
سلام
من میخوام از قابلیت آردوینو با برد wifi استفاده کنم.
پین های یک و دو را on کردم ، حالا برای setup پین های softwareserial رو چی باید بذارم?
با سلام
دقیقا مانند برد آردوینو uno است.
با سلام
من همچنان نتونستم کد رو روی تراشه atmega328 کامپایل کنم. لطفا راهنمایی کنید.
با سلام
چنین موردی بخاطر عدم تنظیمات صحیح دیپ سوئیچ روی برد است. اروری که هنگام آپلود دریافت میکنید را ارسال کنید.
لطفا روش آپلود کد بر روی تراشه atmega را بفرمایید
با سلام
برای آپلود کد بر روی اتمگا دیپ سوییچ شماره ۱ و ۲ را فقط ON کنید.
سلام
من به پیشنهاد لیدی خریدم و دقیقا با یه تیر دو نشون میزنید، هم تراشه esp داری و هم atmega و اصلا راه اندازیش دردسر نداره
با توجه به قیمت پیشنهاد میکنم حتما بخرید.
با سلام
کاربر گرامی از اینکه تجربه خود را با دیگر کاربران به اشتراک میگذارید، صمیمانه سپاسگزاریم.
با سلام میشه روی تراشه ESP برای ماکروپایتون استفاده کنیم؟ شدنی هست؟
با سلام
این مورد تست نشده است اما میتوانید استفاده کنید.
سلام
واسه برد uno wifi ارور زیر رو دریافت میکنم:
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is “C:\Users\Mahdi\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf”
Using Port : usb
Using Programmer : xplainedmini_updi
Overriding Baud Rate : 115200
avrdude: usbhid_open(): No device found
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2145
avrdude done. Thank you.
Failed uploading: uploading error: exit status 1
توی بخش board information مقادیر VID 0x03eb and PID list: 0x2145 رو دارم ولی توی ارور میگه شناخته نشده !
پین های یک و دو را on کردم و بقیه آف هستند. حالت ۳ و ۴ on وبقیه آف رو هم امتحان کردم ولی باز هم جواب نداد.
اگه راهنماییم کنید مشکل چیه واقعا ممنون مییشم
با سلام
برای آپلود کد بر روی اتمگا دیپ سوییچ شماره ۱ و ۲ را فقط ON کنید.
سلام.
ممنون از آموزش خوبتون .
مثل همیشه عالی
با سلام
کاربر گرامی سپاس از همراهی شما
سلام وقتتون بخیر
چطوری میشه این مدل اردینو رو ، به اردینو IOT Cloud متصل کرد و از اون طریق برنامه ریزی کرد ؟ برای طراحی داشبورد اینترنت اشیا و کنترل این برد توسط اون ،
باید کدوم مدل برد رو انتخاب کرد؟
با سلام
برد آردوینو مدل وای فای را انتخاب کنید. این مورد را تست نکرده ام اما بررسی خواهم کرد.
سلام وقتتون بخیر ، برای اینکه از کتابخانه سافت ور سریال استفاده کنیم ، باید دو پین tx و rx رو مشخص کنیم ، خوب الان برای این مدل که ماژول روی خود برد هست ، tx و rx رو چجوری تعریف کنیم و کدوم پایه مد نظر قرار بدیم ؟
با سلام
مجدد از همان پایه ها استفاده کنید. برد تفاوت نکرده است.
سلام وقت بخیر . برای شبیه سازی این برد توی پروتئوس برد یا کتابخانه ان وجود دارد؟
با سلام
این مورد توسط بنده تست نشده است.
سلام وقت بخیر تفاوت حالت سوم و چهارم در جدول دیپ سوییچ چی هست؟
من برای مانتیورینگ ضربان قلب میخوام ازین برد استفاده کنم دیپ سوییچ رو کدوم حالت باید قرار بدم؟
با سلام
برای کدام برد مدنظر شما است؟
سلام بر چه اساسی سوئیچ ها تغییر میکنند؟
با سلام
براساس جدولی که در آموزش قرار دارد بایستی تغییرات مورد نظر را تنظیم کنید.
سلام من همه ار هارو طبق نوشته ها نجام دادم ولی بعد اینکه کد روی تراشه eap میریزم چراغ چشمک نمیزنه
و چراغ L روی ماژول همیشه چشمک میزنه