آموزش رزبری پای رزبری پای میکروپایتون Micropython

آموزش میکروپایتون با رزبری پای پیکو بخش ششم: ارتباط سریال UART

getting-started-with-raspberry-pi-pico-micropython-part-six-uart-digispark
نوشته شده توسط پریسا پوربلورچیان

پروتکل ارتباطی UART، برای برقراری ارتباط سریال بین میکروکنترلر ها و دیوایس ها کاربرد دارد. ارتباط UART یک ارتباط سریال دو طرفه بین فرستنده TX, گیرنده RX است. در بخش ششم از سری آمورش های میکروپایتون با رزبری پای پیکو به معرفی پروتکل ارتباطی UART و نحوه ی فراخوانی آن در میکروپایتون خواهیم پرداخت. در ادامه با مرجع تخصصی رزبری پای، به زبان فارسی، دیجی اسپارک همراه باشید.

پورت UART در رزبری پای پیکو pico - دیجی اسپارک

 


پروتکل ارتباطی UART


UART مخفف عبارت Universal Asynchronies Receiver Transmitter است . از پروتکل ارتباطی UART برای برقراری ارتباط سریال بین میکروکنترلرها و دیوایس ها استفاده می‌شود. ارتباط UART، یک ارتباط دو طرفه است. در پروتکل ارتباطی UART فرستنده و گیرنده می توانند همزمان داده را ارسال و دریافت کنند. ارتباط UART دارای دو پایه RX و TX است. پایه RX جهت دریافت و پایه TX جهت ارسال داده ها به کار می رود. بادریت مشخص می‌کند که اطلاعات با چه سرعتی بر روی خط سریال ارسال می‌شوند و واحد بیت در ثانیه (bps) بیان می‌شود.یکی از پرکاربردترین بادریت ها ۹۶۰۰ بیت در ثانیه است. دیگر بادریت های استاندارد ۱۲۰۰، ۲۴۰۰، ۴۸۰۰، ۱۹۲۰۰، ۳۸۴۰۰، ۵۷۶۰۰ و ۱۱۵۲۰۰ است.

پروتکل ارتباطی UART (Universal Asynchronous Receiver/Transmitter) یک استاندارد ارتباطی سریال برای ارتباط دستگاه‌ها با یکدیگر است. این پروتکل اغلب برای ارتباط میان میکروکنترلرها، ماژول‌ها، سنسورها و دستگاه‌های مختلف الکترونیکی استفاده می‌شود. UART یکی از ساده‌ترین و پراستفاده‌ترین روش‌های ارتباطی سریال است.

ارتباط UART به صورت دیجیتال و بی‌پایان انجام می‌شود و از دو خط اصلی تشکیل شده است:

  • TX (Transmit): این خط برای ارسال داده‌ها از دستگاه منبع به دستگاه مقصد استفاده می‌شود.
  • RX (Receive): این خط برای دریافت داده‌ها از دستگاه مقصد به دستگاه منبع مورد استفاده قرار می‌گیرد.

UART از تکنیک ارسال اطلاعات به صورت ناهمزمان (Asynchronous) استفاده می‌کند، به این معنا که داده‌ها با فاصله‌های زمانی متغیری ارسال می‌شوند و هیچ سیگنال تاکننده‌ای برای هماهنگ‌سازی زمانی ندارند. برای این منظور، هر ارسال داده با یک بیت استارت (Start Bit) شروع می‌شود، سپس بیت‌های داده و بیت‌های انتهایی (Stop Bits) دنبال می‌شوند. این استراکچر برای دستگاه‌ها امکان تشخیص شروع و پایان داده‌ها را فراهم می‌کند.UART می‌تواند با انتخاب سرعت انتقال مختلف (Baud Rate) کار کند، که تعیین می‌کند که چقدر داده در هر ثانیه انتقال داده می‌شود. برخی از مقادیر معمول برای Baud Rate در ارتباط UART شامل ۹۶۰۰، ۱۹۲۰۰، ۳۸۴۰۰، ۵۷۶۰۰ و ۱۱۵۲۰۰ بوده و در هر دستگاه مشخص می‌شود.

 

 

استفاده از UART در میکروبیت - دیجی اسپارک

 


  در رزبری پای پیکو UART (serial bus)


در رزبری پای (Raspberry Pi)، پین‌های UART (Universal Asynchronous Receiver/Transmitter) یک راه برای ارتباط با دستگاه‌ها و سنسورها با استفاده از ارتباط سریال فراهم می‌کنند. برای استفاده از پورت UART در رزبری پای، شما به دستگاه خود باید به صورت فیزیکی به پین‌های UART متصل شوید و سپس نرم‌افزار را تنظیم کنید تا ارتباط UART را پشتیبانی کند.

در رزبری پای پیکو (Raspberry Pi Pico)، شما دو پین UART را دارید:

  • UART0:
    GP0 (پین ۰): TX (ارسال داده)
    GP1 (پین ۱): RX (دریافت داده)

برای استفاده از UART در رزبری پای پیکو، می‌توانید از زبان برنامه‌نویسی MicroPython یا C/C++ استفاده کنید. در مثال زیر، از MicroPython برای تنظیم و استفاده از UART استفاده می‌شود:

import machine
import utime

