پروژه الکترونیکپروژه های بلوتوثپروژه های پایتونپروژه های رزبری پای

پروژه تایپ با صدا در LCD با رزبری پای و موبایل اندروید

سلام. پروژه تایپ با صدا در LCD با رزبری پای و موبایل اندروید را آماده کردیم.

آموزش تایپ صوتی در ال سی دی کاراکتری با رزبری پای

حتما با تایپ صوتی که ویژگی ای جذاب و نه چندان جدید در رایانه ها و تلفن های همراه است آشنا هستید. با تایپ صوتی میتوانید با گفتن کلمات آن ها را تایپ کنید. تایپ صوتی برای افراد معلول یا هر شخصی که میخواهد سریع تایپ کند یا پیامی را بفرستد بسیار مفید است. ما در این پروژه رزبری پای، میتوانیم با گفتن کلمات مقابل تلفن همراه اندروید، کلمات گفته شده را در ال سی دی کاراکتری متصل به رزبری پای ببینیم. همچنین بدون استفاده از تایپ صوتی، و فقط با نوشتن حروف و کلمات میتوانید متن روی LCD را تغییر دهید.

در این پروژه صدای ورودی با استفاده از صفحه کلید Google Voice در یک برنامه اندروید به نام BlueTerm تبدیل به کلمات میشود و با بلوتوث به Raspberry pi ارسال میشود. رزبری پای نیز کلمات را بر روی یک ال سی دی کاراکتری مینویسد. در اینجا برای ارتباط بلوتوثی اندروید با رزبری پای از یک دانگل USB بلوتوث استفاده میکنیم. در صورتی که از نسخه رزبری پای استفاده میکنید که دارای بلوتوث داخلی است نیازی به دانگل بلوتوث ندارید.

پیشنهاد میکنم پروژه دیگر ما در این زمینه را مشاهده کنید :پروژه برقراری ارتباط اندروید و رزبری پای با بلوتوث و کنترل پین ها

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

توضیحات مدار پروژه

مدار پروژه بسیار ساده است و در تصویر زیر میتوانید مدار این پروژه را مشاهده کنید.

تایپ صوتی در ال سی دی کاراکتری با رزبری پای

راه اندازی ارتباطات ال سی دی کاراکتری 16*2 با رزبری پای

قبل از اینکه آدرس آی پی Raspberry PI را پیدا کنیم، ابتدا باید ال سی دی 16×2 را با Raspberry Pi همگام کنیم. در اینجا در این پروژه از یک کتابخانه Adafruit خارجی برای ارتباط  LCD 16×2 با Raspberry Pi استفاده کرده ایم که با استفاده از آنها نیازی به نوشتن کد های فراوان و پیچیده نیست و می توانید با استفاده از یک خط به طور مستقیم متن را بر روی LCD چاپ کنید. این کتابخانه توسط Adafruit ایجاد شده است اما می تواند برای هر ماژول LCD که دارای کنترلر HD44780 است ، استفاده شود.

برای استفاده از کتابخانه Adafruit ابتدا باید با استفاده از دستورات زیر آن را نصب کنیم. دستور اول مخزن CharLCD (توسط Adafruit) را در Raspberry Pi خود کلون می کند، دستور دوم شما را درون آن فهرست بارگیری شده قرار می دهد و در آخر ما باید اسکریپت setup.py را که در داخل فهرست Adafruit_Python_CharLCD ارائه شده است ، برای نصب کتابخانه اجرا کنیم.

git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git
cd ./Adafruit_Python_CharLCD
sudo python setup.py install

اکنون کتابخانه برای ال سی دی 16×2 نصب شده است و می توانید با وارد کردن این کتابخانه در برنامه پایتون خود با استفاده از خط زیر از توابع آن استفاده کنید:

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.
import Adafruit_CharLCD as LCD

نمونه هایی از اسکریپت ها در داخل پوشه “Examples” وجود دارد که در پوشه کتابخانه (Adafruit_Python_CharLCD) موجود است. به طور مثال می توانید با اجرای اسکریپت char_lcd.py ، راه اندازی ال سی دی را آزمایش کنید. ابتدا باید مانند کد زیر، پین های مربوط به LCD را تعریف کنید.

# Raspberry Pi pin setup
lcd_rs = 18
lcd_en = 23
lcd_d4 = 24
lcd_d5 = 16
lcd_d6 = 20
lcd_d7 = 21
lcd_backlight = 2

همچنین می توانید LCD را به برخی دیگر از پین های GPIO رزبری پای متصل کنید. اکنون می توانید به طور مستقیم از توابع ارائه شده توسط کتابخانه Adafruit برای کنترل LCD استفاده کنید. برخی از توابع در زیر آورده شده است. می توانید در اسکریپت مثال های بیشتری مشاهده کنید:

  • lcd.message () = برای چاپ متن بر روی LCD
  • lcd.clear () = برای پاک کردن LCD
  • set_cursor () = مکان نما را به هر ستون و سطر منتقل کنید
  • lcd.blink () = برای چشمک زدن مکان نما (Trueیا False)
  • lcd.move_left () = برای حرکت دادن مکان نما به سمت چپ
  • lcd.move_right () = برای حرکت دادن مکان نما به راست

