آردوینو آردوینو Arduino Uno

راه اندازی برد آردوینو UNO Wifi با تراشه ESP8266 و ATmega328P

getting-started-with-arduino-uno-wifi-esp8266-daneshjookit
نوشته شده توسط پریسا پوربلورچیان

 تا برد آردوینو ARDUINO UNO اولین برد معرفی شده توسط کمپانی آردوینو ARDUINO بود که همچنان پس از گذشت چندین سال در رده پر فروش ترین و کاربردی ترین بردهای میکروکنترلر AVR است. دلیل این محبوبیت چیزی نیست جز کامییونیتی و جامعه کاربری بزرگ و فعال این برد که هر روز جایگاهش قدرتمند تر می‌شود. اما پس از این همه سال و با وجود تقاضای بالای خرید برای این برد کمپاین به آن تراشه وای فای WIFI اضافه نکرده است. اما در این آموزش برای همیشه این مشکل حل خواهد شد. در ادامه معرفی برد آردوینو UNO Wifi با مرجع تخصصی آردوینو به زبان فارسی دیجی اسپارک همراه باشید.

برد آردوینو UNO Wifi - دیجی اسپارک

 


معرفی برد آردوینو UNO WIFI


برد آردوینو وای فای ARDUINO UNO WIFI که در تصویر مشاهده می‌کنید یک ترکیب و ادغام فوق العاده از دو تراشه است که در یک برد جای گرفته است. دو تراشه ATMEGA328P و تراشه ESP8266 در ساخت این برد استفاده شده است. در این برد هر دو  تراشه ها با یکدیگر و یا به صورت جداگانه میتوانند کار کنند. هر تراشه پایه های مخصوص به خودش را دارد و به صورت جداگانه فرمان میگیرد. همه چیز برای شروع و اجرای یک پروژه آردوینو با ترکیب وای فای آماده است. توسط USB قرار گرفته شده بر روی برد میتوانید برنامه ها را آپدیت و فایرمور را برای ATMEGA328P , ESP8266 به روز رسانی کنید. در ساخت این برد از مبدل CH340 استفاده شده است که بایستی درایور مربوطه را از قبل از اتصال برد نصب کنید. بر روی برد پین های ماژول ESP826 در سمت راست بالای برد قرار گرفته شده است و به همین دلیل به صورت مستقل قابل استفاده است. یک کلید قرمز رنگ با عنوان MCU RESET بر روی برد قرار گرفته شده است که هر بار قبل از آپلود کد باید آن را فشار دهید. پورت تغذیه برد از TYPE B به MICRO USB تغیییر وضعیت داده است. جک آداپتوری همچنان به عنوان ورودی تغذیه برد آردوینو با آداپتور ۹ تا ۱۲ ولت یک آمپر قابل استفاده است. تمامی پایه های دیجیتال و آنالوگ به همان صورت بر روی برد قرار گرفته شده است و هیچ تغییری نکرده است.

ظاهر برد آردوینو UNO Wifi - دیجی اسپارک

 

  • میکروکنترلر استفاده شده : 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 سریال
  •  دمای کاری: ۴۰С°/+۱۲۵С-

برد آردوینو UNO Wifi با دو تراشه ESP8266 و ATmega328p - دیجی اسپارک

 

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

تراشه ATmega328P در برد آردوینو UNO Wifi - دیجی اسپارک

 

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

تراشه ESP8266 در برد آردوینو UNO Wifi - دیجی اسپارک

 


دیپ سوییچ برد آردوینو UNO WIFI


برای ارتباط با ماژول های ESP8266 و ATMEGA328P یک دیپ سوییچ DIP SWITCH بر روی برد قرار گرفته شده است. از دیپ سوییچ برای تعیین وضعیت صفر و یک منطقی در ورودی ها استفاده می‌شود. عملکرد این کلیدها کاملا مشابه سایر کلیدها است و با حرکت دادن کلید به سمت بالا و پایین، ارتباط قطع و یا وصل می شود. دیپ سوییچ برای تغییر وضعیت از طریق سخت افزار استفاده می‌شود.

وضعیت پایه های دیپ سوئیچ در برد آردوینو UNO Wifi - دیجی اسپارک

 

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

شناسایی وضعیت های دیپ سوئیچ روی برد آردوینو UNO Wifi - دیجی اسپارک

 

طبق جدول بالا برای اتصال USB به ESP8266 باید کلیدهای ۵ و ۶ و ۷ به ترتیب بر روی برد ON باشد. روی برد را نگاه کنید. دیپ سوییچ ها قابل تغییر است و سمت چپ مشخصه ی ON بودن است. برای آپلود و آپدیت برنامه و فایرمور بر روی ESP8266 باید سوییچ های ۵ ۶ ۷ به ترتیب روشن ON باشد و مابقی کلیدها OFF باشد. برای آپلود برنامه بر روی ATMEGA328P باید سوییچ های ۳ و ۴ به ترتیب روشن ON باشد و مابقی کلیدها OFF باشد. اگر بخواهید هر ماژول مستقل عمل کند تمامی کلیدها را خاموش کنید. طبق جدول مطابق با کاری که میخواهید انجام دهید، سوییچ ها را به ON , OFF تغییر وضعیت دهید. برای اتصال ATMEGA328 به ESP8266 باید سوییچ های ۱ و ۲ روشن ON و بقیه خاموش OFF باشد. کاملا مطابق با جدول بایستی وضعیت دیپ سوییچ ها را تغییر دهید.

