معرفی برد NodeMCU و برنامه نویسی با آردوینو

محتویات
در این مقاله میخواهیم با برد نود ام سی یو آشنا شویم. NodeMCU برد های محبوب و متن باز هستند که در پروژه های IoT به مراتب استفاده میشوند.
NodeMCU چیست؟
NodeMCU مخفف Node Microcontroller Unit است. نود ام سیو یک سیستم عامل منبع باز مبتنی بر Lua است که برای برنامه های IoT (اینترنت اشیا) طراحی شده است. ماژولی که این سیستم عامل را اجرا می کند ESP-12E است و آن ماژول مبتنی بر میکروکنترلر 32 بیتی ESP8266 است. این برد دارای وای فای 2.4 گیگاهرتز است که از WPA/WP2 پشتیبانی می کند. ESP-12E با یک پروگرامر و یک واحد SMPS 3.3v ارائه می شود. بنابراین برای برنامه ریزی این برد نیازی به پروگرامر خارجی ندارید و به راحتی می توانید این برد را مستقیماً با 5 ولت USB راه اندازی کنید.
ویژگی های برد توسعه NodeMCU ESP-12E
- ولتاژ کاری: 3.0-3.6 ولت
- جریان عملیاتی: 80 میلی آمپر
- دمای کارکرد: -40 تا 125 درجه سانتیگراد
- میکروکنترلر 32 بیتی
- آنالوگ به دیجیتال 10 بیتی
- 802.11 b/g/n
- پروتکل TCP/IP یکپارچه
- Wi-Fi 2.4 گیگاهرتز که از WPA/WPA2 پشتیبانی می کند.
- از UART، SPI، I2C، I PWM، SDIO 2.0 پشتیبانی می کند.
- دارای 20 پورت I/O
کاربردهای برد توسعه NodeMCU ESP-12E
- دوربین های IP
- امنیت خانه
- اتوماسیون خانگی
- سیستم های کنترل بی سیم
- شبکه مش
پیکربندی برد NodeMCU ESP12E
- پورت MicroUSB: این پورت برای اتصال برد NodeMCU به لپ تاپ یا کامپیوتر شما استفاده می شود.
- دکمه Reset: این دکمه برای تنظیم مجدد برد NodeMCU استفاده می شود.
- دکمه Flash: این دکمه برای فلش کردن سیستم عامل بر روی برد استفاده می شود.
- آی سی Programmer: این آی سی توسط برد برای آپلود کد روی ESP8266 MCU استفاده می شود.
- تنظیم کننده ولتاژ 3.3 ولت: این تنظیم کننده ولتاژ برای تبدیل 5 ولت از کابل MicroUSB به 3.3 ولت استفاده می شود زیرا ESP8266 با ولتاژ 3.3 ولت کار می کند.
- ESP8266 MCU: این آی سی اصلی است که کد را ذخیره می کند و تمام وظایف را انجام می دهد.
- آنتن Wi-Fi: برای برقراری ارتباط با سایر دستگاه های Wi-Fi استفاده می شود.
- LED وضعیت: این LED وضعیت برق و وضعیت اتصال را نشان می دهد.
پین های نود ام سیو ESP-12E
نکته مهم: هنگام نوشتن کد آردوینو، از شماره پین که در ستون پین آردوینو ذکر شده است استفاده میکنیم.
شماره پین | GPIO | پین برد | قابلیت دیگر | پین آردوینو |
1 | A0 | ADC | ||
2 | RSV | Reserved | ||
3 | RSV | Reserved | ||
4 | GPIO10 | SD3 | ||
5 | GPIO9 | SD2 | ||
6 | GPIO8 | SD1 | MOSI | |
7 | GPIO11 | CMD | CS | |
8 | GPIO7 | SD0 | MISO | |
9 | GPIO6 | CLK | SCLK | |
10 | GND | |||
11 | 3V3 | |||
12 | EN | |||
13 | RST | |||
14 | GND | |||
15 | VIN | |||
16 | GND | |||
17 | 3V3 | |||
18 | GPIO1 | TX/D10 | TXD0 | D1 |
19 | GPIO3 | RX/D9 | RXD1 | D3 |
20 | GPIO15 | D8 | HCS/RTS0/PWM/TXD2 | D15 |
21 | GPIO13 | D7 | HMOSI/CTS0/RXD2 | D13 |
22 | GPIO12 | D6 | HMISO/PWM | D12 |
23 | GPIO14 | D5 | HSCLK?PWM | D14 |
24 | 3V3 | |||
25 | GND | |||
26 | GPIO2 | D4 | TXD1 | D2 |
27 | GPIO0 | D3 | FLASH | D0 |
28 | GPIO4 | D2 | SDA/PWM | D4 |
29 | GPIO5 | D1 | SCL | D5 |
30 | GPIO16 | D0 | WAKE | D16 |
برنامه نویسی NodeMCU ESP-12E با آردوینو
- مرحله 1: برد NodeMCU را آماده کنید.
- مرحله 2: برد NodeMCU را به لپ تاپ یا کامپیوتر وصل کنید.
- مرحله 3: Arduino IDE را باز کنید.
- مرحله 4: روی گزینه file کلیک کنید.
- مرحله 5: روی Preferences کلیک کنید.
- مرحله 6: این پیوند را در additional board manager URLs قرار دهید و سپس روی OK کلیک کنید.
http://dan.drown.org/stm32duino/package_STM32duino_index.json
- مرحله 7: روی Tools کلیک کنید.
- مرحله 8: روی Board کلیک کنید.
- مرحله 9: روی Board manager کلیک کنید و مدتی صبر کنید.
- مرحله 10: به پایین اسکرول کنید و esp8266 را پیدا کنید و سپس بر روی install کلیک کنید. مدتی صبر کنید تا دانلود شود.
- مرحله 11: پس از نصب، Board manager را ببندید.
اکنون، اولین کد چشمک زن LED خود را روی برد آپلود می کنیم. این کد را در Arduino IDE قرار دهید. همانطور که در شماتیک نشان داده شده است یک LED را به پایه D0 برد وصل کنید. همانطور که در جدول بالا قرار داده شده است، پایه D0 برد NodeMCU یک پایه D16 در آردوینو است. هنگام نوشتن کد خود برای NodeMCU، فقط باید از شماره پین مطابق با پین های آردوینو استفاده کنید.
void setup() { pinMode(16,OUTPUT); } void loop() { digitalWrite(16,HIGH); delay(1000); digitalWrite(16,LOW); delay(1000); }
مدار اتصال LED به برد NodeMCU
آپلود کد روی برد Node MCU با آردوینو IDE
مرحله 1: Arduino IDE را باز کرده و کد را در آن قرار دهید.
مرحله 2: روی تب Tools کلیک کنید و سپس بر روی Boards کلیک کنید.
مرحله 3: گزینه ESP8266 Board را انتخاب کنید.
مرحله 4: NodeMCU 1.0 را انتخاب کنید.
مرحله 5: پورت برد خود را انتخاب کنید.
مرحله 6: روی دکمه آپلود کلیک کنید و کد شما آپلود خواهد شد
نتیجه خروجی:
سلام وقتتون بخیر
برای کنترل پایه های GPIO6 تا GPIO11 از کدام پین آردوینو باید استفاده کرد؟
سلام تازگی انگارند nodemcu بن شده مثلا برنامه که قبلاً با هاش لینک باز می کردم دیگه کار نمی کنه و می تونم از طریق wifi وصل هست ولی باز نمی کنه چرا؟
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
برای چیه وقتی میخوام کد رو اپلود کنم
سلام عزیز
درایور برد را نصب کردید؟
سلام استاد من برای اینکه بتونم با استفاده از نرم افزار [arduino ide] برای پروگرام کردن نود ام سی یو استفاده کنم باید کتاب خونش رو نصب میکردم ولی هرکاری کردم فقط کتاب خونه esp32 بود و داخلش برد نود ام سی یو وجود نداشت میشه کمک کنید
سلام عزیز
لینک داده شده را در نرم افزار قرار بدهید سپس در Board Manager سرچ کنید پیدا میکنید.
سلام دوتا سوال داشتم
برد nodemcuesp8266 مثل ماژول esp8266 نیاز به پیکرهبندی داره؟ منظورم همین دستورهای AT هست .
برد NODEMCU رو وصل میکنم به کامپیوتر و برنامه چشمک زن رو از برنامه آردینو داخل می ریزم کار میکنه ولی وقتی میخوام با AT کامنت ها پیگربندی کنم برا اتصالات وای فای ازش استفاده کنم هرچقدر می نویسم AT اونجا تایپ نمیشه
بنظرتون مشکل از کجاست
سلام عزیز
esp8266 در نود ام سی یو دارای بوت لودر است و کاملا مثل ماژول esp8266 عمل نمیکند
بله
ولی حتی در دیوایس منیجر هم چیزی نیست.
همیشه قبل از نصب درایور دستگاه رو با نام ناشناس نشان میده ولی حتی قبل از نصب اینجوری نبود.
با یک سیستم دیگه بررسی کنید و از فروشگاهی که خریدید راهنمایی بگیرید
من یک بورد نور ام سیو خریدم و همین امروز به دستم رسید ولی حتی لپ تابم برد رو نشناخته و اصلا حتی تو device manager هم پورت بورد رد مشاهده نکردم تازه برد من از تراشه cp2102 استفاده می کنه
سلام عزیز
درایورش رو نصب کردید؟