آخرین مطالب
LINK TABLES
خانه | کارگاه آموزشی ماژول ها | آشنایی با ماژول بلوتوث – جلسه ۱

آشنایی با ماژول بلوتوث – جلسه ۱

با یه سلام پرانرژی بریم سراغ ادامه ی کارگاه،

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

? سعی ام بر اینه که تا می تونم کامل توضیح بدم تا ابهامی باقی نمونه. اگه براتون سوالی پیش اومد حتما ازم بپرسین تا جواب بدم.

در این جلسه قصد داریم با ماژول بلوتوث HC-05 آشنا شده و اصول کار با آن را یاد بگیریم. ابتدا با چینش پایه ها آشنا می شویم. مدهای کاری این ماژول بلوتوث را بررسی کرده و در کل تئوری مربوط به این ماژول را خیلی خوب (به اصطلاح) شخم می زنیم! طی این جلسه علاوه بر کارهایی که ذکر شد، مطالب زیر را نیز یاد خواهید گرفت:

– آشنایی با دیگر مدل های ماژول بلوتوث سری HC و انجام مقایسه

– چند نمونه از کاربردهای ماژول بلوتوث

– آشنایی با برد کمکی این ماژول

معرفی ماژول بلوتوث HC-05

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

ماژول بلوتوث HC-05 یک ماژول سریال بلوتوث است. این ماژول برای تبدیل پورت سریال به بلوتوث مورد استفاده قرار می گیرد. به عبارتی با استفاده از این ماژول می توانیم از طریق بلوتوث یک ارتباط سریال مجازی (به طور بی سیم) بین دو دستگاه (یا  MCU) ایجاد کنیم. پس توجه داشته باشیم که این ماژول برای ارسال فایل مناسب نیست.

مشخصات ماژول HC-05

 

  • ولتاژ:    ۳٫۰ ولت تا ۴/۲ ولت
  • حداکثر جریان:    ۵۰ میلی آمپر
  • کارکرد:    در دو حالت  master & slave
  • نوع ارتباط با میکروکنترلر:    UART
  • بادریت های مورد پوشش:    ۹۶۰۰,۱۹۲۰۰, ۳۸۴۰۰,۵۷۶۰۰,۱۱۵۲۰۰,۲۳۰۴۰۰,۴۶۰۸۰۰
  • نوع ارتباط بلوتوث:    پروتکل ارتباطی سریال
  • تعداد پایه ها:    ۳۴ پایه
  • ورژن بلوتوث:     V2.0+EDR
  • طریقه ی تنظیم کردن ماژول:    به وسیله ی دستورات AT

مد Master  و مد Slave یعنی چه؟

ماژول بلوتوث HC-05 می تواند در هر دو مد  Master و Slave قرار گیرد. تفاوت این دو مد به این صورت است که ماژولی که در حالت Master باشد می تواند دستگاه های بلوتوث اطراف را جستجو کرده و با دستگاهی خاص ایجاد ارتباط کند، ولی ماژولی که در حالت Slave باشد فقط می تواند مورد جستجو قرار گیرد و به درخواست های ارتباط پاسخ منفی یا مثبت بدهد. یعنی ماژول وقتی در مد Slave قرار دارد، نمی تواند دستگاه های اطراف را جستجو کند و نمی تواند درخواست دهنده و برقرارکننده ی ارتباط باشد. تعیین کردن مد کاری توسط کاربر صورت می گیرد. ماژول بلوتوث HC-05 به طور پیشفرض برروی حالت Slave قرار دارد. در ادامه روش تغییر مد کاری آن را یاد خواهیم گرفت.

مقایسه ی مدل های مختلف ماژول بلوتوث سری HC

یک دسته از ماژول های بلوتوثی که در بازار موجود هستند، ماژول های سری HC هستند. ماژول HC-05 نیز یکی از همین سری است. در سری HC اگر نام مدل دارای عدد زوج باشد، در ادامه ی نامش حتما ذکر می شود که در مد Master کار می کند یا در مد Slave. چون در این صورت فقط ماژول می توان در یک مد کار کند و مدکاری آن قابل تغییر نیست. مثلا ماژول HC-04 در دو نوع HC-04-M و یا HC-04-S موجود می باشد. M ابتدای کلمه ی Master و S ابتدای کلمه ی Slave می باشد.

