در سلسله آموزش های ماژول ESP32، قسمت سوم به بررسی پایه های سخت افزاری و GPIO ماژول ESP32 می پردازیم. ماژول ESP32 از پایه های GPIO بسیار بیشتری نسبت به ESP8266 بهره می برد. این ماژول همچنین از ۱۸ کانال ADC 12 بیتی بهره می برد. همانطور که در قسمت سوم آموزش ESP8266 مشاهده کردیم، برخی از پایه های GPIO در حالت عادی در دسترس نیستند.؛ در اینجا نیز برخی از پایه های ESP32 در حالت عادی قابلیت استفاده ندارند. در کنار این، برد ESP32CAM تعدادی از پایه های GPIO را برای کارت SD و دوربین رزرو کرده که در این آموزش به این موارد خواهیم پرداخت. در ادامه با مرجع تخصصی ESP32 به زبان فارسی، دیجی اسپارک همراه باشید.
وضعیت کلی پایه های GPIO در برد ESP32
در آموزش سوم کار با برد ESP32 قصد بررسی عمیق تری نسبت به پایه های GPIO ماژول ESP32 را داریم. در جدول زیر پایه های ورودی/خروجی و وضعیت آن ها برای استفاده را مشاهده می کنیم.
شرح | وضعیت تعریف به صورت خروجی | وضعیت تعریف به صورت ورودی | نام پایه |
جهت قراردادن ماژول در حالت پروگرام، باید این پایه حین بوت به GND متصل گردد. از این رو دقت نظر لازم را در نظر بگیرید که با GND شدن این پایه در هنگام BOOT، ماژول وارد مد پروگرام خواهد شد.
****** این پایه دارای سنسور تاچ است. |
با رعایت نکات خاص می توان به عنوان خروجی تعریف کرد.
در هنگام boot این پایه سیگنال pwm تولید می کند. |
با رعایت نکات خاص می توان به عنوان ورودی تعریف کرد | GPIO0 |
این پایه، پایه TX ماژول است. در هنگام BOOT عباراتی که مربوط به راه اندازی هستند را در سریال مانیتور قرار می دهد. از این رو برای تعریف این پایه به عنوان خروجی، با توجه به تغییرات ولتاژ در هنگام بوت، دقت نظر لازم را در نظر داشته باشید. | تحت شرایط خاص می توان به عنوان خروجی تعریف نمود. | به عنوان ورودی نمی توان تعریف کرد. | GPIO1 |
این پایه به LED روی برد نیز متصل شده است.
****** این پایه دارای سنسور تاچ است. |
بدون مشکل می توان به عنوان خروجی تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO2 |
این پایه در هنگام بوت یک منطقی است. | به عنوان خروجی نمی توان تعریف کرد. | با رعایت نکات خاص می توان به عنوان ورودی تعریف کرد | GPIO3 |
این پایه دارای سنسور تاچ است. | بدون مشکل می توان به عنوان خروجی تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO4 |
بدون مشکل می توان به عنوان خروجی تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO5 | |
این پایه برای اتصالات حافظه SPI FLASH رزرو شده است. | به عنوان خروجی نمی توان تعریف کرد. | به عنوان ورودی نمی توان تعریف کرد. | GPIO6 |
این پایه برای اتصالات حافظه SPI FLASH رزرو شده است. | به عنوان خروجی نمی توان تعریف کرد. | به عنوان ورودی نمی توان تعریف کرد. | GPIO7 |
این پایه برای اتصالات حافظه SPI FLASH رزرو شده است. | به عنوان خروجی نمی توان تعریف کرد. | به عنوان ورودی نمی توان تعریف کرد. | GPIO8 |
این پایه برای اتصالات حافظه SPI FLASH رزرو شده است. | به عنوان خروجی نمی توان تعریف کرد. | به عنوان ورودی نمی توان تعریف کرد. | GPIO9 |
این پایه برای اتصالات حافظه SPI FLASH رزرو شده است. | به عنوان خروجی نمی توان تعریف کرد. | به عنوان ورودی نمی توان تعریف کرد. | GPIO10 |
این پایه برای اتصالات حافظه SPI FLASH رزرو شده است. | به عنوان خروجی نمی توان تعریف کرد. | به عنوان ورودی نمی توان تعریف کرد. | GPIO11 |
در صورتیکه در هنگام boot این پایه یک باشد، ماژول راه اندازی نخواهد شد.
****** این پایه دارای سنسور تاچ است. |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | با رعایت نکات خاص می توان به عنوان ورودی تعریف کرد | GPIO12 |
این پایه دارای سنسور تاچ است. | بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO13 |
در هنگام boot این پایه سیگنال pwm تولید می کند.
****** این پایه دارای سنسور تاچ است. |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO14 |
در هنگام boot این پایه سیگنال pwm تولید می کند.
****** این پایه دارای سنسور تاچ است. |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO15 |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO16 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO17 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO18 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO19 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO21 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO22 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO23 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO25 | |
بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO26 | |
این پایه دارای سنسور تاچ است. | بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO27 |
این پایه دارای سنسور تاچ است. | بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO32 |
این پایه دارای سنسور تاچ است. | بدون مشکل می توان به عنوان خروجی تعریف نمود. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO33 |
این پایه را تنها به عنوان ورودی می توان تعریف نمود. این پایه از مقاومت پول آپ و پول داون برخوردار نیست! | به عنوان خروجی نمی توان تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO34 |
این پایه را تنها به عنوان ورودی می توان تعریف نمود. این پایه از مقاومت پول آپ و پول داون برخوردار نیست! | به عنوان خروجی نمی توان تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO35 |
این پایه را تنها به عنوان ورودی می توان تعریف نمود. این پایه از مقاومت پول آپ و پول داون برخوردار نیست! | به عنوان خروجی نمی توان تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO36 |
این پایه را تنها به عنوان ورودی می توان تعریف نمود. این پایه از مقاومت پول آپ و پول داون برخوردار نیست! | به عنوان خروجی نمی توان تعریف کرد. | بدون مشکل می توان به عنوان ورودی تعریف کرد. | GPIO39 |
پس از بررسی پایه های دیجیتال و وضعیت آن ها، نوبت به پایه های آنالوگ و تنظیمات آن می رسد. قسمت بعدی مربوط به این موضوع است.
پایه های ADC برد ESP32 خواندن مقادیر و تنظیمات
پس از بررسی پایه های دیجیتال، در این قسمت به پایه های ADC می پردازیم. همانطور که گفته شد، ماژول ESP32 دارای ۱۸ کانال ADC با دقت ۱۲ بیت است. این ۱۸ پایه در دو پورت مجزا ADC قرار گرفته اند. جدول زیر شماره پایه ها و عبارت از پیش تعریف شده برای دسترسی به پایه ها(define) را نمایش می دهد.
شماره پایه ADC | مقدار از پیش تعریف شده |
GPIO36 | ADC1_CH0 |
GPIO37 | ADC1_CH1 |
GPIO38 | ADC1_CH2 |
GPIO39 | ADC1_CH3 |
GPIO32 | ADC1_CH4 |
GPIO33 | ADC1_CH5 |
GPIO34 | ADC1_CH6 |
GPIO35 | ADC1_CH7 |
GPIO4 | ADC2_CH0 |
GPIO0 | ADC2_CH1 |
GPIO2 | ADC2_CH2 |
GPIO15 | ADC2_CH3 |
GPIO13 | ADC2_CH4 |
GPIO12 | ADC2_CH5 |
GPIO14 | ADC2_CH6 |
GPIO27 | ADC2_CH7 |
GPIO25 | ADC2_CH8 |
GPIO26 | ADC2_CH9 |
در ادامه، توابع مربوط به تنظیمات ADC ماژول ESP32 که در کار با برد ESP32موثر است را می توان در جدول زیر مشاهده نمود.
شرح | تابع |
به کمک این تابع رزولوشن(دقت) تبدیل تعیین می گردد. دقت اندازه گیری در ورودی تعیین می گردد. عدد ۹ برای ۹ بیت(مقادیر بین ۰ الی ۵۱۱) و عدد ۱۲ برای دقت ۱۲ بیت(مقادیر بین ۰ الی ۴۰۹۵) تعیین می گردد. مقدار پیشفرض بدون تنظیم این تابع، ۱۲ بیت است. | analogReadResolution(resolution) |
به کمک این تابع تعداد سیگل هایی که cpu برای خواندن ADC مصرف می کند تعیین می گردد. مقدار ورودی بین ۱ الی ۲۵۵ بوده و پیشفرض ۸ است. | analogSetCycles(cycles) |
به کمک این تابع نرخ نمونه برداری تعیین می گردد. نرخ نمونه برداری در وردی قرار می گیرد. مقدار پیشفرض ۱ است. مقدار قابل قبول در بازه ۱ الی ۲۵۵ است. | analogSetSamples(samples) |
این تابع تقسیم فرکانسی کلاک برای ADC را تعیین می کند. این مقدار در ورودی قرار می گیرد. مقدار پیشفرض یک بوده و بازه قابل قبول بین ۱ الی ۲۵۵ است. | analogSetClockDiv(attenuation) |
این تابع ولتاژ مرجع ADC را تعیین می کند. ولتاژ مرجع در ورودی تابع قرار می گیرد. ورودی های معتبر به همراه مقادیر آن ها عبارتند از:
ADC_0db= ولتاژ مرجع ۸۰۰ میلی ولت ADC_2_5db=ولتاژ مرجع ۱۱۰۰ میلی ولت ADC_6db=ولتاژ مرجع ۱۳۵۰ میلی ولت ADC_11db=ولتاژ مرجع ۲۶۰۰ ولت توجه: مقدار پیشفرض برابر با ADC_11db است. |
analogSetAttenuation(attenuation) |
در ادامه، طی یک برنامه مقدار ADC را از ورودی خوانده و در سریال مانیتور قرار می دهیم.
void setup() { Serial.begin(115200); } void loop() { Serial.println(analogRead(36)); //خواندن مقدار ADC از پایه ۳۶ delay(1500); Serial.println(analogRead(37)); //خواندن مقدار ADC از پایه ۳۷ delay(1500); }
در برنامه فوق مقدار ADC از پایه های ۳۶ و ۳۷ خوانده شده و در سریال مانیتور قرار می گیرد.
خواندن مقادیر سنسور تاچ در برد ESP32
همانطور که پیشتر گفته شد، ماژول ESP32 دارای سنسور تاچ بر روی برخی از پایه های GPIO است. این پایه ها در جدول وضعیت ورودی خروجی مشخص شده است. برنامه زیر نحوه خواندن تاچ سنسور را نمایش می دهد.
void setup() { Serial.begin(115200); } void loop() { Serial.print("TOUCH SENSOR ON GPIO 4:"); delay(500); Serial.print(touchRead(4)); delay(500); }
در برنامه فوق، مقدار تاچ پایه GPIO4 خوانده شده و در سریال مانیتور چاپ می گردد.
برنامه نویسی PWM در ماژول ESP32
همانطور که گفته شد، ماژول ESP32 دارای امکانات جانبی مختلفی است. در رابطه با PWM نکات زیر را در نظر بگیرید.
۱-بر روی کلیه پایه های ماژول غیر از پایه های ۳۴ الی ۳۹ نمی توان PWM تولید نمود.
۲-ایجاد پالس PWM در ماژول ESP32 با تابعی متفاوت نسبت به analogWrite صورت می گیرد.
۳-قبل از ایجاد پالس PWM، می بایست تنظیمات را انجام دهید.
جدول زیر توابع مربوط به تنظیمات PWM را نشان می دهد.
شرح | تابع |
به کمک این تابع، پایه ای که قصد ایجاد PWM روی آن داریم تعیین می گردد. ورودی اول شماره پایه GPIO که قصد ایجاد PWM داریم، تعیین شود. ووردی دوم نیز کانال PWM را تعیین می کند. شماره کانال بین ۰ الی ۱۵ قرار می گیرد. | ledcAttachPin(GPIO, channel) |
این تابع نوشتن سیگنال PWM روی پایه را تعیین می کند. ورودی اول کانال PWM و ورودی دوم dutycycle را مشخص می کند. | ledcWrite(channel, dutycycle) |
به کمک این تابع تنظیمات مربوط به کانال و فرکانس و دقت مشخص می شود. ورودی اول کانال pwm، ورودی دوم فرکانس pwm و ورودی سوم دقت را تعیین می کند. بیشینه فرکانس ۷۸۱۲۵ هرتز و دقت ۱۰ بیت است. | ledcSetup(ledChannel, freq, resolution);
|
پس از بررسی توابع، نوبت به اجرای یک نمونه برنامه می رسد. کد زیر مقدار pwm دلخواه را با فرکانس تعیین شده در خروجی می نویسد.
const int ledPin = 16; // تعیین پایه ۱۶ برای PWM const int freq = 5000; //تعیین فرکانس PWM const int ledChannel = 0; //تعیین کانال PWM const int resolution = 8; //تعیین رزولوشن void setup(){ ledcSetup(ledChannel, freq, resolution); //تعیین تنظیمات ledcAttachPin(ledPin, ledChannel);//به کمک این تابع پایه PWM تعیین می گردد. } void loop(){ // افزایش نور LED for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){ // changing the LED brightness with PWM ledcWrite(ledChannel, dutyCycle); delay(15); } // کاهش نور LED for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){ // changing the LED brightness with PWM ledcWrite(ledChannel, dutyCycle); delay(15); } }
پورت های SPI و I2C و وقفه های خارجی
همانطور که گفته شد، ماژول ESP32 دارای یک پورت I2C و ۴ پورت SPI است. دو پورت SPI ماژول از پیش جهت برقراری ارتباط با حافظه فلش SPI رزرو شده است. دو پورت دیگر نیز در دسترس قرار دارد. پایه های I2C برای ماژول عبارتند از:
SCL->21 SDA->22
برای راه اندازی نیز از توابع کتابخانه wire استفاده می گردد. همچنین جدول زیر پایه های مربوط به دو پورت SPI را نمایش می دهد. کتابخانه SPI نیز برای راه اندازی، در این ماژول استفاده می گردد.
SPI | MOSI | MISO | CLK |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 |
در رابطه با وقفه، کلیه پایه های ماژول ESP32 قابلیت تبدیل شدن به وقفه را دارند. برنامه نویسی وقفه همانند دستورات آردوینو در ماژول ESP8266 است.
پایه های GPIO در ماژول ESP32CAM
همانطور که پیشتر در رابطه با ماژول ESP32-CAM صحبت کردیم، این ماژول بر روی خود از دوربین و یک ماژول کارت SD بهره می برد. ماژول دورین و ماژول کارت SD به پایه های GPIO برد ESP32 متصل هستند. در هنگام استفاده و فراخوانی توابع SD، پایه های زیر مورد استفاده قرار می گیرند.
MicroSD card | ESP32 |
CLK | GPIO 14 |
CMD | GPIO 15 |
DATA0 | GPIO 2 |
DATA1 | GPIO 4 |
DATA2 | GPIO 12 |
DATA3 | GPIO 13 |
پایه های GPIO فوق در ماژول ESP32-CAM در دسترس بوده و می توانید از آن ها استفاده نمایید. اما در صورتیکه کارت SD در برنامه فراخوانی شود، دیگر قابل استفاده نخواهند بود. همچنین سایر پایه ها توسط دوربین اشغال شده و دسترسی به آن ها روی برد وجود ندارد.
توجه: بر روی ماژول ESP32-CAM یک LED جهت فلش دوربین هنگام عکس برداری تعبیه شده است. این فلش به پایه GPIO4 متصل شده است.
لوازم متناسب با آموزش
جمع بندی
در سلسله آموزش های ماژول ESP32 قسمت دوم به طور مفصل و جامع به پایه های GPIO این ماژول کاربردی پرداختیم. ماژول ESP32 بر خلاف ماژول ESP8266 از پایه های GPIO به مراتب بیشتری برخوردار است. همچنین این ماژول دارای ۱۸ کانال ADC با دقت ۱۲ بیت است. در این آموزش ابتدا به بررسی پایه ها و قابلیت های هر پایه پرداختیم. سپس پایه های آنالوگ و نحوه کار با آن ها را مورد بررسی قرار دادیم. سپس سایر قابلیت ها نظیر PWM، SPI و I2C تحلیل و بررسی شد. در هر قسمت ضمن بررسی، به ارائه مثال برنامه نویسی پرداختیم. در نهایت به بررسی ماژول ESP32CAM و پایه های آن پرداختیم. در قسمت های بعدی این سلسله آموزش، با ورود به بحث های شبکه ای، امکانات وای فای و بلوتوث ماژول را بررسی خواهیم نمود.
چنانچه مطالب این آموزش را گنک یافتید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مطالب درج شده و یا کدها وجود دارد میتوانید از همین طریق اطلاع رسانی کنید.
ادامه مطالب این آموزش
راه اندازی و کار برد ESP32 قسمت چهارم: مد ایستگاهی STATION دریافت IP
راه اندازی و کار با برد ESP32 بخش پنجم: مد نقطه دسترسی AP
راه اندازی و کار با برد ESP32 بخش ششم: مد سرور Server
راه اندازی و کار با ESP32 بخش هفتم: لایه انتقال و ارتباط با موبایل توسط مودم
راه اندازی و کار با برد ESP32 بخش هشتم: اجرای متد GET
راه اندازی و کار با برد ESP32 قسمت نهم: اجرای متد POST
راه اندازی و کاری با ماژول ESP32 قسمت دهم: شناخت و راه اندازی MDNS
راه اندازی و کار با ماژول ESP32 قسمت یازدهم: ESP-Cam دوربین و کارت SD
راه اندازی و کار با برد ESP32 قسمت دوازدهم: راه اندازی بلوتوث Bluetooth
با سلام و خسته نباشید.
من یک ماژول esp8266-12f خریداری کردم. برای تست و راه اندازیش خارج از برد با یک مبدل usb به ttl و ترمینال به ترتیب پایه های: VCC – En – RESET ماژول به ۳٫۳ ولت مبدل usb
TX ماژول به RX مبدل usb
RX ماژول به TX مبدل usb
وصل شده اند. اما در این حالت پس از اتصال مبدل به کامپیوتر در کسری از ثانیه LED ماژول روشن شده و سپس خاموش می شود و خاموش می ماند. ضمنا در هیچ یک از ترمینال های معرفی شده امکان تست نداشتیم.
۱٫ آیا زمانی که ماژول روشن است باید LED آن دائما روشن باشد یا مانند SIM800 قاعده ی خاصی دارد؟
۲٫ لطفا یک ترمینال که به طور مطمئن در صورت درست بودن اتصالات سخت افزاری پاسخ می دهد به جز ترمینال های داخلی کد ویژن و بسکام معرفی نمایید.
سپاس.
سلام و متشکرم از شما
خیر، این ماژول با اتصال تغذیه یک لحظه LED آن روشن شده و سپس خاموش می شود. توجه داشته باشید که پایه ریست با یک مقاومت ۱۰ کیلو باید به VCC متصل شود. همچنین پایه GPIO15 می بایست حتما جهت راه اندازی با یک مقاومت ۱۰ کیلو به زمین متصل گردد. ترمینال مناسب جهت تست نیز ترمینال نرم افزار هرکول مناسب امر است.
سلام. در ارتباط i2c یک ماژول نمیتونم بیشتر از ۲۴ داده در هر ثانیه بدست بیارم. در دیتاشیت نرخ نمونه برداری رو ۱۲۴ نوشته
لطفا راهنمایی بفرمایید که در کدنویسی چکار باید بکنم. ممنون
سلام
از تابع زیر جهت تنظیم سرعت ارتباط I2C می توانید استفاده کنید:
Wire.setClock
ممنون از اینکه به موقع جواب میدید
ببینید این مقدار رو روی ۸۰٫۰۰۰ که میذارم حدودا ۳۰ سمپل در ثانیه بدست میاد و وقتی روی ۸۰۰٫۰۰۰ تنظیم میشه تعداد سمپل ها کمتر شده و چیزی حدود ۲۲-۲۳ تا استخراج میکنه.
من تابع millis رو فعال کردم تا زمان رو ببینم. همچنین کریستال روی برد آردوینو۱۶٫۰۰۰ هست
متشکرم از شما
بسیار خب
سنسور و یا ماژولی که به اردوینو متصل کرده اید چیست؟
ماژول bmp180
با یکسری تغییرات و اجرای این کد که براتون آپلود کردم، الان به چیزی حدود ۵۰ نمونه در ثانیه رسیدم
https://uupload.ir/view/code_0hp6.txt
این رو هم اضافه کنم که در فایل .cpp گزینه ای هست که بصورت زیر تنظیم کردم و به این طریق تونستم در ثانیه ۵۰ نمونه استخراج کنم
mode = BMP085_MODE_ULTRALOWPOWER;
عجیبه که در دیتاشیت نوشته شده مود STANDARD میتونه ۱۲۴ نمونه در ثانیه استخراج کنه که این کار رو انجام دادم و sample rate کمتر شد
ULTRALOWPOWER رسما بهترین عملکرد رو تا الان داشته
از اینکه اطلاعات خود را به اشتراک گذاشته اید صمیمانه سپاسگزارم.
ممنونم ولی جمله قبلی سوالی بود!
الان من نمیتونم بیشتر از۵۰سمپل در ثانیه بدست بیارم. این عدد طبق دیتاشیت باید ۱۲۴ سمپل بر ثانیه باشه. ایراد کار کجاست؟
آها
بسیار خب
متاسفانه اطلاعی ندارم، از دیگر دوستان که اطلاع دارند تقاضای شرکت در بحث را دارم
من جواب نگرفتم دوست عزیز. یک هفته هست که منتظر جوابتونم
من الان به ۵۵ نمونه در ثانیه رسیدم که این مقدار باید دوبرابر بشه. چکار کنم؟
تا همین لحظه که با شما صحبت می کنم، بیش از ۲۸ هزار کامنت در دیجی اسپارک درج شده است. بنابراین در بعضی اوقات پاسخ به کامنت ها زمانبر می شود. در مورد سوال شما هم چنان که بیان شد، متاسفانه اطلاعی ندارم
سلام.
من در آپلود کد مثال eps32 cam با این ارور مواجه میشم. چطور میتونم اینو رفعش کنم؟
آموزش راهاندازی esp32 cam را هم از طریق همین سایت و با همان ماژولها گام به گام پیش رفتم.
ارور به این شرح است:
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
پورت قبل از این ارور هم تشخیص داده شده است و این خط نمایش داده شدهاست
Serial port COM10
Connecting ……____……_____……_____…..
با سلام و تشکر از شما
هنگام آپلود کدها روی برد، تمامی اتصالات بجز اتصال پروگرامر را جدا کنید.
سلام برای من هم همین مشکل پیش آمده و فقط هم اتصالات پروگرام به برد وصله و باز هم همین ارور میاد روشی برای حلش هست؟؟
با سلام
لطفا مشکلتان را دقیقا توضیح دهید.
سلام من ماژول esp32cam گرفتم و بعد از چند بار پروگرام متوجه شدم اشتباه پروگرام میکردم و ip به من نمیداد.
خاستم ببینم چطور میشه به تنطیمات کارخانه بازگشت؟
آیا با نگه داشتن دکمخ reset این کار انجام میشه؟
سلام
دکمه ریست صرفا باعث راه اندازی برنامه از ابتدا می شود. جای نگرانی نیست، شما می توانید مجددا پروگرام کنید.
سلام خسته نباشید
من این ماژول خریداری کردم و چند بار پروگرام کردم و فهمیدم اشتباهه پروگرام میکنم. خاستم بدونم چطوری میشه به تنطیمات کارخانه بزگشت ؟
ایا با نگه داشتن دکمه reset به تنظیمات اولیه برمیگردیم؟
سلام
این ماژول تنظیمات کارخانه ای خاصی ندارد. بسته به برنامه ای که روی آن قرار می گیرد، برای شما عمل می کند. آیا منظور شما firmware مدل AT است؟
سلام خسته نباشید در توضیحات پایه ۲۱ SDA و پایه ۲۲ SCL میباشد
با سلام
سپاس از همراهی شما