هر دو ماژول ESP8266-12E و ESP8266-07 یک پین ADC دارند که به راحتی قابل دسترسی است. این بدان معناست که آن بردهای ESP8266 می توانند سیگنال های آنالوگ را بخوانند. در این آموزش نحوه راه اندازی ADC در ESP8266 با استفاده از زبان های برنامه نویسی Arduino IDE، MicroPython یا Lua را به شما نشان خواهیم داد.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

به عنوان مثال، نحوه خواندن مقادیر آنالوگ را از پتانسیومتر به شما نشان خواهیم داد. این پست در سه بخش تقسیم شده است:

  • خواندن مقادیر ADC ماژول ESP8266 در arduino ide
  • خواندن مقادیر ADC ماژول ESP8266 در MicroPython
  • خواندن مقادیر ADC ماژول ESP8266 در Lua/NodeMCU

مشخصات ESP8266 ADC

هنگامی که به دنبال پین ADC ماژول ESP8266 میگردید ممکن است با واژه های زیر برخورد کنید:

  • ADC (Analog-to-digital Converter)
  • TOUT
  • Pin6
  • A0
  • Analog Pin 0

تمام اینها به پین آنالوگ ماژول ESP8266 اشاره میکنند

رزولوشن ESP8266 ADC

پین ADC دارای وضوح 10 بیتی است، به این معنی که مقادیری بین 0 تا 1023 دریافت خواهید کرد.

محدوده ولتاژ ورودی ESP8266

محدوده ولتاژ ورودی پین ADC ماژول ESP8266 بین 0 تا 1 ولت است اگر از تراشه تکی استفاده می کنید. با این حال، اکثر بردهای توسعه ESP8266 دارای یک تقسیم کننده ولتاژ داخلی هستند، بنابراین محدوده ورودی 0 تا 3.3 ولت است. بنابراین، به طور خلاصه:

  • محدوده ولتاژ ADC در بردهای توسعه : 0 تا 3.3 ولت (به عنوان مثال: ESP8266 12-E NodeMCU Kit، WeMos D1 Mini، …)
  • محدوده ولتاژ ADC در تراشه : 0 تا 1 ولت (به عنوان مثال: تراشه ESP-07، تراشه ESP-12E، …)

پین آنالوگ ESP8266

با کیت ESP8266 12-E NodeMCU و سایر بردهای توسعه ESP8266، دسترسی به A0 بسیار آسان است، فقط لازم است یک سیم جامپر را به پین وصل کنید (شکل زیر را ببینید).

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

اگر از یک تراشه ESP8266 مانند ESP8266-07 استفاده می کنید، باید یک سیم را به آن پین لحیم کنید.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

قطعات مورد نیاز

برای اینکه نحوه استفاده از adc با ESP8266 را به شما نشان دهیم، مقادیر آنالوگ را از یک پتانسیومتر می خوانیم. برای این کار، باید یک پتانسیومتر به برد خود وصل کنید.

سخت افزاری که برای تکمیل این آموزش نیاز دارید در اینجا آمده است:

  • برد توسعه ماژول ESP8266 (توصیه میشود جهت راه اندازی ساده تر حتما از برهای توسعه استفاده کنید)
  • تراشه تکی ESP8266 (در صورت عدم استفاده از برد توسعه)
  • مقاومت های 100 و 200 اهم (در صورت استفاده از تراشه تکی)
  • پتانسیومتر 1 کیلو
  • بردبورد
  • سیم های جامپر

شماتیک

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

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

اگر از تراشه ESP8266 با محدوده ولتاژ ورودی 0 تا 1 ولت استفاده می کنید، باید مطمئن شوید که ولتاژ ورودی در پایه A0 از 1 ولت تجاوز نکند. بنابراین، همانطور که در زیر نشان داده شده است، به یک مدار تقسیم کننده ولتاژ نیاز دارید.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

جهت اطلاعات بیشتر این مقاله را میتوانید مطالعه نمایید: راهنمای جامع پین های ESP8266 (کدام پین ها را میتوانیم استفاده کنیم؟)

خواندن ADC ESP8266 با آردوینو IDE

این بخش نحوه خواندن مقادیر آنالوگ با ESP8266 را با استفاده از Arduino IDE نشان می دهد.

ESP8266 را در Arduino IDE نصب کنید

برای آپلود کد در ESP8266، ابتدا باید بردهای ESP8266 را نصب کنید، البته اگر قبلاً این کار را نکرده اید. میتوانید دستور العمل های این آموزش را دنبال کنید: نصب بردهای ESP8266 در آردوینو IDE (ویندوز – مک – لینوکس)

کد

کد زیر را در آردوینو IDE خود کپی کنید.

/*********
  Rui Santos
  Complete project details at https://randomnerdtutorials.com  
*********/

const int analogInPin = A0;  // ESP8266 Analog Pin ADC0 = A0

int sensorValue = 0;  // value read from the pot