اگر نام ماژول دارای عدد فرد باشد، این قابلیت را دارد که توسط کاربر تغییر حالت داده و در یکی از مدهای Master یا Slave کار کند. مدل های زوج با یکدیگر و مدل های فرد نیز با یکدیگر سازگار هستند. مثلا HC-04 و HC-06 را می توان با یکدیگر مرتبط نمود (البته یکی باید Master  و دیگری باید Slaver باشد). همچنین HC-03 و HC-05 را نیز می توان با یکدیگر مرتبط کرد.

توجه کنید که مقایسه ی انجام شده برای مدل HC-08 صدق نمی کند. این مدل در هر دو مد کار می کند و از نسل چهارم بلوتوث پشتیبانی می نماید.

چند نمونه از کاربردهای ماژول بلوتوث HC-05

  •  فرض کنیم که دو میکروکنترلر داریم که می خواهند با یکدیگر ارتباط برقرار کنند. یکی از میکروکنترلرها را به ماژول بلوتوث در مد Master  وصل می کنیم. میکروکنترلر دیگر را نیز به یک ماژول بلوتوث در مد Slave  وصل می کنیم. هنگامی که دو ماژول بلوتوث با یکدیگر جفت شدند، ارتباط میکروکنترلرها برقرار می شود. در عمل ارتباط بلوتوث مانند یک ارتباط سریال شامل خطوط RXD و TXD می باشد.
  •  هنگامی که ماژول بلوتوث در حالت Slave  قرار داشته باشد، می تواند با بلوتوث لپ تاپ، کامپیوتر و موبایل نیز ارتباط برقرار کند. در این صورت یک خط ارتباط سریال مجازی بین میکروکنترلر و کامپیوتر یا لپ تاپ یا موبایل ایجاد می شود.
  •  در کاربردی دیگر می توان با پرینتر بلوتوث، GPS بلوتوث و … نیز ارتباط برقرار کرد. این قبیل دستگاه ها معمولا در حالت Slave قرار دارند. پس کافی است ماژول را در مد Master  قرار داده و با آن ها ایجاد ارتباط کنیم.

از دیگر کاربردهای این ماژول می توان به ریموت کنترل و مانیتورینگ، موس و کی برد بی سیم،  هوشمند سازی ساختمان ها، رباتیک و … اشاره کرد.

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

برای این کار باید دوشرط برقرار باشد:

۱- یکی از ماژول ها در مد Master و دیگری در مد Slave قرار داشته باشد.

۲- پسورد وارد شده برای جفت شدن درست باشد.

آشنایی با پایه های ماژول بلوتوث HC-05 و چینش آن ها

در این قسمت می خواهیم با این ماژول بیشتر آشنا شویم. تصاویر زیر، این ماژول و چینش پایه های آن را نشان می دهند:

چینش پایه های ماژول بلوتوث

شماره پایه های ماژول بلوتوث

همان طور که در تصاویر بالا می بینید این ماژول دارای ۳۴ پایه است. در اکثر کاربردها از هفت پایه ی این ماژول استفاده می شود. این هفت پایه در تصویر اول نشان داده شده اند. در جدول زیر هریک از این هفت پایه به همراه کاربرد و نحوه ی عملکردشان توضیح داده شده اند.

جدول شرح پایه ماژول بلوتوث

توضیحات و نکات مربوط به پایه های ذکر شده در جدول:

۱- سطح ولتاژ پایه های RX و TX برابر با ۳/۳ ولت است. مقدار یک منطقی در پایه ی TX می تواند توسط میکروکنترلر (و کلا منطق TTL) خوانده شود، چون ولتاژ ۳/۳ ولت در محدوده ی یک منطقی قرار می گیرد. ولی برای ولتاژی که به پایه ی RX اعمال می کنیم باید توجه کنیم که از ۳/۳ ولت بیشتر نشود. چون ممکن در طولانی مدت باعث ایجاد آسیب در ماژول شود.

۲- نحوه ی عملکرد پین ۳۱ در قسمت مدهای کاری ماژول در ادامه بیان شده است.

۳- طریقه ی تنظیم پایه ی ۳۴ در قسمت تنظیم مدهای کاری ماژول در ادامه بیان شده است.

نحوه ی عملکرد کلی ماژول بلوتوث HC-05

