PDA

View Full Version : درخواست کمک (ساخت کیبورد)



navidwhacker
یک شنبه 30 خرداد 1389, 21:49 عصر
سلام.
من برای ساخت یک دستگاهی نیاز دارم تا یک کیبورد ساده طراحی کنم.
یعنی در واقع میخوام که با زدن مثلا یک کلید کد اینتر به کامپیوتر فراستاده بشه.(میخوام این دکمه دقیقا کار اینتر کیبورد رو انجام بده)اگه بشه میخوام از پورت usb استفاده کنم اگرم نه فرقی نمیکنه پارالل یا کام.
از چه میکرویی باید استفاده کنم و در کل چیکار باید بکنم لطفا راهنماییم کنید.

farzadsw
دوشنبه 31 خرداد 1389, 19:33 عصر
یکم بیشتر توضیح بدید . میخواید کیبورد بسازید که به کامپیوتر وصل بشه ؟ همیشه کارکنه(مثل کیبرد عادی) یا اینکه با یه برنامه خاصی قراره کار کنه ؟
فقط کد اینتر رو بفرسته ؟

میکروش فرقی نداره چی باشه ، ولی avr تو بازار بیشتره . مدل mega8 یا mega16 یا mega32 یا هرکدوم دیگه رو میتونید استفاده کنید.

navidwhacker
سه شنبه 01 تیر 1389, 19:04 عصر
قرار به کامپیوتر متصل بشه.
تحت نرم افزار کار میکنه ولی باسه من مهم اینه که بتونم مثلا کد اسکی اینتر رو باهاش به یکی از پورت های کامپیوتر بفرستم باقی راه رو بلدم.با زبان اسمبلی راحت کار میکنم.
ولی متاسفانه تا به حال با میکرو ها کار نکردم.اصلا نمیدونم چیکار باید بکنم.چجوری روی میکرو برنامه نویسی کنم.چه کدی باید برای میکرو بنویسم.
ضمنا فقط اینتر نیست 9 یا 10 دکمه میخوام ولی اگه یدونش و بهم یاد بدید از پسش بر میام.
فقط میخوام یکی رام بندازه.
تو نت جستو جو زیاد کردم.ولی خیلی سر در نیاوردم.
بازم ممنونم

