نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

تبدیل میکروکنترلر LPC1768 به کیبورد

446

به نام خدا : تو این مطلب میخوام پروژه راه اندازی کیبورد رو با هم ببینیم، که میکروکنترلر LPC1768 در نقش کیبورد به PC وصل میشه و … عکس زیر تزئینی هستش، تو این پروژه من از چند تا button استفاده کردم برا ساخت کیبورد، که در فیلم همه چیز واضح هستش ( توضیحات کامل در فیلم )

تبدیل میکروکنترلر LPC1768 به کیبورد

تبدیل میکروکنترلر LPC1768 به کیبورد

کلاس مورد استفاده : HID

هدف این پروژه : در راستای آموزش مبحث KEYBOARD/KEYPAD PAGE از کلاس HID

 

مطالب دیگه :

  1. کلاس CDC : تبدیل usb به سریال مجازی در میکروکنترلر lpc1768
  2. کلاس HID : تبدیل میکروکنترلر LPC1768 به موس

 

امکانات این پروژه : این پروژه محدود به کلید های زیر هستش :

  1. کلید RightShift
  2. کلید RightAlt
  3. کلید CapsLock
  4. کلید a / ش
  5. کلید b / ذ
  6. کلید c / ز / ژ
  7. کلید 2 / @
  8. کلید 2 / DownArrow

 

Descriptor یک کیبورد واقعی ( Real Keyboard ) و کیبورد این پروژه ( Fake Keyboard ) :

 

کد فایل main پروژه : این کد فایل main هستش، بقیه کدا رو میخواید ببینید به فایل ته مطلب برید.

 

کد Report Descriptor :

 

فیلم پروژه :

193MB تبدیل میکروکنترلر LPC1768 به کیبورد
0%
00:00  /  15:34

 

 

توجه : حتما این دستگاه های RFID Reader که با صورت USB به PC وصل میشن رو دیدید ( عکس زیر )، اینا از کلاسی مثل کلاس کیبورد استفاده میکنند، که گفتی تگی رو سنس میکنند، میان دیتاشو به صورت یه عدد 10-12 رقمی ارسال میکنند به pc، در زیر کد Descriptor شو میزارم براتون ( اینم یک کاربرد از کلاس HID ) :

RFID Reader USB

البته کد Descriptor فوق بعضی قسمتاش اضافس بنظرم، مثلا قسمت (Usage Page (LEDs یه مورد، اصلا کاربردی نداره، LED یی که استفاده شده تو برد فوق که در عکس بالا هم قابل مشاهده هستش، هیچ کدوم از 5 نوع LED مربوط به کیبورد نیست؛ قسمت Vendor-Defined اش هم اضافس بنظرم، دیتا رو به فرمت فشرده شدن کلید ها به صورت عادی داره ارسال میکنه، 10 تا عدد پشت سر هم میفرسته، مثلا داده زیر رو میفرسته :

که ابتدا کد فشرده شدن کلید 0 رو میفرسته، بعد کد رها شدن کلید 0، به همین ترتیب تا…. کد فشرده شدن کلید 4، بعد کد رها شدن کلید 4 و در پایان کد فشرده و رها شدن کاراکتر های r/ و n/ ( همون Enter خودمون میشه ) و لذا در مجموع 12 کاراکتر رو میفرسته و انگار 12 کلید مختلف رو فشار داده و رها کرده، چرا اون قسمت Vendor-Defined رو تعریف کرده و کاربردش چیه، خودم هم نمیدونم حقیقتا، برام سواله وجود این دو مورد ( قسمت Vendor-Defined و (Usage Page (LEDs )

 

امیدوارم این پروژه مفید باشه براتون، این پروژه در راستای آموزش کلاس HID قرار داده شده؛ فعلا یا علی.

 

حدیث تصویری

 




 

بروزرسانی در سه شنبه – ۲۳ بهمن ۱۳۹۷

هدف این پروژه : در راستای آموزش مبحث LED PAGE از کلاس HID

خب به پروژه فوق، 3 تا led های کیبورد ( NumLock – CapsLock – ScrollLock ) اضافه شد، این LED ها توسط خود PC کنترل میشه ( منظورم اینه که کی روشن بشن و کی خاموش بشن رو کاملا PC فرمانشو صادر میکنه، میکرو حق نداره خودسر وضعیت این LED ها رو تغییر بده )؛ بجای پروژه قبلی، اینو دانلود کنید ( برای دریافت داده از سمت PC از EP4_INTERRUPT_OUT استفاده کردم و نه EP0_CONTROL )

کد فایل main پروژه :

کد Report Descriptor : 

توجه : این پروژه رو در عمل تست کردم و جواب گرفتم، فیلمشو دیگه نمیزارم ( همون پروژه قبلی هستش فقط 3 تا led بهش اضافه شده که وضعیت CpasLock و اون دوتا دیگه رو نشون میده – همین )

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
2
نظرات این مطلب بسته شده است.
  1. رضا

    مهمان

    رضا

    استاد من پروژه راه اندازي اثرانگشت با 1768 دارم واسه دانشگاه يه ماژول گرفتم AS608 تنها چيزيم كه پيدا كردم يه كتابخونه واسه اردوينوه ( امان از دست اين اردوينو بازار و داغون كرده dash ) شما كه خيلي چيزارو راه اندازي كردي و اموزش گزاشتي ، اينم يه اموزش ميزاري واسش؟ blush sorry

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – معلومه که نه blush laugh
      حاجی این که با uart کار میکنه – برو دیتاشیتش رو دانلود کن – بشین بخون و یه کتابخونه براش بنویس
      اه – کتابخونه آردوینو هم که براش هستش – بهتر – دیتاشیت رو نمیخواد بخونی laugh – همون کتاب خونه آردونیو رو تست کن ببین اگه کار میکرد تبدیلش کن به 1768 – کاری نداره که کاکو – پروژه مفت استادتون! بهت داده good