
خب خب خب، بالاخره ساختمش

خیلی مدت بود تو فکر ساخت همچین چیزی بودم،
داستانشم برمیگرده به وقتیکه یکبار از روی بیکاری داشتم منوهای 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 اعدادی بعنوان فرکانس کاریر آن قرار میآگیرد.
برای اطلاعات بیشتر میتوانید دیتاشیتش را از اینجا دانلود کنید. شکل این قطعه را هم در زیر مشاهده میآکنید :

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