farzadsw
سه شنبه 01 تیر 1389, 23:53 عصر
اگه میکروتون ازطریق پورت سریال به کامپیوتر وصل بشه (این تاپیک (http://barnamenevis.org/forum/showthread.php?t=183351)) میتونید هر کاراکتری رو به کامپیوتر بفرستید ( کد اسکی معادل هر کاراکتری رو میتونید بفرستید) .

برای برنامه نویسی میکرو :
1. باید کامپایلر مخصوص اون میکرو رو بگیرید. برای avr سه تا کامپایلر بیشتر استفاده میشه :
bascom : که زبان برنامه نویسیش بیسیک هست ، برای هر کاری تابع آماده داره و کار باهاش خیلی خیلی سادس . اگه میخواید کارتون سریع راه بیفته ، از بقیه مناسب تره .
codevision : زبان c هست و یه ابزار داره که با ویزارد یه سری کد و تابعی که لازم دارید رو براتون تولید میکنه و برنامه اصلی رو خودتون مینویسید.
winavr gcc : این یکی برخلاف دوتای بالایی اپن سورس هست و بیشترین مصرف کننده رو داره (غیر از ایران!) . زبانش هم c هست و مثال و پروژه تو سایت های خارجی براش زیاده . کار کردن باهاش نسبت به دوتای بالایی یکم سختره چون مثلا ویزارد codevison رو نداره ، البته براش ویزارد نوشتن ولی به طور دیفالت نداره.
البته میتونید به جای کامپایلر از اسمبلر رایگان خوداتمل استفاده کنید. ولی خوب مسلما زبان سطح بالا راحت ترهست.

2.بعد از کامپایل (یا اسمبل ) کردن برنامتون ، یه فایل hex ایجاد میشه . این فایل رو باید بریزید تو میکروکنترلرتون . برای این کار از پروگرمر استفاده میکنن . پروگرمر یه سخت افزاره که از یه طرف به میکروتون وصل میشه و از طرف دیگه به کامپیوتر و فایل هگز رو میگیره و روی میکروکنترلر پروگرم میکنه. پروگرمر رو میتونیدآماده بخرید یا بسازید. انواع مختلفی داره ، میتونه با پورت پارالل به کامپیوتر وصل بشه یا با usb . هر کدومشون هم چند نوع دارن .

الان کاری که باید بکنید اینه که میکرو ، پروگرمر ، bread board ، وسایل لازم برای ارتباط سریال (max232,..) و یه kepad 4x4 (+ رگلاتور 5ولت lm7805 و مقاومت ) بخرید . مدارتون رو ببندید ، برنامتون رو بنویسید و امتحان کنید. البته میتونید به جای خریدن و بستن مدار ، از شبیه ساز proteus استفاده کنید و برنامتون رو تست کنید.

برنامتون هم به این شکله که کیپد 4 در 4 رو اسکن میکنه تا ببینه کدوم دکمه فشار داده شده . بعد میاد طبق اون ، یه بایت کدی (میتونه کد اسکی باشه) رو برای کامپیوتر میفرسته.

navidwhacker
چهارشنبه 02 تیر 1389, 13:43 عصر
ممکنه لینک دانلود winavr-gcc و proteus برای من بزارید؟ممنونم

farzadsw
چهارشنبه 02 تیر 1389, 17:34 عصر
http://sourceforge.net/projects/winavr/files/

http://www.iranmicro.ir/forum/showthread.php?t=2645

navidwhacker
پنج شنبه 03 تیر 1389, 15:12 عصر
بازم سلام.از کمکتون خیلی ممنونم خیلی بهم کمک کرد.چند روز دیگه کد همین برنامرو میزارم همینجا تا بقیه هم استفاده کنن.
راستی یه سوال کتابخونه باسه میکرو های AVR نیست؟من atmeg8 رو توی پروتئوس ساختم ولی اگه کتابخونه کاملش رو میشناسید میشه لینکش رو بزارید؟
بارم ممنون.

farzadsw
پنج شنبه 03 تیر 1389, 17:22 عصر
خود پروتئوس همه میکرو های avr رو داره . هم سری 90 هم tiny هم mega . من از پروتئوس 7.5 sp3 استفاده میکنم . ورژنهای جدیدترش هم باید یه چیزایی اضافه داشته باشن.
عکس کتابخونه پروتئوس خودمرو هم ضمیمه کردم (80 تا از میکرو های avr رو داره )

navidwhacker
یک شنبه 06 تیر 1389, 09:53 صبح
سلام من یه سوال جدید برام پیش اومده.
اگه بخوام یه کیبورد بسازم که مثل کیبورد کامپیوتر باشه باید چیکار کنم؟منظورم اینه که باید به کجا متصل بشم و کد های کیبورد رو به چه قسمتی از کامپیوتر ارسال کنم.(برنامه نویسیش چطوری میشه باید به cpu ارسال بشه؟چطوری؟)

farzadsw
یک شنبه 06 تیر 1389, 11:08 صبح
اگه سریال باشه باید به پورت مخصوص keybord پشت کیس وصل کنید (ps2 )
اگه usb باشه که فرقی نداره کجا ول بشه .

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

برای حالت usb ، یه پروفایل Human Interface Device تعریف شده (HID ) و باید از اون استفاده کنید ،یعنی برنامه نویسی شما در طرف میکرو هست .
اگه از میکروکنترلر هایی که قابلیت usb device رو دارن استفاده میکنید (همه میکرو کنترلر های arm ، سری usb میکرو های avr و بعضی از میکرو های pic) ، برنامه نویسی شما خیلی ساده خواهد شد چون اکثر کار های به صورت سخت افزاری انجام میشه .

اما اگه میکرو کنترلر usb device نداره (مثل atmega avr) ، باز هم میشه این کار رو کرد ، ولی همه کار ها باید به صورت برنامه نوسی انجام بشه . البته 1-2 پروژه اپن سورس در مورد hid و میکروکنترلر های avr تو وب هست که میتونید از اونها هم استفاده کنید.

courosh
جمعه 16 مهر 1389, 08:28 صبح
می خوام تویه کیبورد یه led بزارم که وقتی فارسی نویس باشه روشن بشه و وقتی en خاموش بشه