اگر می خواهید ال سی دی را بدون استفاده از کتابخانه خارجی متصل کنید ، می توانید آموزش قبلی ما را بررسی کنید. ما تمام عملکردها قبلا را برای LCD 16×2 نوشته ایم. نحوه اتصال ال سی دی کاراکتری به رزبری پای و کد پایتون (آموزش Raspberry Pi #13)

نصب بسته های لازم برای ارتباط بلوتوث با رزبری پای

برای برقراری ارتباط بلوتوث در Raspberry Pi باید تعدادی نرم افزار نصب کنیم. شما باید Raspbian Jessie را نصب کرده باشید. ما ابتدا باید Raspbian را با استفاده از دستورات زیر به روز کنیم:

sudo apt-get update
sudo apt-get upgrade

سپس باید چند بسته مرتبط با بلوتوث را نصب کنیم:

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
sudo apt-get install bluetooth blueman bluez

سپس Raspberry Pi را دوباره راه اندازی کنید:

sudo reboot

BlueZ یک پروژه متن باز و پروتکل بلوتوث رسمی Linux است. این پروتکل از تمام پروتکل های اصلی بلوتوث پشتیبانی می کند و اکنون جزئی از هسته رسمی لینوکس است. Blueman رابط دسک تاپ را برای مدیریت و کنترل دستگاه های بلوتوث فراهم می کند.

سرانجام برای ارتباط بلوتوث به کتابخانه پایتون نیاز داریم تا بتوانیم داده ها را از طریق RFCOMM با استفاده از زبان پایتون ارسال و دریافت کنیم:

sudo apt-get install python-bluetooth

همچنین کتابخانه های پشتیبانی GPIO را برای Raspberry Pi نصب کنید:

sudo apt-get install python-rpi.gpio
اکنون نصب بسته های مورد نیاز برای ارتباط بلوتوث در Raspberry Pi انجام شده است.

جفت کردن دستگاه های بلوتوث با Raspberry Pi

جفت کردن دستگاه های بلوتوث، مثلا تلفن همراه ، با Raspberry Pi بسیار آسان است. در اینجا تلفن Android هوشمند خود را با Raspberry Pi جفت میکنیم. ما قبلاً BlueZ را در Pi نصب کرده ایم که یک ابزار خط فرمان به نام “bl Bluetoothctl” را برای مدیریت دستگاه های بلوتوث ما فراهم می کند. اما قبل از آن ، دانگل بلوتوث USB خود را به Raspberry Pi متصل کنید و با استفاده از دستور زیر بررسی کنید که تشخیص داده شده است یا نه:

lsusb

جفت کردن دستگاه های بلوتوث با Raspberry Pi

اکنون برنامه bl Bluetoothctl را با دستور زیر باز کنید:

sudo bluetoothctl

می توانید با تایپ کردن “help” ، تمام دستورالعمل های برنامه Bluetooth Bluetooth را بررسی کنید. سپس باید دستورات زیر را به ترتیب مشخص وارد کنیم:

[bluetooth]# power on
[bluetooth]# agent on
[bluetooth]# discoverable on
[bluetooth]# pairable on
[bluetooth]# scan on

بعد از ارسال آخرین دستور یعنی”scan on” ، دستگاه بلوتوث (تلفن همراه) خود را لیست مشاهده خواهید کرد. مطمئن شوید که بلوتوث تلفن همراهتان توسط دستگاههای مجاور روشن و قابل مشاهده است. سپس آدرس MAC دستگاه خود را کپی کرده و با استفاده از دستور داده شده آن را جفت کنید:

pair <address of your phone>

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

نصب بسته های لازم برای ارتباط بلوتوث با رزبری پای

همانطور که قبلاً گفته شد ، می توانید برای جفت کردن تلفن همراه از رابط دسک تاپ استفاده کنید. بعد از نصب Blueman، مانند تصویر زیر یک نماد بلوتوث در سمت راست دسکتاپ Raspberry Pi مشاهده خواهید کرد که با استفاده از آن می توانید جفت شدن تلفن همراه با رزبری پای را به راحتی انجام دهید.

ارسال اطلاعات از گوشی موبایل Android به Raspberry Pi

آموزش تایپ صوتی با استفاده از برنامه BlueTerm

اکنون پس ازجفت کردن تلفن همراه، برای برقراری ارتباط با Raspberry Pi با استفاده از آداپتور سریال بلوتوث، باید یک برنامه Android نصب کنیم.  ما اینجا برنامه BlueTerm را نصب کردیم. دانلود نرم افزار BlueTerm

همچنین می توانید از هر برنامه ترمینال بلوتوث دیگری که از طریق ارتباطات RFCOMM پشتیبانی می کند ، استفاده کنید.

پس از بارگیری و نصب برنامه BlueTerm، کد پایتون داده شده در انتهای صفحه را اجرا کنید و دستگاه رزبری پای جفت شده را از برنامه BlueTerm انتخاب کنید.

تایپ صوتی با برنامه AndroidT BlueTerm

پس از اتصال موفق، در بالای نرم افزار پیام connected:raspberrypi را مشاهده میکنید.

ارتباط اندروید و رزبری پای با بلوتوث

فیلم عملکرد پروژه

پس از انجام مراحل بالا، برنامه پایتون را که در فایل دانلودی قرار داده شده است اجرا کنید. ما همچنین ما میتوانیم با استفاده از این برنامه پین ها را کنترل کنیم و … فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

برای دانلود فیلم پروژه تایپ صوتی در رزبری پای کلیک کنید.

موارد موجود در فایل : سورس کامل ، شماتیک

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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