آموزش برنامه نویسی esp8266 با Arduino IDE

آموزش های esp8266

به نام خدا و با سلام خدمت دوستان عزیز

در این آموزش قصد دارم آموزش برنامه نویسی ماژول های wifi مدل esp رو با استفاده از آردویینو خدمت دوستان عرض کنم.

دقت کنید نیاز نیست هزینه اضافی برای برای برد های nodmcu  یا برد های آماده بپردازید با این آموزش شما هر ماژول وای فای رو میتونید پروگرام کنید.

در این آموزش قراره که راه اندازی ماژول وای فای ESP8266-MOD با آردوینو رو آموزش بدیم.

اول بهتره یک معرفی کوتاه درباره ی این ماژول داشته باشیم.

  • این ماژول یک میکروکنترلر 32 بیتی داره که حافظه فلش اون 4 تا 32 مگابیت داره و دارای حداکثر فرکانس 80مگاهرتزه !
  • این سری از ماژول ها بیش از 10 نوع در بازار وجود دارن و برد های توسعه خاصی از اون ها هم مثل nodemcu ، Witty cloud و  .. وجود داره.
  • این ماژول مثل یک میکروکنترلر قابلیت برنامه نویسی داره
  • ماژول ESP8266 هم در مد Station و هم در مد Access Point قابلیت پیکربندی داره و …

طبق تصویر زیر مراحل رو طی میکنیم تا اول فایل های مورد نیاز رو دانلود کنیم ، پس حتما باید لپ تاپ و یا کامپیوترتون به اینترنت هم وصل باشه…

مرحله 1 ->

مرحله دوم ->

در بخش نمایش داده شده باید متن زیر رو وارد کنین:

 

و در آخر با زدن گزینه ی Ok تغییرات رو ذخیره کنین و تنظیمات دیگه ای انجام ندید.

مرحله 3 ->

کتابخانه فوق در گیت هاب.

مرحله 4 ->

بعد از نصب این کتابخونه ها ، نرم افزار آردوینو از ماژول ESP8266   و ماژول NodeMCU پشتیبانی میکنه و میتونین به راحتی راه اندازی ماژول WiFi ESP8266 با آردوینو رو انجام بدین.

وقتی همه تنظیمات بالا تموم شد میریم سراغ تنظیماتی که قراره توی سخت افزار ماژولمون انجام بدیم که بتونیم با نرم افزار آردوینو پروگرامش کنیم :

برای اینکه شما ماژول esp  رو پروگرام کنید به مبدل usb به سریال نیاز دارید و  چندین راه دارید :

  1. استفاده از بردهای آماده مثل nodmcu
  2. استفاده از مبدل usb به سریالی که رو خوده آردویینو هست که برا اینکار باید میکروشو بردارین.
  3. استفاده از ماژول های مبدل usb به سریال که مدل های زیادی دارن و به نظر من بهترینش CH340 هستش و یه مدل عالی داره که کاملا برای کار با ESP مناسبه از اینجا میتونید تهیش کنید و شکلش به صورت زیره:

اینجا شما با چهار پین RX , TX , GND , 3.3V  سروکار دارید.

حالا طبق شماتیک زیر مدار ارتباط مبدل بالا به ESP رو رو برد بورد ببندید( دقت کنید که برای ماژول خام esp میتونید از هدربردش استفاده کنید) :

دانلود درایور ماژول مبدل ch340

خب بعد از تنظیمات سخت افزاریمون باید بریم سراغ تنظیمات IDE , مثله شکل زیر برید به آدرس نشون داده شده و تنظیمات رو طبق شکل زیر انجام بدین :

مقدار بادریت و پورت رو هم که در تصویر بالا مشخص کردم تنظیم کنید.

خب طبق شکل بالا اول روی گزینه 1 و بعد 2 و بعد گزینه ی سوم که Generic ESP8266 Module باشه رو انتخاب میکنیم ) و طبق اون تنظیمات رو انجام میدیم اما اون گزینه PORT رو که با فلش بنفش مشخص کردم همون شماره پورتی رو انتخاب میکنید که مبدلتون به اون وصل شده (برای اینکار باید برید به قسمت device manager کامپیوتر و اونجا com port هارو ببنید).