void setup() {
  // initialize serial communication at 115200
  Serial.begin(115200);
}

void loop() {
  // read the analog in value
  sensorValue = analogRead(analogInPin);
 
  // print the readings in the Serial Monitor
  Serial.print("sensor = ");
  Serial.print(sensorValue);
  
  delay(1000);
}

آپلود کد روی ESP8266

کد قبلی را در ESP8266 آپلود کنید. مطمئن شوید که برد مناسب و پورت COM را انتخاب کرده اید. به Tools> Board بروید و مدل ESP8266 مورد استفاده خود را انتخاب کنید. در مورد ما، ما از کیت ESP8266 12-E NodeMCU استفاده می کنیم.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

به Tools > Port بروید و پورت COM که ESP8266 به آن متصل است را انتخاب کنید.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

دکمه آپلود Arduino IDE را فشار دهید.

نتیجه

پس از آپلود کد، مانیتور سریال را با نرخ باود 115200 باز کنید. قرائت آنالوگ باید نمایش داده شود.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

پتانسیومتر را بچرخانید و مقادیر را در حال افزایش یا کاهش ببینید.

خواندن ADC ESP8266 با میکروپایتون

این بخش نحوه خواندن مقادیر آنالوگ با ESP8266 را با استفاده از MicroPython نشان می دهد.

برای دنبال کردن این آموزش، باید فریمور MicroPython را در برد ESP8266 خود نصب کنید. همچنین برای نوشتن و آپلود کد در برد خود به یک IDE نیاز دارید. پیشنهاد می کنیم از Thonny IDE یا uPyCraft IDE استفاده کنید:

اسکریپت – خواندن آنالوگ ESP82266

اسکریپت زیر مقادیر آنالوگ ESP8266 را از پین A0 می خواند.

# Complete project details at https://RandomNerdTutorials.com

from machine import Pin, ADC
from time import sleep

pot = ADC(0)

while True:
  pot_value = pot.read()
  print(pot_value)
  sleep(0.1)

نتیجه

پس از آپلود کد روی برد ESP8266 با استفاده از Thonny IDE یا uPyCraft IDE، پتانسیومتر را بچرخانید.

برای خواندن مقادیر از پتانسیومتر، قسمت SHELL در MicroPython IDE خود را بررسی کنید.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

خواندن ADC ESP8266 با Lua/NodeMCU

این بخش نحوه استفاده از فریمور NodeMCU برای خواندن مقادیر آنالوگ با ESP8266 را نشان می دهد.

فلش کردن ESP8266 با فریمور Lua/NodeMCU

ابتدا باید ESP را با فریمور NodeMCU فلش کنید.

توصیه می کنم از ESPlorer IDE برای ارسال کامندها استفاده کنید .

تست پین ADC (A0)

برای ارسال دستورات با ESPlorer IDE، باید یک ارتباط سریالی با ESP خود برقرار کنید، این دستورالعمل ها را دنبال کنید:

  • پروگرامر ESP-12E یا FTDI خود را به رایانه خود وصل کنید
  • نرخ باود را روی 9600 تنظیم کنید
  • پورت پروگرامر ESP-12E یا FTDI خود را انتخاب کنید (برای مثال COM3)
  • Open/Close را فشار دهید
خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

سپس دستور زیر را تایپ کنید:

print(adc.read(0))

مطابق شکل زیر روی دکمه «ارسال» کلیک کنید.

خواندن مقادیر آنالوگ ADC ESP8266 در Arduino IDE ،MicroPython و Lua node mcu

باید مقداری بین 0 و 1024 برگرداند. پتانسیومتر خود را بچرخانید و دستور print(adc.read(0)) را چند بار دیگر ارسال کنید تا مقدار پتانسیومتر را بدست آورید.

هنگامی که پتانسیومتر شما نزدیک به 0 ولت است، 0 را چاپ می کند و زمانی که به 3.3 ولت می رسد باید 1024 را چاپ کند.

جمع بندی

در این آموزش نحوه خواندن مقادیر آنالوگ با استفاده از پین آنالوگ ESP8266 (A0) در محیط های آردوینو، میکرو پایتون و LUA NODE MCU را به شما نشان داده ایم. نکته مهمی که باید به آن توجه کنید این است که محدوده ورودی آنالوگ ESP8266 اگر از یک تراشه به تنهایی استفاده می کنید 0-1 ولت است یا اگر از برد توسعه استفاده می کنید 0-3.3 ولت است.

در هر صورت، همیشه باید مراقب باشید که از حداکثر ولتاژ توصیه شده تجاوز نکنید. هنگامی که به محدوده ولتاژ ورودی بالاتری نیاز دارید، می توانید یک مدار تقسیم کننده ولتاژ اضافه کنید.

منبع: https://randomnerdtutorials.com/esp8266-adc-reading-analog-values-with-nodemcu/

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]
بازگشت به لیست

نوشته های مشابه

دیدگاهتان را بنویسید