# تنظیم UART با استفاده از GP0 و GP1
uart = machine.UART(0, baudrate=9600)

while True:
uart.write(“Hello, UART!\n”)
utime.sleep(1)

در این مثال، یک ارتباط UART با سرعت ۹۶۰۰ بیت در ثانیه برقرار می‌شود و سپس پیام “Hello, UART!” هر ثانیه یکبار ارسال می‌شود.برای خواندن داده‌ها از UART، شما می‌توانید از uart.read() یا uart.readline() استفاده کنید. همچنین، می‌توانید تنظیمات مختلفی مانند سرعت ارتباط (baudrate) و حجم داده (databits، stopbits، parity) را با استفاده از پارامترهای مختلف در تنظیمات UART تغییر دهید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 


مثال: برقراری ارتباط UART با Tera Term


برای تست ارتباط UART با سایر سیستم ها و میکروکنترلرها نیاز به استفاده و فراخوانی از ماژول UART در رزبری پای پیکو PICO هستیم. در این مثال به کمک یک مبدل USB TO SERIAL ارتباط بین رزبری پای پیکو و پی سی PC را برقرار کرده و توسط پایه های RX , TX دیتای مورد نظر که در اینجا یک متن است را ارسال می‌کنیم. برای نمایش دیتا در پی سی PC به یکی از نرم افزارهای ارتباطی نیاز داریم. برای این منظور از نرم افزارهایی مانند HERCULES, TERMA TERM, PUTTY, HYPER TERM میتوانیم استفاده کنیم. برای برقراری ارتباط سریال در رزبری پای پیکو از دو ارتباط سریال UART میتوانیم به دلخواه استفاده کنیم که به صورت زیر در برنامه تعریف می‌شود.

uart0 = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))

uart1= UART(1, baudrate=9600, tx=Pin(8), rx=Pin(9))

 

ّمثال: برقراری ارتباط UART با Tera Term رزبری پای پیکو - دیجی اسپارک

 

اتصالات بین رزبری پای پیکو مبدل usb to serial به صورت زیر است.

  •  پایه RX رزبری پای پیکو را به پایه TX مبدل متصل کنید.
  • پایه TX رزبری پای پیکو را به پایه RX مبدل متصل کنید.
  • پایه GND رزبری پای پیکو را به پایه GND مبدل اتصال دهید.

پایه های ورودی خروجی رزبری پای پیکو - دیجی اسپارک

طبق PINOUT بالا پایه های TX0, RX0, TX1, RX1 مشخص شده است. برای برقراری ارتباط نرم افزار TERMA TERM را نصب کنید. پس از نصب بر روی گزینه SERIAL کلیک کنید و سپس مبدل USB را به پورت سیستم PC اتصال دهید. در نرم افزار TERMA TERM پورت شناسایی شده و آماده به کار خواهد بود.

ارتباط UART با Tera Term و برد رزبری پای پیکو - دیجی اسپارک

 

در ابتدا گزینه Serial را انتخاب کنید. سپس پورت در صورت صحیح بودن ارتباط و اتصالات شناسایی می‌شود. در نهایت بر روی OK کلیک کنید. پنجره ترمینال باز می‌شود.

نرم افزار Tera Term با برد رزبری پای پیکو - دیجی اسپارک

 

زمان استفاده از کد میکروپایتون رسیده است. با توجه به کلاس هایی که در پاراگراف اول یاد گرفتیم. ارتباط سریال را در کد برنامه فراخوانی می‌کنیم.

راه اندازی ارتباط سریال UART با برد رزبری پای پیکو - دیجی اسپارک

 


کد میکروپایتون برقراری ارتباط سریال UART


برای اجرای کد نرم افزار Thonny Python IDE را باز کرده و پس از انتخاب برد رزبری پای پیکو کد را انتقال دهید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 


جمع بندی لیدی پای


به همین سادگی میتوانید ارتباط UART را توسط مبدل usb to serial با دیگر سیستم ها برقرار و ایده هایتان را پیاده سازی کنید. مهمترین نکته در اجرای این پروژه برقرای ارتباط صحیح بین رزبری پای پیکو و مبدل USB TO SERIAL مورد استفاده است. سپس از هر نرم افزار ارتباطی که استفاده می‌کنید حتما پورت را دقیق مشخص کنید. مطابق با تصویر نرم افزار TERMA TERM تنظیمات از جمله BOUDRATE را مشخص کنید. پایه TX مبدل به پایه RX پیکو و پایه RX مبدل به پایه TX پیکو متصل می‌شود. تغذیه برد رزبری پای پیکو را از طریق یک کابل USB دیگر برقرار کنید.

 


وسایل مورد نیاز


رزبری پای پیکو

ماژول مبدل USB to TTL CP2102 

ماژول مبدل USB to Serial FT232RL – پروگرامر FTDI

ماژول USB2.0 To TTL مبدل سریال UART با تراشه CP2102

برد بورد Bread Board مدل MB 102

پک ۳ عددی کابل فلت ۱۰ سانتی متری رنگی Jumper color kit

کد میکروپایتون برقراری ارتباط سریال UART - دیجی اسپارک

 

چنانچه در مراحل راه اندازی برد رزبری پای پیکو Picro و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۴ دیدگاه