برد Esp32

راه اندازی و کار با برد ESP32 بخش سوم: معرفی پایه ها و بررسی سخت افزاری

esp32-tutorial-step-three-gpio-and-hardware-digispark
نوشته شده توسط معین صابری

در سلسله آموزش های ماژول 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

برد ESP32ACM

مبدل سریال به USB

 


جمع بندی


در سلسله آموزش های ماژول 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 یک ماژول نمیتونم بیشتر از ۲۴ داده در هر ثانیه بدست بیارم. در دیتاشیت نرخ نمونه برداری رو ۱۲۴ نوشته
    لطفا راهنمایی بفرمایید که در کدنویسی چکار باید بکنم. ممنون

      • ممنون از اینکه به موقع جواب میدید

        ببینید این مقدار رو روی ۸۰٫۰۰۰ که میذارم حدودا ۳۰ سمپل در ثانیه بدست میاد و وقتی روی ۸۰۰٫۰۰۰ تنظیم میشه تعداد سمپل ها کمتر شده و چیزی حدود ۲۲-۲۳ تا استخراج میکنه.

        من تابع 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 است؟