پروژه آردوینو, پروژه, توصیه شده, نرم افزار های الکترونیک

تبادل داده بین اندروید و آردوینو توسط بلوتوث

Arduino connect to Android

ارتباط آردوینو و بلوتوث و اندروید

امروزه تکنولوژی ارتباط بی‌سیم با سرعت زیادی در حال پیشرفت است. در این میان، فناوری بلوتوث از جایگاه خوبی برخوردار است. به‌نحوی‌که بسیاری از دیوایس‌ها (مانند: تلفن‌های همراه، موس، کی‌برد ، هدفون‌های بی‌سیم، خانه‌های هوشمند و …) از این بستر ارتباطی برای انجام کارهای خود استفاده می‌کنند.

ایده‌ی این فناوری در سال 1994 مطرح شد. در سال 1998 توسط شرکت اریکسون معرفی گشت و از سال 2000 در محصولات الکترونیکی بطور گسترده استفاده شده و همچنان در حال پیشرفت و کامل‌تر شدن است. این فناوری کمک شایانی به رشد اینترنت اشیاء کرده است.

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

ماژول بلوتوث سری HC

ماژول بلوتوث خانواده‌ی HC

از بین ماژول‌های موجود در بازار، ما از ماژول HC-06 استفاده می‌کنیم. شما می‌توانید از هرکدام از ماژول‌های این خانواده ( HC-03 , HC-04 , HC-05 ) استفاده کنید. این ماژول به لطف دوستان چشم‌بادامی قیمت مناسبی دارد (حدود 20 هزار تومان، در زمان نگارش این مطلب).

بیشتر ماژول‌ها از تراشه‌ی BC417 به همراه حافظه‌ی فلش استفاده می‌کنند و دارای مشخصه‌های زیر هستند:

CSR چیپ: بلوتوث ورژن 2

باند فرکانسی: 2.4GHz , 2.8GHz  و  باند ISM

ولتاژ کاری: 3.3 ولت (2.7V – 4.2V)

جریان مصرفی: حداکثر 35 میلی

 

می‌توانید شماتیک HC-06 را در زیر مشاهده کنید:

HC-04 HC-05 HC-06

پایه‌های HC-04 و HC-06 به ترتیب زیر:

UART_TX (pin 1), UART_RX (pin 2), UART_CTS (pin 3), UART_RTS (pin 4) – UART.
3,3V (pin 12) – Power 3.3V.
GND (pin 13) – GND.
PIO1 (pin 24) – LED working mode indicato

و پایه‌های HC-03 و HC-05 نیز به این ترتیب هستند:

UART_TX (pin 1), UART_RX (pin 2), UART_CTS (pin 3), UART_RTS (pin 4) – UART.
PIO8 (pin 31) – LED1 working mode indicator.
PIO9 (pin 32) – LED2. Before paired, it output low level. Once the pair is finished, it output high level.
PIO11 (pin 34) – KEY. Mode switch input.

درصورتی‌که کلید Mode در حالت صفر باشد، ماژول در حالت ارتباطی و اگر کلید Mode در حالت یک باشد، ماژول در حالت دستوری AT قرار می‌گیرد.

می‌توانید داکیومنت ماژول را از لینک زیر دانلود کنید:

HC-Serial-Bluetooth-Products-201104.pdf

اتصال بلوتوث به آردوینو

اتصال ماژول HC-06 به آردوینو نانو

پایه‌های آردوینو را به ترتیب زیر به ماژول بلوتوث متصل می‌کنیم:

پایه 3.3V آردوینو به پایه 12 ماژول بلوتوث

پایه زمین آردوینو به پایه 13 ماژول بلوتوث

پایه TX آردوینو به پایه 2 ماژول بلوتوث (RX)

پایه RX آردوینو به پایه 1 ماژول بلوتوث (TX)

 

بعد از اینکه ماژول را به آردوینو متصل کردیم، برای تست کارکرد صحیح برد آردوینو و ماژول، برنامه زیر را برای آردوینو استفاده می‌کنیم:

 

ماژول بلوتوث

برای صحت ارسال داده میتوانید توسط بلوتوث کامپیوتر به ماژول بلوتوث متصل به آردوینو متصل (pair) شوید. پسورد به‌صورت پیش‌فرض 1234 است.

برای مشاهده‌ی داده‌های ارسالی از نرم‌افزار Tera Term استفاده کنید. پورت مربوط به بلوتوث را انتخاب کرده و دیتاهای ارسالی را مشاهده کنید.

 

نرم افزار tera term

تا اینجا توسط آردوینو و یک ماژول بلوتوث، داده‌های خود را انتقال دادیم.

حال میخواهیم توسط یک گوشی اندرویدی، یک لامپ را خاموش و روشن کنیم. برای این منظور برنامه‌ی زیر را روی آردوینو پروگرام می‌کنیم:

 

نرم افزار اندروید کنترل اشیاء

برنامه اندرویدی برای ارتباط با بلوتوث

برای ارتباط با بلوتوث از یک برنامه‌ی جاوا استفاده می‌کنیم. برنامه را روی دستگاه اندرویدی نصب و اجرا می‌کنیم. توسط بلوتوث دستگاه به بلوتوث آردوینو متصل می‌شویم. در برنامه دو کلید با نام‌های LED ON و LED OFF وجود دارد که با فشار کلید مربوطه LED روی برد آردوینو روشن و یا خاموش می‌شود.

کد مربوط به برنامه‌ی اندروید را مشاهده می‌کنید:

 

(می‌توانید برنامه را نسبت به نیاز خود، کامل کرده و از آن استفاده کنید.)

سورس برنامه آردوینو و اندروید و فایل‌های APK را از لینک زیر دانلود کنید:

Android-Bluetooth-Arduino.zip


این ویدیو ارتباط آردوینو، بلوتوث و کامپیوتر را نشان می‌دهد:

 


این ویدیو ارتباط بین آردوینو، بلوتوث و یک تبلت اندرویدی را نشان می‌دهد.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

8 دیدگاه در “تبادل داده بین اندروید و آردوینو توسط بلوتوث

  1. Avatar for محمد محمد گفت:

    سلام
    آیا امکان اتصال اتومات گوشی به ماژول هست؟
    یعنی وقتی گوشی نزدیک محدوده ماژول بشه، گوشی اتومات به ماژول وصل بشه؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

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

  2. Avatar for علی علی گفت:

    سلام و خسته نباشید. سورس اندروید استودیو هست؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام سورس جاوا هست و توی اندروید استودیو هم قابل استفاده است

  3. Avatar for زهرا زهرا گفت:

    سلام
    ببخشید این کد الان ارسال میکنه فقط ؟ برای دریافت اطلاعات از ماژول از چه کدی باید استفاده کنیم در اندروید استودیو؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام امکان ارسال و دریافت دو طرفه وجود داره با همین ماژول
      ولی برنامه اندرویدی که نوشته شده فقط برای ارسال داده هست – اگر نه به سادگی میشه دریافت هم بهش اضافه کرد

      1. Avatar for امیرحسین آقاجانی امیرحسین آقاجانی گفت:

        سلام، هزینه یه برنامه خیلی ساده با 5 تا دکمه چقدره؟
        هر دکمه از یک تل چهار، عدد ارسال کنه و یه دکمه خاموش.
        با تشکر

        1. Avatar for Sisoog Os Sisoog Os گفت:

          دوست عزیز ما پروژه انجام نمیدیم
          اینجا پروژه را قرار دادیم که با تغییرات پروژه را خودتون انجام بدید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *