متوسط⏱ 12 دقیقه مطالعه

UART (Universal Asynchronous Receiver-Transmitter) ساده‌ترین پروتکل ارتباط سریال است که با تنها دو سیم (TX و RX) بین دو دستگاه داده رد و بدل می‌کند. همان چیزی که وقتی از print() استفاده می‌کنید و خروجی را در Thonny یا سریال مانیتور می‌بینید، در پشت صحنه از طریق UART0 ارسال می‌شود.

ایجاد یک UART اضافه

ESP32 چند واحد UART دارد. UART0 معمولاً برای برنامه‌نویسی/دیباگ رزرو است؛ برای ارتباط با ماژول‌های دیگر (مثل GPS یا بلوتوث سریال HC-05) از UART1 یا UART2 روی پایه‌های دلخواه استفاده می‌کنیم.

PYTHON
from machine import UART, Pin
from time import sleep

uart2 = UART(2, baudrate=9600, tx=17, rx=16)

while True:
    uart2.write("سلام از ESP32\n")
    if uart2.any():
        data = uart2.read()
        print("دریافت شد:", data)
    sleep(1)
ℹ️ اطلاعات

باودریت (baudrate) دو طرف ارتباط باید کاملاً یکسان باشد؛ رایج‌ترین مقدار 9600 یا 115200 است.

کاربردهای رایج UART

  • ماژول‌های GPS برای دریافت مختصات مکانی
  • ماژول‌های بلوتوث سریال مثل HC-05/HC-06
  • ارتباط بین دو میکروکنترلر
  • پرینترهای حرارتی و برخی نمایشگرهای سریال
نمونهٔ ارتباط سریال با UART باز کردن در Wokwi ↗

این یک شبیه‌سازی واقعی و قابل اجراست؛ روی دکمه پخش (▶) در Wokwi بزنید تا کد روی برد مجازی ESP32 اجرا شود.

❓ حداقل چند سیم برای ارتباط پایهٔ UART نیاز است (بدون زمین مشترک)؟
طراحی و توسعه: امین شیخ نجدیglcd.ir