این ماژول از جدیدترین تراشه انتقال داده بیسیم با فرکانس 2.4 گیگاهرتزی NRF24L01 استفاده می کند.
این انتقال با سرعت بالا و حساسیت بالا در انتقال اطلاعات و مصرف کم انرژی از دیگر ویژگیهای این تراشه می باشد.
این ماژول کوچک از پین هدر دو ردیف پین هدر استاندارد با فاصله 2.5 میلیمتر استفاده می کند که همراه کالا وجود دارد.
int curPin = 0;
void setup() {
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
void loop() {
digitalWrite(curPin, LOW);
if (curPin == 3) {
curPin = 0;
} else {
curPin ++;
}
digitalWrite(curPin , HIGH);
delay(2000);
}
تراشه ESP8266 یک میکرو کنترولر 32 بیتی با سرعت 80 مگاهرتس است و دارای 64 کیلو حافظه دستوری و 96 کیلو حافظه دیتایی بوده و از حافظه جانبی فلش تا 4 مگ نیز پشتیبانی می کند.
پینهای GPIO شامل 16 پین با مبدل آنالوگ به دیجیتال 10 بیتی است.
پروتکلهای ارتباطی آن SPI , I2C , I2S , UART و شبکه وایرلس 2.4GHZ IEE802.AA می باشند.
از این تراشه قدرتمند در بردهای توصعه ESP_xx استفاده شده.
ماژول ESP01 کوچکترین برد توصعه این خانواده است که که در دو نسخه 512 کیلوبایتی و ESP01S با 1 مگابایت حافظه فلش ساخته شده است.
همان طور که مشاهده کردید ماژول ESP01 دارای 8 پین می باشد که 4 پین مربوط به GPIO ورودی و خروجی و 4 پین مربوط به فعالیتهای عملیاتی برد می باشد.
در ادامه به تشریح آنها خاهیم پرداخت.
پین VCC مثبت تغذیه می باشد که از 1.9 ولت تا 3.6 ولت را می پذیرد ولی ولتاژ پیشنهادی 3.3 ولت می باشد.
پین GND منفی تغذیه یا زمین می باشد.
پین RST ریست کردن ماژول و راه اندازی مجدد آن از خارج. اگر این پین را صفر کنید ماژول ریست می شود.
پین CH_PD این امکان را می دهد که عملکرد ماژول را متوقف کنیم. اگر این پین صفر شود ماژول متوقف می شود و با مثبت شدن آن عملکرد ماژول ادامه پیدا می کند. تفاوت این پین با ریست این است که در ریست همه چیز از ابتدا شروع می شود و حافظه آن از بین می رود ولی با این پین حافظه ماژول از بین نمی رود و فقط ماژول به خواب می رود.
پین GPIO0 باید با مقاومت 4.7 تا 10 کیلو به مثبت متصل شود تا ماژول بوت شود. در غیر این صورت ماژول به حالت برنامه ریزی در خواهد آمد.
پین GPIO2 باید با مقاومت 4.7 تا 10 کیلو به مثبت متصل شود تا ماژول بوت شود.
از پینهای TX و RX براي برنامه ريزي ماژول و یا براي ارتباط سريال که معمولاً براي رفع اشکال است استفاده مي شود ولی می توانید در برنامه ریزی این پینها را نیز به کار بگیرید. پین TX در برنامه GPIO01 می شود و پین RX نیز با GPIO03 شناسایی می شود.
شاید بگویید با 4 پین GPIO کار زیادی نمیشود کرد ولی با استفاده از I2C می توان چند سنسور را به این ماژول متصل کرد.
پینهای GPIO0 , GPIO2 را برای SCL و SDA معرفی کنید ولی یادآور می شوم که زمان بوت شدن ماؤول باید GPIO0 مثبت باشد تا ماژول کار کند.
برای آپلود برنامه نیز می توانید از ARDOINO_IDE استفاده کنید. برای این کار ابتدا باید بردهای ESP را به آن اضافه کنید.
توضیحات بیشتر مربوط به این برنامه را در مقاله دانستنیهای اولیه برای کار با کامپایلر آردوینو ببینید.
اما حتما تا اینجا از خودتون پرسیدید که این موجود رو چطوری به کامپیوتر وصلش کنم که بتونم برنامه ریزیش کنم!!؟ برای پاسخ به شکل زیر دقت کنید.
برای اتصال این ماژول و برنامه ریزی آن به یک مبدل TTL به USB نیاز داریم که با 3.3 ولت کارکنه. با کمک این مبدل و اتصال آن مانند شکل زیر می توانید برد را برنامه ریزی کنید.
دقت کنید که GPIO0 در حالت برنامه ریزی باید به زمین وصل شود.
در اینجا قصد داریم تا با یک برنامه ساده از این 4 پین مربوط به GPIO استفاده کنیم و عملکرد آنها را نمایش دهیم.
مدار مربوط به این مثال را در شکل زیر مشاهده می کنید.
مقاومتهای 4.7 کیلو اهمی برای بوت شدن صحیح ماژول قرار داده شده اند. مقاومتهای 2.2 کیلو برای محدود کردن جریان ال ای دی ها هستند.
برنامه نمونه را آپلود کنید و نتیجه را ببینید.
قبل از آپلود شدن برنامه دقت کنید که نوع برد و پورت اتصال و سایز حافظه فلش را درست انتخاب کنید تا عملیات آپلود به درستی انجام شود.