استفاده از آردوینو به عنوان Arduino TTL to USB

استفاده از آردوینو به عنوان Arduino TTL to USB

استفاده از آردوینو به عنوان Arduino TTL to USB
استفاده از آردوینو به عنوان Arduino TTL to USB

سلام.
محمدرضا هستم و در این آموزش قصد دارم با یک روش جالب شما رو از خرید یه قطعه بی نیاز کنم!
احتمالاً شما هم مثل من یه آردینو توی وسایلتون دارید و ممکنه در حال یادگیری ARM باشید و وقتی به مرحله تمرین برای بخش UART که آموزش آن هم داخل سایت هست برسید ممکنه بگید یک قطعه کم دارید و اون قطعه ساده چیزی نیست جز TTL to USB. خب آیا قراره برید داخل بازار؟ یا قراره به خاطر همین یه مورد خرید اینترنتی کنید؟ باید بگم اگر یک Arduino uno دارید خیلی راحت می‌تونید از آن استفاده کنید. در واقع از آردینو به عنوان مبدل TTL to USB استفاده می‌شود. نحوه کار خیلی سادست و شاید اگر تا به حال بهش دقت نکرده باشید براتون جالب هم باشد.

همونطور که میدونید Arduino IDE داخلش یک گزینه سریال مانیتور داره و اگر روی برد رو هم نگاه کنید TX و RX رو می‌تونید ببینید، پس کار تموم هست و چیزی که ما برای ساخت آردوینو TTL to USB دنبالش هستیم در دسترسمون هست. مثل عکس زیر کافیه تراشه روی برد Arduino رو خارج کنید (خط چین قرمز) یا با اتصال پایه RESET به زمین (سیم سبز) اون تراشه رو در حالت RESET نگه دارید.

 

برد آردینو در حالت ریست

آماده سازی برد Arduino جهت استفاده به عنوان مبدل

مرحله بعد اتصال پایه‌های RX و TX به یک تراشه مثل یک STM32f103c8t6 هست. در این حالت دقت شود که پایه TX هردو تراشه STM32 و Arduino به هم متصل شوند و پایه‌های RX هم به یکدیگر وصل شود.

نحوه اتصال برد آردینو به میکرو دیگر

نحوه اتصالات برد Arduino به تراشه دیگر

شاید از خودتون بپرسید که چرا RX به TX وصل نشده و پایه‌های هم نام به یکدیگر وصل شده‌اند. در اینجا باید بگم کار اصلی در اینجا توسط تراشه SMD که با فلش نارنجی در شکل بالا مشخص شده است انجام می‌گیرد و اگر بتوانید track ها را دنبال کنید می‌بینید که در اینجا TX به RX تراشه وصل شده است و RX به TX وصل شده است. در واقع تراشه‌ی DIP روی برد کاری انجام نمی‌دهد برای همین است که آن را خارج می‌کنیم یا در حالت ریست نگه می‌داریم.

بعد از اتصال پایه‌های RX و TX اتصال زمین‌های 2 بُرد و تغذیه 3/3 ولت را به هم برقرار می‌کنیم. در اینجا طبق آموزش داخل سایت مربوط به UART برنامه‌ی کوچکی را جهت تست، برنامه ریزی می‌کنیم.

 

تنظیمات CUbeMX

تنظیمات داخل CubeMX

 

تنظیمات را سِت می‌کنیم. مطابق شکل بالا پایه PA9 = TX و PA10 = RX است و همین پایه‌ها را به Arduino وصل می‌کنیم.

کد زیر را نیز در STM32F103C8T6 وارد می‌کنیم.

 

بعد از پروگرام کردن برنامه روی میکروکنترلر، می‌توان به کمک Arduino IDE صفحه‌ی سریال مانیتور را باز کنیم تا بتونیم از آردوینو TTL to USB که ساختیم استفاده کنیم. دقت شود که نوع بُرد و پورت را نیز به درستی و بعد از اتصال انتخاب کنید.

 

تنظیمات IDE آردینو و باز کردن سریال مانیتور

باز کردن صفحه سریال مانیتور از داخل Arduino IDE

علاوه بر این می‌توانید از نرم افزارهای مختلف مانند realterm نیز استفاده کنید. نتیجه کد بالا و سخت افزار معرفی شده به صورت زیر خواهد بود.

نتیجه ارسال اطلاعات در سریال مانیتور

عملکرد Arduino TTL to USB در پنجره سریال مانیتور