خب حالا که تمام تنظیماتتون رو بدرستی انجام دادین بریم سراغ پروگرام کردنش , برای پروگرام
کردن تمام اون اتصالاتی که نشون داده شد باید همونطور باقی بمونن .

یک example رو انتخاب کنین تا بتونیم تنظیماتی رو که انجام دادیم رو تست کنیم ، گزینه آپلود روی برد رو بزنین و بعد از انتخاب گزینه آپلود در نرم افزار آردوینو تقریبا بعد از 3 – 4 ثانیه دکمه ریست رو فشار بدین تا مراحل پروگرام بدرستی انجام بشه مثله شکله زیر :

 

بعد از موفق شدن در پروگرام کردن ماژولمون فقط باید یه کار رو انجام بدیم و اونم اینه که اتصال
پایه GPIO 0 ماژول رو به زمین قطع کنیم

توجه : اگر بعد از پروگرام کردن هنوز این پایه متصل باشه برنامه ای رو که پروگرام کردیم کار نمیکنه

برای هر بار پروگرام کردن ماژول باید پایه GPIO 0 ماژول رو به زمین متصل کنیم و بعد از
پروگرام کردنمون برای اجرای کدمون اونو قطع کنیم.

نکته بسیار مهم : به این هم دقت کنید که گاهی اوقات وقتی حجم برنامتون زیاد میشه ماژول شما واچ داگ ریست میشه و ارور استک (stack) میده و این ارور هارو به سریال مانیتور میفرسته و دیگه کار نمیکنه حالا برا رفع این مشکلات شما باید بعد از پروگرام کردن هم gpio0 و هم gpio15 رو گراند جدا کنید و تغذیه ماژول رو به کلی قطع کنید و دوباره وصل کنید که اونوقت ماژول خواهد کرد.

از شماتیک آلتیوم زیر میتونید در طراحی هاتون استفاده کنید :

که البته در شماتیک بالا دکمه ریست یادتون نره بزارید (من یادم رفت O_o ).

اگر آردویینو دارید و میکروش جدا میشه با استفاده از شکل زیر هم میتونید espتون رو پروگرام کنید :

به راحتی میتونید عمل پروگرام ماژول های وای فا رو انجام بدید

و همچنین نمونه کد زیر رو اجرا کنید تا ماژول وای به مودم وای فاتون متصل بشه :

 

“your-ssid”

“your-password”

به جای دو عبارت فوق هم اسم و رمز مودم وای فاتونو قرار بدید کد رو آپلود کنید رو esp و از منوی tools سریال مانیتور رو باز کنید .

شما می توانید برخی کتابخانه های مفید و مثال های مربوط به ESP8266 را از اینجا دانلود کنید.

IRremoteESP8266-master

ESP8266-I2C-LCD1602-master

Universal-Arduino-Telegram-Bot-master

esp_mqtt-master (برای کار با پروتکل MQTT)

IRremoteESP8266-master (برای کار با کدهای IR)

ESP8266_MP3_DECODER-master

ESP8266-I2C-LCD1602-master

Arduino-master

 esp8266-OLED-master (کار با نمایشگرهای OLED)

ArduinoJson-master(کار با فرمت JSON)

پسورد فایل های زیپ در صورت نیاز: esp8266project.ir

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

 

 

 

تمامی قطعات dip هستن و همچنین علاوه بر سورس کامل آلتیوم، لیست کامل قطعات و شماتیک و pcb  هم در فایل زیپ پروژه در قالب pdf موجود هستش.

موفق و سربلند باشید.

5
دیدگاه بگذارید

avatar
2 Comment threads
3 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
سیداحمدموسویfaridmicrodroidprjsiteبهزاد Recent comment authors
بهزاد
Guest
بهزاد

سلام ممنون از آموزش خوبتون
من میخوام یک فاصله سنج بسازم که 4 تا مازول SRF05 استفاده کردم بعد میخوام دیتایی که این سنسورها میفرستن رو با WIFI به آردوینو بدم
لطفا راهنمایی کنید

سیداحمدموسوی
Guest
سیداحمدموسوی

سلام مهندس ممنون از مطلب مفیدتون اما این آموزش در واقع برنامه نویسی ماژول رو توضیح نداده بلکه طریقه ی پروگرام کردن برنامه های آماده رو شرح داده. برنامه نویسی این ماژول یعنی توضیح کامل توابع کتابخانه ی ESP8266WiFi.h