سالک: در مورد موارد استفاده i2c و spi و uart بگو
حتماً!
این سه تا پروتکل — I2C، SPI، UART — جزو مهمترین راههای ارتباطی بین میکروکنترلر و قطعات مختلف هستن. بیا یکییکی ساده و کاربردی بررسیشون کنیم:
1. UART (سریال معمولی)
کاربرد:
ارتباط ساده بین میکروکنترلر و کامپیوتر (مثلاً با USB به TTL)
ارسال و دریافت داده بین دو میکروکنترلر
اتصال به ماژولهایی مثل بلوتوث (HC-05)، GPS، GSM، ESP8266 (در حالت AT Command)
پایهها:
فقط ۲ تا:
TX (ارسال)
RX (دریافت)

مزایا:
سادهترین نوع ارتباط
نیازی به کلاک (Clock) نداره

معایب:
فقط ارتباط دوطرفه بین دو دستگاه
سرعت نسبتاً پایینتر نسبت به SPI
2. I2C (Inter-Integrated Circuit)
کاربرد:
اتصال به سنسورها و ماژولهای I2C مثل:
سنسور دما و رطوبت (SHT20، BMP280)
نمایشگرهای LCD با ماژول I2C
حافظه EEPROM
RTC (ساعت دقیق مثل DS1307)
ارتباط بین چند میکروکنترلر یا چند قطعه
پایهها:
فقط ۲ تا:
SDA (داده)
SCL (کلاک)

مزایا:
فقط با دو سیم میتونه با چندین دستگاه (multi-slave) صحبت کنه
آدرسدهی داره (هر قطعه آدرس مخصوص)

معایب:
نسبت به SPI کندتره
حساس به نویز در ارتباط طولانی

3. SPI (Serial Peripheral Interface)
کاربرد:
اتصال به ماژولهایی مثل:
کارتخوان SD
ماژول TFT LCD یا OLED با SPI
حافظههای Flash
ADC یا DAC خارجی
ارتباط سریع بین میکروکنترلر و قطعات
پایهها:
حداقل ۴ تا سیم:
MOSI (ارسال از مستر)
MISO (دریافت از اسلیو)
SCK (کلاک)
SS (انتخاب اسلیو / Chip Select)

مزایا:
بسیار سریعتر از UART و I2C
انتقال داده همزمان دوطرفه (Full-Duplex)

معایب:
نیاز به سیمهای بیشتر
معمولاً فقط یک اسلیو همزمان فعال میشه (مگر با چند SS)
جمعبندی:
پروتکل............... سیمها........ سرعت............ چند دستگاه؟.................... استفاده معمول
UART2 ......دو سیم..........متوسط.................. فقط دو دستگاه............. ارتباط سریال ساده
I2C2 .......دو سیم...............پایین ....................بله (تا 1008)............. سنسورها و LCDهای I2C
SPI4+ ........بیش از ۴ سیم.......بالا..................... بله (با چند SS) ...........کارت SD، نمایشگر سریع