هنگامی که ماژول را روشن می کنیم (پایه های GND و VCC آن را به طور مناسب به تغذیه وصل می کنیم)، ماژول در مد pairing قرار می گیرد (در رابطه با این مد در ادامه توضیح داده شده است) و در حالت Slave قرار دارد. ماژول منتظر می شود تا دستگاهی درخواست برقراری ارتباط کند، پس از آن با دستگاه جفت می شود. ماژول اطلاعاتی را که با استفاده از ارتباط بلوتوث می گیرد از طریق پایه ی TXD خود، با پروتکل سریال برای ما ارسال می کند. به طور برعکس برای این که اطلاعاتی به ماژول بدهیم باید از طریق پایه ی RXD آن، اطلاعات را با پروتکل سریال به ماژول بدهیم تا ماژول با ارتباط بلوتوث آن اطلاعات را به دستگاه متصل شده ارسال کند. و به همین ترتیب می توانیم از این ماژول استفاده کنیم و اطلاعات مورد نظر خود را ارسال و دریافت نماییم.

مدهای کاری ماژول HC-05

ماژول بلوتوث HC-05 دارای سه مد کاری متفاوت است. این سه مد عبارتند از:

۱- مد اتصال یا جفت شدن (pairing):

هنگامی که ماژول را برای اولین بار روشن کنید، ماژول در این مد قرار می گیرد. در این مد، ماژول قابلیت اتصال به دستگاه های بلوتوث را دارد و پس از اتصال و جفت شدن می تواند اطلاعات را دریافت یا ارسال نماید. وقتی ماژول در این مد قرار دارد می تواند می تواند در دو حالت Master یا Slave قرار گیرد. (در مورد این دو حالت کاری قبلا توضیح داده شد.)

توجه کنید که هنگامی که ماژول در حالت Master قرار داشته باشد، می تواند دستگاه های دیگر با آدرس بلوتوث معین را پیدا کرده و به آن ها وصل شود. همچنین قادر است به طور اتوماتیک دستگاه های بلوتوث Slave را پیدا کرده و به آن ها متصل گردد.

برای تنظیم کردن ماژول نیاز داریم که وارد حالت تنظیمات شویم. با توجه به این که تمامی تنظیمات از طریق سری دستورات AT صورت می گیرد به مد تنظیم، مد AT می گویند. ماژول بلوتوث HC-05 دارای دو مد تنظیم است: مد AT یک و مد AT دو.

۲- مُد AT یک:

برای وارد شدن به مد تنظیم AT1 هنگامی که ماژول روشن است، و از قبل در مد pairing قرار دارد، باید به PIN34 آن، ولتاژ یک اعمال کنیم. در این صورت همانطور که ماژول در حال pairing یا تبادل اطلاعات قرار دارد، وارد مد تنظیم نیز می شود. در مد AT یک، نرخ داده همان نرخ داده ای است که ماژول در آن قرار داشته است. مثلا ماژول با نرخ داده ی ۹۶۰۰ در مد جفت شدن قرار دارد، با یک کردن پین ۳۴ نرخ داده همان ۹۶۰۰ باقی می ماند و می توانیم با دستورات AT برخی از ویژگی هایش را تنظیم کنیم.

۳- مد AT دو:

اگر قبل از این که ماژول را روشن کنیم، و یا در حین روشن کردن ماژول، PIN34 را یک کنیم، وقتی ماژول روشن شد وارد مد AT دو می شود. در این حالت نرخ داده همیشه و حتما برابر با ۳۸۴۰۰ می باشد و توسط کاربر قابل تغییر نیست. این مد کاری به این دلیل وجود دارد که شما بدانید نرخ داده همیشه برابر با ۳۸۴۰۰ و همیشه ثابت است. زیرا ممکن است کاربر فراموش کند که آخرین بار نرخ ماژول چقدر بوده است. در این صورت وارد مد AT دو می شود و تنظیمات دلخواه خود را اعمال می نماید.

نقش PIN34 در مدهای کاری مختلف

در کل یک کردن PIN34 ماژول را به مد AT می برد. اگر قبل از روشن کردن ماژول آن را یک کنیم، هنگامی که ماژول روشن می شود، ماژول وارد مد AT دو می شود. و اگر هنگامی که ماژول روشن است این پین را یک کنیم ماژول وارد مد AT یک می شود.

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

عملکرد PIN31 در مدهای کاری مختلف

در جدول ذکر شد که این پین نشان دهنده ی مدهای کاری ماژول است. در صورتی که ماژول در مد AT یک، یا در مد اتصال قرار داشته باشد، با فرکانس ۲ هرتز (یعنی دو بار در ثانیه) خاموش و روشن می شود. در صورتی که یک LED به این پایه وصل کنیم، در این حالت یک چشمک زدن سریع را می بینیم.

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

هنگامی که ماژول به دستگاه بلوتوثی وصل شد، پس از اتمام اتصال این پین هر یک ثانیه به طور سریع یک بار ۱ و ۰ می شود. در صورتی که یک LED به این پین وصل کنیم، در این حالت هر ثانیه یک مرتبه و سریع، روشن و خاموش می شود.