در فیلم زیر نمای واقعی مدار آردوینو TTL to USB استفاده در این بخش را ملاحظه می‌کنید. چشمک زدن چراغ TX نیز نشان دهنده تبادل اطلاعات است.

آردوینو TTL to USB

به عنوان یک چالش کوچک، برنامه را طوری تغییر دهید که هر عبارتی که در سریال مانیتور ارسال شد، همان را چاپ کند. به کمک این بخش کاربردی شما یاد می‌گیرید که به کمک Arduino TTL to USB خروجی‌های مختلف را در سریال مانیتور مشاهده کنید و به زبانی دیگر (به جز چشمک زدن LED) به دنیا سلام کنید. فراموش نکنید که هردو سیم RX و TX را نیز متصل کنید.

سلامی جدید به دنیا

 

اگر سوالی بود بپرسید 🙂

 

حمایت از محمدرضا

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

10 دیدگاه

  • Ali
    ۳ اردیبهشت ۱۴۰۱

    سلام الان برای مثلا پروگرام atmega8 میشه بدون مبدل اینکارو انجام داد یا باید اون stmباید باشه اگه امکان داره بی زحمت روش پروگرام atmega8با همین روش بزارید

    • Zeus ‌
      Zeus ‌
      ۴ اردیبهشت ۱۴۰۱

      سلام دوست عزیز
      از این روش برای پروگرام کردن atmega8 استفاده کرد
      چرا که در میکروکنترلر های خانواده st بوت لودری وجود داره که توسط خود st توسعه داده شده برای پروگرام کردن از طریق uart ولی این قابلیت در میکروکنترلر atmega8 وجود نداره

  • حمید ایل‌شاهی
    ۱۷ خرداد ۱۴۰۰

    سلام
    من بارها این کارو انجام دادم بدون بیرون آوردن میکرو کافیست یک پروژه تمیز داخل میکرو بارگیری شود.
    که برای اینکار کافیست دکمه NEW را زده و بدون اینکه چیزی به آن اضافه کنیم آردوینو را پروگرام کنیم.

    • محمدرضا ادیب
      محمدرضا
      ۶ مرداد ۱۴۰۰

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

  • A
    ۱۵ فروردین ۱۴۰۰

    سلام شما موفق شدین خروجی رو تمیز دریافت کنین؟ من چند ماه پیش دقیقا همین کار رو برای چک کردن صحت خروجی UART برد STM32F3 ام انجام دادم، یعنی به Uno وصلش کردم و توی ترمینال آردوینو پرینت کردم، ولی انقدر نویزی شده بود که از هر ده تا کاراکتری که میفرستادم یکیش غلط دریافت میشد!
    یا شاید به نویز ربطی نداشت و من جایی‌شو خراب کردم؟

    • محمدرضا ادیب
      محمدرضا
      ۱۵ فروردین ۱۴۰۰

      سلام
      من فکر نمیکنم به نویز ربطی داشته باشد. در گام اول دقت کنید که روی برد کریستال چند مگاهرتزی قرار داده شده اگر برای مثال 8 مگ هست، داخل تنظیمات CubeMX هم همان مقدار رو تنظیم کنید. در گام بعدی همونطور که در کامنت ها هم ذکر شده، مقدار Baud rate گیرنده با فرستنده باید یکی باشد. در انتها هم از صحت کدی که استفاده کردین مطمئن بشید و اگر مشکل پابرجا بود فایل پروژه رو ارسال کنید تا تست کنم.

  • پرنیا
    ۱۴ فروردین ۱۴۰۰

    جالب بود، اتفاقا من نمیدونستم این قطعه رو باید بخرم اما اردینو داشتم و تست کردم باهاش و شد. فقط baud rate توی نرم افزار ide یا اون یکی realterm باید با چیزی که تنظیم میکنید برای میکرو یکی باشه که خب بدیهی هست.

    • محمدرضا ادیب
      محمدرضا
      ۱۵ فروردین ۱۴۰۰

      سلام
      ممنون از توجه شما و خوشحالم که مطلب مفید واقع شده.
      بله درست هست، اگر سرعت دریافت و ارسال یکی نباشد طبیعتاً اطلاعات به درستی دریافت نمیشه.

  • میثم
    ۱۴ فروردین ۱۴۰۰

    بلا

  • َAmir
    ۱۳ فروردین ۱۴۰۰

    کار جالبی بود . منم یه تست زدم کار کرد .

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک