مقدمه
برد توسعه یافته ESP32 به عبارتی نسخه توسعه یافته از خانواده ESP8266 و جایگزین مناسبی برای آن می باشد. از ویژگی های جدید اضافه شده می توان به قابلیت های بی سیم WiFi و بلوتوث، دو هسته ای بودن اشاره کرد.
ESP32 DEVKIT DOIT
در این پست, مدل ESP32 ای که استفاده می کنیم، DEVKIT DOIT می باشد. اما تمای مطالب این پست برای بقیه مدل ها نیز مناسب است.
در شکل زیر تعدادی از ESP32 ها را به عنوان مثال داریم:
برد ESP32 را می توانید از فروشگاه الکترونیکی ایوینک تهیه کنید.
برد توسعه ESP32 ویژه اینترنت اشیاء
مشخصات
- ESP32 دو هسته ای می باشد. بدین معنی که دارای دو پردازنده است.
- بلوتوث و WiFi داخلی دارد.
- برنامه 32 بیتی را اجرا می کند.
- فرکانس ساعت می تواند تا 240مگا هرتز افزایش یابد و دارای 512 کیلوبایت RAM است.
- 30 یا 36 پین دارد.(15 عدد در هر ردیف)
- دارای طیف وسیعی از لوازم جانبی است: لمس خازنی, ADCs, DACs, UART, SPI, I2C..
- همراه با سنسور داخلی دما می باشد.
مشخصات : ESP32 DEVKIT V1 DOIT
تعداد هسته | 2 هسته ای |
WiFi | 24گیگاهرتز حداکثر تا 150Mbits/s |
بلوتوث | BLE (Bluetooth Low Energy) و بلوتوث قدیمی |
معماری | 32 بیتی |
فرکانس ساعتی | حداکثر 240 مگاهرتز |
RAM | 521 کیلوبایت |
پین | 30 یا 36 |
لوازم جانبی | * |
*تاچ خارنی، ADC (مبدل آنالوگ به دیجیتال)،DAC(مبدل دیجیتال به آنالوگ)،(گیرنده و فرستنده غیر همزمان)I2C،UART، ناحیه کنترل کننده شکبه اینترنت CAN 2.0 (Controller Area Network) ⇓
SPI،I2S،RMII،PWM
نرم افزارهای مورد نیاز
- Arduino IDE
- Espressif IDF (IoT Development Framework)
- Micropython
- JavaScript
- LUA
- …
آماده سازی برد ESP32 در Arduino IDE
برای راهنمای کامل نصب esp32 و راه اندازی در arduino ide به پست زیر مراجعه کنید:
نصب ESP32 در Arduino IDE (ویندوز،مک OS X و لینوکس)
پین های ESP32
در esp32 می توانید انتخاب کنید که کدام پین UART, I2C یا SPI باشد. به شکل های زیر توجه کنید:
30 GPIOs
36 GPIOs
برای اطلاع از جزئیات دقیق تر پین های ESP32 به مطلب زیر مراجعه کنید:
کدنویسی؛ESP32 با استفاده از Arduino IDE
در این قطعه کد, ما مثالی از یک LED چشمک زن برای در بیشتر کدنویسی esp32 آورده ایم.
کد زیر را در محیط Arduino IDE کپی کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* Blink */ // ledPin refers to ESP32 GPIO 23 const int ledPin = 23; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin ledPin as an output. pinMode(ledPin, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |
- در اینجا, کنترل LED را با اتصال به GPIO 23 انجام می دهیم:
1 |
const int ledPin = 23; |
قطعات مورد نیاز
مدار شماتیک
اتصالات را مطابق شکل زیر انجام دهید:
برد توسعه ESP32 را به کامپیوتر خود متصل کرده و مراحل زیر را اجرا کنید:
- به منوی Tools و پس از آن به زیر منوی Board رفته تا مدل برد ESP خود را بیابید. سپس بر روی آن کلیک کرده و انتخاب کنید.
- به منوی Tools و پس از آن به زیر منوی Port رفته و پورت COM را انتخاب کنید.
3. بر روی دکمه آپلود کلیک کنید.
⚠️ اگر در هنگام آپلود کد؛ با پیغام خطای زیر مواجه شدید، پس که ESP32 شما در حالت flashing/uploading قرار ندارد:
Failed to connect to ESP32: Timed out... Connecting...
- دکمه “BOOT” که در برد ESP32 است، فشار دهید و در حالت پایین نگه دارید.
- پس از اینکه پیغام “….Connecting” را در arduino ide مشاهده کردید، انگشت خود را از روی دکمه بردارید.
- پس از مراحل بالا, پیام “Done uploading” را باید مشاهده کنید.
نمایش
پس از بارگذاری کد, LED هر ثانیه چشمک می زند:
LED به GPIO 23 متصل است
نظرات و ایده های خود را با ما به اشتراک بگذارید.🙂