تنظیمات پیش فرض ماژول HC-05

هنگامی که ماژول را برای اولین بار روشن می کنیم، دارای تنظیمات پیش فرضی است:

  • ماژول در مد جفت شدن (pairing) قرار دارد.
  • ماژول در حالت Slave قرار دارد، یعنی نمی تواند درخواست ایجاد ارتباط کند، بلکه فقط منتظر می ماند تا دستگاهی دیگر به آن متصل شود.
  • تنظیمات ارتباط سریال ماژول همان تنظیمات استاندارد هستند، یعنی: نرخ داده ی ۹۶۰۰ ، تعداد بیت داده ی ۸، بیت پایانی ۱ و بدون تقارن زوج یا فرد.
  • نام ماژول بلوتوث به طور پیشفرض HC-05  است.
  • پسورد مورد نیاز برای جفت شدن خودکار برابر با ۱۲۳۴ می باشد.

ماژول بلوتوث HC-05 به همراه برد کمکی

در این جا ما از ماژول بلوتوث به همراه برد کمکی استفاده می کنیم. بردی که ما تهیه نمودیم به صورت زیر است:

روی برد ماژول بلوتوث

پشت برد ماژول بلوتوث

بردهای کمکی متنوعی برای این ماژول تولید شده اند. این برد کمکی (همانطور که در تصویر نیز قابل مشاهده می باشد) از نوع ZS-040 است. و این روزها این برد در بازار موجود می باشد. البته مدل FC-114 نیز هست که به لحاظ پایه ها شبیه به بورد ZS-040 می باشد ولی به لحاظ نحوه ی اتصال پایه های بورد به پین های ماژول و همچنین به لحاظ نرم افزار ثابتش، تفاوت زیادی با بورد ZS-040 دارد. با توجه به این که مدل ZS-040 رایج تر است، ما در این جا در مورد این مدل صحبت می کنیم. اگر فرصتی بود حتما در مورد مدل FC-114 نیز مطلبی خواهیم نوشت. البته در صورتی که سوالی در رابطه با این مدل هم دارید از ما بپرسید تا پاسخگوی شما عزیزان باشیم.

همانطور که در اشکال بالا مشاهده می کنید، این برد دارای شش پایه می باشد. این پایه ها باید به شرح زیر استفاده شوند:

پایه ی VCC و GND:

پایه ی GND  به PIN13 ماژول وصل است و باید به خروجی منفی پاورمان وصل شود. پایه ی VCC نیز به PIN12 متصل است و باید به ولتاژی بین ۳/۶ تا ۶ ولت وصل شود. البته توجه شود درون برد کمکی، مابین این پایه و PIN12 یک رگولاتور قرار دارد، وگرنه ولتاژ کاری خود ماژول در این بازه قرار ندارد.

پایه های RXD و TXD:

پایه های TXD و RXD نیز به ترتیب به PIN1 و PIN2 متصل هستند. برای  ارسال و دریافت اطلاعات به صورت سریال مورد استفاده قرار می گیرند.

نکته ای که هست، سطح این دو پایه دیگر ۵ ولت نیست و همان ۳/۳ ولت است. پس باید حواسمان باشد که سطح ولتاژ ۵ ولت به پایه ی RXD اعمال نکنیم. چون در طولانی مدت باعث ایجاد آسیب می شود. راه حلی که وجود دارد این است که از تقسیم مقاومتی استفاده کنیم تا ولتاژ ۵ میکروکنترلر به ۳/۳ ولت کاهش یابد و سپس به این پایه اعمال گردد.

البته در رابطه با پایه ی TXD مشکلی وجود ندارد، چون میکروکنترلر ولتاژ ۳/۳ را یک منطقی تلقی می کند و مشکلی نیست.

پایه ی STATE:

این پایه به PIN32 وصل شده است. در صورتی که ماژول بلوتوث به دستگاهی متصل شود، این پایه “۱” و در صورتی که متصل نباشد، این پایه دارای مقدار “۰” است.

می توان این پایه را به یک LED متصل کرد تا بتوان وضعیت اتصال ماژول را با چشم دید. همچنین اگر این پایه را به میکروکنترلر بدهیم، می توانیم با خوانش آن متوجه شویم که ماژول واقعاً متصل شده است یا خیر.

پایه ی EN:

اگر این پین را رها کنیم و به جایی وصل نباشد، و یا به VCC وصل شود ماژول به طور نرمال کار می کند. ولی در صورتی که این پین را زمین کنیم و به GND وصل کنیم، ماژول خاموش می شود. از این پایه می توان برای کاهش مصرف توان و برای ریست کردن ماژول استفاده نمود.

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

۱- یک کلید فشاری کوچک بالای پین EN وجود دارد. این کلید به PIN34 وصل است و با فشرده شدن این کلید، PIN34 یک می شود. قبلا گفتیم که با یک شدن این پین، ماژول به مد تنظیم می رود. برای وارد شدن به مدهای AT1 و AT2 از این کلید استفاده می کنیم.

۲- روی ماژول یک LED آبی رنگ و روی بورد کمکی یک LED قرمز وجود دارد. البته LED آبی رنگ بر روی ماژول های جدید تعبیه شده است و ممکن است برخی از ماژول ها آن را نداشته باشند.

با روشن کردن ماژول (فقط اتصال GND و VCC) هر دو LED همزمان و همانند هم شروع به چشمک زدن می کنند. این LED ها به پین ۳۱ وصل هستند و وضعیت مدهای کاری ماژول را نشان می دهند. گویا هر دو به یک پین و به هم وصل می باشند. ولی تفاوتی جزیی با هم دارند که بعدا در قسمت تنظیمات در جلسه ی دوم به آن اشاره خواهد شد.

در جلسه ی بعد ابتدا در رابطه با مد تنظیم صحبت می کنیم. دو روش برای وارد شدن به مد تنظیم وجود دارد که تک تک آن ها را شرح خواهیم داد. سپس دستورات AT را معرفی می کنیم؛ ماژول بلوتوث را به کامپیوتر وصل کرده و دستورات AT را در هر دو مد ۱ و ۲ بررسی می کنیم. سپس با کامپیوتر و موبایل برقراری ارتباط با ماژول را تست کرده و در نهایت یک پروژه ی ساده با میکروکنترلر AVR و ماژول بلوتوث تعریف می کنیم.

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

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

درباره ی مجتبی حکیمیان

کارشناس الکترونیک و کارشناس ارشد مخابرات سیستم | زمینه ی تحقیقاتی : پردازش تصویر و تعقیب اشیاء متحرک |‌فعال در حوزه ی الکترونیک مبتنی بر میکروکنترلر | برنامه نویس و طراح بردهای الکترونیکی مبتنی بر میکروکنترلر

۱۷ دیدگاه

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

  2. سلام خیلی ممنون از توضیحات عالیتون.عذرمیخوام اگر در یک محیطی ک حداقل۵ دستگاه فرستنده بلوتوث و ۵ دستگاه گیرنده وجود داشته باشه و بخوایم بعد از هربار خاموش روشن شدن دستگاه فرستده و گیرنده مورد نظر باهم جفت بشوند و با دیگر دستگاها جفت نشوند باید در مد AT مشخص کنیم؟ امکان تداخل وجود دارد؟

  3. سلام.
    مهندس جلسات بعدی کی منتشر میشوند؟؟؟

  4. با عرض سلام و خسته نباشید.
    واقعا عالی بود. مشتاقانه منتظر جلسات بعدی هستم. بنظرتون کی جلسات بعدی اماده میشوند؟

  5. ممنون عالی بود مهندس جان

  6. مهندس من برد FC-114 دارم. مشکلی که هست اینه که فقط با فشار دادن کلید روی برد میره تو مد AT Commands در صورتیکه کافی نیست چون باید بتونیم با میکرو هم این کار رو انجام بدیم. همون پایه ها رو داره. بجای KEY زده EN . سرچ کردم یه متدهایی گفتن که اول اون رو یک کنید بعد تغذیه بدید تست کردم نشد.

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

    • سلام
      نظر لطف شماست. بعد از پایان جلسات هر ماژول تمام فایل ها و توضیحات برای استفاده کاربران قرار داده می شه.

  8. سلام، خیلی عالی
    لطف کنین آدرس کانالم بذارین

  9. سلام و خدا قوت. فوق‌العاده بود. آرزوی موفقیت دارم براتون و بی صبرانه منتظر آموزش های بعدی شما هستم. سپاس

    • درود به شما دوست عزیز
      می تونید از طریق خبرنامه ایمیلی و کانال تلگرام از انتشار آموزش های بعدی با خبر بشید.
      ممنون از همراهیتون 🙂

  10. سلام
    خیلی خیلی عالی توضیح داده بودین. بی صبرانه منتظر جلسه بعدی این آموزش هستم.

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

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