خب خب خب، بالاخره ساختمش
خیلی مدت بود تو فکر ساخت همچین چیزی بودم،
داستانشم برمیگرده به وقتیکه یکبار از روی بیکاری داشتم منوهای totem رو اینور اونور میکرم و در قسمت Plugin هاش گزینهٔ Infrared Remote Control را دیدم و با فعال کردنش با پیغام خطای Couldn't initialize lirc مواجه شدم!
منم که معمولا عادت دارم هرچیزی را گوگل کنم! کلمهٔ lirc رو سرچ کردم.
همون اول به سایت جالبی رسیدم : Linux Infrared Remote Control
http://www.lirc.org

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

اولا که دستتون در ساختن گیرندهٔ مادون قرمز (برای دریافت کدهای ریموت کنترل) باز هست.
شما میتونید در سمت چپ وبسایت پروژه و در قسمت Supported Hardware یک دوجین سخت افزار مختلف رو ببینید که میتونید ازشون استفاده کنید که میتونن به پورتهای مختلف سیستم شما از قبیل پورت سریال، پارالل، USB و یا حتی کارت صوت متصل بشن!

ثانیا اینکه شما میتونید از هر ریموت کنترلی استفاده کنید! این خیلی جالبه.
مثلا شما میآ*تونید از ریموت تلویزیون، ویدیوآ*سیآ*دی و یا هر وسیلهٔ ریموت دار دیگری که در خانه دارید برای کنترل برنامهآ*های کامپیوتری خود نیز استفاده کنید.
LIRC ابزاری برای ضبط و ذخیرهٔ کدهای ریموت کنترل دارد

و ثالثا اینکه LIRC برنامهآ*های مختلفی رو میتونه تحت کنترل داشته باشه.
اصولا برنامهآ*های کامپیوتری به سه بخش تقسیم میشن
۱. برنامهآ*های که بصورت داخلی از LIRC پشتیبانی میآ*کنند.
۲. برنامهآ*هایی که از LIRC پشتیبانی میآ*کنند، ولی بصورت پیشآ*فرش با این قابلیت کامپایل نشدهآ*اند.
۳. و دستهٔ سوم برنامهآ*هایی که کلا از LIRC پشتیبانی نمیآ*کنند!

معمولا تمام پلیرها، برنامهآ*های پخش تلویزیون و رادیوها از این پروژه پشتیبانی میآ*کنند. همچنین بسیاری از برنامهآ*ها راهی را برای استفاده از این برنامه مثل پلاگینآ*ها یا برنامهآ*های کمکی در اختیار کاربر قرار میآ*دهند.
LIRC برنامهآ*ای بنام irexec را ارائه کرده که میآ*تواند هر فرمانی که شما بخواهید را با زدن کلیدهای ریموت کنترل اجرا کند.

ساختار LIRC بصورت سرور/کلاینت طراحی شده است.
یک سرور بنام lircd وجود دارد که بصورت دایمون اجرا میآ*شود و با سختآ*افزار ارتباط برقرار میآ*کند.
سپس کلاینتها که همان برنامهآ*های پلیر یا پلاگینهای آنها هستند میآ*توانند توسط سوکتآ*های ارايه شده توسط سرور به آن متصل شوند و اطلاعات را بگیرند.

----------
خب حالا کار یک کاربر به دو بخش تقسیم میآ*شود :
۱. تهیه و یا ساخت گیرندهٔ مادون قرمز
۲. راه اندازی و پیکرهآ*بندی قسمت نرمآ*افزاری پروژه

در پست اولم سعی دارم در مورد سخت افزار که بخش راحت! قضیه است صحبت کنم.
بحث در مورد نرمآ*افزار و پیکرهآ*بندی و نحوهٔ استفاده از آن مفصل است که آنرا به پستآ*های بعدی موکول میآ*کنم.


سختآ*افزار
من بدلیل اینکه لپآ*تاپم پورت سریال نداشت و اینکه تجربهٔ کار با میکروکنترلر AVR را داشتم، سخت افزار USBTiny را انتخاب کردم.
سختآ*افزار بسیار ساده و کمآ*هزینهآ*ای دارد و براحتی توانستم آنرا بسازم.
البته نه سادهآ*تر از مدارهایی که برای پورت سریال ارايه شده است!

سختآ*افزار و نرمآ*افزار این پروژه در سایت زیر قابل دسترس است :
http://www.xs4all.nl/~dicks/avr/usbtiny

شماتیک و برنامهٔ میکروکنترلر آن بصورت آزاد در اختیار عموم قرار داده شده است و براحتی میشود آنرا ساخت.
من تصمیم گرفتم برای اینکه کار تمیزی انجام دهم برای آن یک مدار چاپی نیز طراحی کنم و البته من هم آنرا بصورت آزاد در اختیار دوستان علاقهآ*مند قرار خواهم داد.
مدار چاپی را توسط نرمآ*افزار gEDA/PCB کشیدم که از

مهمان عزیز شما حق دیدن لینک ها را ندارید

عضویت

قابل دریافت است.

در اینجا لازم است توضیحی هم در مورد قطعات مدار ارائه کنم. قطعات مدار سادهآ*اند و در اکثر فروشگاههای قطعات الکترونیکی قابل تهیهآ*اند.
مهمترین قطعهٔ مدار میکرکنترلر آن است که البته قیمت چندانی هم ندارد. الان که در سال ۱۳۸۹ هستیم چیزی حدود ۱۵۰۰ تومان.
قطعهٔ مهم بعدی گیرندهٔ مادون قرمز است که در اصل گیرنده و تقویت کننده در یک پکیج است. در بازار آنرا بنام چشمی تلویزیون پارس! میشناسند که نام اصلی آن TSOP17xx است که بجای xx اعدادی بعنوان فرکانس کاریر آن قرار میآ*گیرد.
برای اطلاعات بیشتر میتوانید دیتاشیتش را از

مهمان عزیز شما حق دیدن لینک ها را ندارید

عضویت

دانلود کنید. شکل این قطعه را هم در زیر مشاهده میآ*کنید :



قطعات دیگر هم که معلومند و زیاد نیازی به توضیح ندارند. البته اگر سوالی هست خوشحال میآ*شوم پاسخ دهم.

بعد از اینکه مدار مونتاژ شد و همه قطعات بر روی آن قرار گرفت، باید میکروکنترلر آنرا در اصطلاح پروگرام کرد. همانطور که در بالاتر عرض کردم برنامهٔ این میکروکنترلر بصورت نرمآ*افزار آزاد ارائه شده است که باید آنرا کامپایل کنیم و توسط دستگاه پروگرامر در میکروکنترلر پروگرام کنیم.
که ترجیح میدهم توضیح این بخش را به پست بعدی موکول کنم.

فعلا تا اینجا اگر سوالی هست یا اشکال و ابهامی در مطالب ارایه شده وجود دارد خوشحال میشوم پاسخ دهم