روش پروگرام کردن تراشه ESP8266 در برد آردوینو UNO Wifi - دیجی اسپارک

 


راه اندازی در ARDUINO IDE


برای راه اندازی برد UNO WIFI به نرم افزار آردوینو در ابتدا متناسب با نوع سیستم مورد استفاده نرم افزار آردوینو را نصب کنید. در حال حاضر دو ورژن برای نرم افزار معرفی شده است. ورژن آردوینو ۱ و ورژن آردوینو ۲ که از طریق سایت ARDUINO.CC قابل دانلود است. به صورت پیش فرض برد آردوینو در لیست نرم افزار قرار دارد. برای استفاده از تراشه ESP8266 بایستی پکیج ESP8266 را فراخوانی کنید. برای اینکار از منو آردوینو بر روی PREFERENCES کلیک کنید. سپس در قسمت ADDITIONAL BOARDS آدرس زیر را وارد کنید.

https://arduino.esp8266.com/stable/package_esp8266com_index.json

 

نصب پکیج آردوینو UNO Wifi در Arduino IDE - دیجی اسپارک

 

سپس از منو مجدد بر روی BOARDS MANAGER کلیک کنید. عبارت ESP8266 را فیلتر کنید. برد ESP8266 را نصب کنید.

انتخاب در بخش Board Manager آردوینو - دیجی اسپارک

 

با نصب پکیج 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 آپلود و ران شده است.

تست برنامه روی تراشه ESP در برد آردوینو UNO Wifi - دیجی اسپارک

 

برای آپلود کد بر روی تراشه ATMEGA328 باید سوییچ های ۳ و ۴ را ON کنید. سپس نوع برد را آردوینو UNO انتخاب کنید. پورت را مشخص کنید. سپس برنامه BLINK را اجرا کنید. به همین ترتیب کد اجرا شده و بر روی تراشه ATMEGA328 آپلود می‌شود. کد آردوینو برای تست این برنامه از منو آردوینو را BLINK اجرا کنید. کد را آپلود کنید. یکی از پایه های آردوینو را انتخاب کنید و در برنامه وارد کنید. به عنوان مثال پایه دیجیتال شماره ۸ را انتخاب کنید. سپس کد را بر روی برد آپلود کنید.

 


وسایل مورد نیاز


برد آردوینو UNO WIFI ESP8266

 

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

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۶ دیدگاه

    • با سلام
      بله در آموزش به این مورد اشاره شده است. کافیست دیپ سوییچ را تغییر دهید.

    • با سلام
      لطفا ارور کامل را ارسال کنید. نوع برد مورد استفاده را مشخص کنید.

  • سلام
    این برد رو خریدم ، 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
    مشکل چی هست؟

    • با سلام
      در حین آپلود یک بار کلید ریست را فشار دهید و سپس منتظر بمانید تا آپلود تمام شود. نتیجه را اعلام کنید.

  • سلام
    من میخوام از قابلیت آردوینو با برد wifi استفاده کنم.
    پین های یک و دو را on کردم ، حالا برای setup پین های softwareserial رو چی باید بذارم?

  • سلام
    من به پیشنهاد لیدی خریدم و دقیقا با یه تیر دو نشون میزنید، هم تراشه esp داری و هم atmega و اصلا راه اندازیش دردسر نداره
    با توجه به قیمت پیشنهاد میکنم حتما بخرید.

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

  • سلام
    واسه برد 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 وبقیه آف رو هم امتحان کردم ولی باز هم جواب نداد.

    اگه راهنماییم کنید مشکل چیه واقعا ممنون مییشم

  • سلام وقتتون بخیر
    چطوری میشه این مدل اردینو رو ، به اردینو IOT Cloud متصل کرد و از اون طریق برنامه ریزی کرد ؟ برای طراحی داشبورد اینترنت اشیا و کنترل این برد توسط اون ،
    باید کدوم مدل برد رو انتخاب کرد؟

    • با سلام
      برد آردوینو مدل وای فای را انتخاب کنید. این مورد را تست نکرده ام اما بررسی خواهم کرد.

  • سلام وقتتون بخیر ، برای اینکه از کتابخانه سافت ور سریال استفاده کنیم ، باید دو پین tx و rx رو مشخص کنیم ، خوب الان برای این مدل که ماژول روی خود برد هست ، tx و rx رو چجوری تعریف کنیم و کدوم پایه مد نظر قرار بدیم ؟

  • سلام وقت بخیر تفاوت حالت سوم و چهارم در جدول دیپ سوییچ چی هست؟
    من برای مانتیورینگ ضربان قلب میخوام ازین برد استفاده کنم دیپ سوییچ رو کدوم حالت باید قرار بدم؟

  • سلام من همه ار هارو طبق نوشته ها نجام دادم ولی بعد اینکه کد روی تراشه eap میریزم چراغ چشمک نمیزنه
    و چراغ L روی ماژول همیشه چشمک میزنه