সুচিপত্র:

প্রোগ্রামযোগ্য কীপ্যাড: 5 টি ধাপ (ছবি সহ)
প্রোগ্রামযোগ্য কীপ্যাড: 5 টি ধাপ (ছবি সহ)

ভিডিও: প্রোগ্রামযোগ্য কীপ্যাড: 5 টি ধাপ (ছবি সহ)

ভিডিও: প্রোগ্রামযোগ্য কীপ্যাড: 5 টি ধাপ (ছবি সহ)
ভিডিও: How To Change Keyboard Language On Android Mobile In Bengali 2024, জুলাই
Anonim
প্রোগ্রামযোগ্য কীপ্যাড
প্রোগ্রামযোগ্য কীপ্যাড
প্রোগ্রামযোগ্য কীপ্যাড
প্রোগ্রামযোগ্য কীপ্যাড

এই প্রকল্পে আমি দেখাব কিভাবে আপনার সবচেয়ে বেশি ব্যবহৃত কীবোর্ড শর্টকাট, অ্যাপ্লিকেশন এবং আরও অনেক কিছু ম্যাপ করার জন্য অপেক্ষাকৃত সহজ এবং সস্তা প্রোগ্রামযোগ্য কীপ্যাড তৈরি করতে হয়।

এই কীপ্যাডটি সমস্ত প্রধান OS- এ কীবোর্ড হিসাবে সনাক্ত করা হয়েছে, অতিরিক্ত ড্রাইভারের প্রয়োজন নেই।

সরবরাহ

  • রোটারি এনকোডার।
  • প্রচুর (আপনার প্রয়োজনের উপর নির্ভর করে) পুশ বোতাম।
  • Arduino Pro Micro, Arduino Leonardo বা Atmega32U4 MCU সহ অন্য কোন দেব বোর্ড।
  • তার, ঝাল, সোল্ডারিং লোহা, ইত্যাদি
  • (Alচ্ছিক) স্লাইডিং থেকে কীপ্যাড রাখার জন্য কিছু ভারী বেস, আমি পুরানো 3.5 "HDD ব্যবহার করছি

ধাপ 1: বৈদ্যুতিক সার্কিট

বৈদ্যুতিক বর্তনী
বৈদ্যুতিক বর্তনী

আমি Atmega32U4 MCU এর সাথে Arduino Pro Micro dev বোর্ড ব্যবহার করা বেছে নিয়েছি যার 18 টি ব্যবহারযোগ্য ডিজিটাল পিন রয়েছে।

ধাক্কা বোতাম এবং ঘূর্ণমান এনকোডার সংযোগ করার জন্য পিনগুলি কোন বিশেষ ক্রমকে মাথায় রেখে নির্বাচন করা হয়েছিল, তবে কিছু জিনিস লক্ষ্য করা উচিত:

  1. সমস্ত ডিজিটাল পিডেবল পিনের অভ্যন্তরীণ পুল-আপ রয়েছে যা বাইরের পুল-ডাউন প্রতিরোধকগুলিকে প্রশমিত করতে দেয়। অবশ্যই কোডটি সেই অনুযায়ী আপডেট করা উচিত, কারণ এটি আশা করে যে পিনের অবস্থা নিম্ন থেকে উঁচুতে যায় যখন পুশ বোতামগুলি চাপানো হয়।
  2. Encoder.h লাইব্রেরির উদাহরণে উল্লেখ করা হয়েছে যে এমসিইউতে সংযুক্ত উভয় পিনই সক্ষম পিনগুলিকে বাধাগ্রস্ত করলে এনকোডারের সর্বোত্তম কার্যকারিতা পৌঁছে যায়। Atmega32U4 এর বেশিরভাগ এনালগ পিনের ইন্টারাপ্ট ক্যাপাসিটি নেই।
  3. সঠিক টান-ডাউন প্রতিরোধক মানগুলি খুব বেশি গুরুত্বপূর্ণ নয়, 1 kΩ থেকে 100 kΩ পর্যন্ত কিছু ভাল কাজ করবে। বড় প্রতিরোধের মানগুলি ছোট শক্তি অপচয়ের অনুমতি দেয় কিন্তু ভোল্টেজ পরিবর্তনের জন্য ধীর পিনের প্রতিক্রিয়া দেয়। আপনার কাছে যে কোনও মান প্রতিরোধক রয়েছে তা চয়ন করুন।
  4. যোগাযোগ পরিধান এবং বাউন্সের কারণে মেকানিক্যাল এনকোডারগুলি সবচেয়ে নির্ভরযোগ্য জিনিস নয়। এজন্য একটি ভাল ডিবাউন্সিং সমাধান প্রয়োজন। আমার নির্বাচিত ক্যাপাসিটরের মান এবং কোডে বিলম্বের সময় সম্ভবত আপনার জন্য সেরা ফলাফল প্রদান করবে না। তাই একটু পরীক্ষা -নিরীক্ষা দরকার। অথবা অপটিক্যাল এনকোডারের মতো কিছুতে স্যুইচ করুন, কিন্তু এর দাম উল্লেখযোগ্যভাবে বেশি।

ধাপ 2: সমাবেশ

সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ

আমি যতটা সম্ভব পরিষ্কার দেখতে কীপ্যাড করতে চেয়েছিলাম, তাই আমি প্রোটোটাইপ বোর্ডের পিছনে সমস্ত উপাদান বিক্রি করেছি। আমি ভেবেছিলাম যে কিপ্যাডটি আরও বেশি এর্গোনোমিক হবে যদি এটি ছোট কোণে উন্নত করা হয়। এজন্যই আমি আলাদা বোর্ডে আরডুইনো প্রো মাইক্রো বিক্রি করেছি এবং বোতামগুলি ধাক্কা দেওয়ার জন্য তারের সাথে সমস্ত ডিজিটাল পিন সংযুক্ত করেছি। ইউএসবি কেবলকে সেভাবে সংযুক্ত করা আরও সুবিধাজনক।

আমি কিপ্যাডের জন্য বেস হিসাবে পুরাতন 3.5 HDD ব্যবহার করতে পেরেছি, এটি বেশ ভারী এবং পরিচালনা করার সময় ডেস্ক জুড়ে বোর্ড ফর্ম স্লাইডিং প্রতিরোধ করে (অ্যান্টি-স্লিপ প্যাডগুলিও সাহায্য করে) সামান্য কোণে বোর্ড ঠিক করুন।

ধাপ 3: প্রোগ্রামিং

কোডটি Arduino IDE দিয়ে লেখা। আপনাকে 2 টি লাইব্রেরি ইনস্টল করতে হবে:

  • পল স্টফ্রেজেনের এনকোডার
  • Arduino দ্বারা কীবোর্ড

Atmega32U4 এর জন্য কম্পাইল করার জন্য আপনাকে Arduino Pro মাইক্রো বোর্ড ফাইলটিও ইনস্টল করতে হবে, স্পার্কফুন এর দারুণ টিউটোরিয়াল আছে কিভাবে এটি করতে হয়।

একটি বিষয় আগে থেকেই খেয়াল রাখতে হবে যেন আপনার কোডে "চাবি চাপা" না থাকে। এটি আমার সাথে ঘটেছে এবং MCU ক্রমাগত কিছু কী প্রেস কম্বিনেশন স্প্যাম করছে। আমি কিভাবে এটি ঠিক করব তা জানার একমাত্র উপায় হল MCU- এ বুট-লোডার পুনরায় বার্ন করা। আপনি যদি আমার মতো শেষ হয়ে যান, আপনি বুট-লোডার বার্ন করার জন্য এই নির্দেশিকাটি অনুসরণ করতে পারেন, প্রোগ্রামার হিসাবে ব্যবহার করার জন্য আপনার আরডুইনো বোর্ডের প্রয়োজন হবে।

মেইন লুপে MCU প্রথমে প্রতিটি পুশ বাটন স্টেট পড়ে, যদি LOW থেকে HIGH এ স্টেট পরিবর্তন ধরা পড়ে, ফাংশন keyboard_shortcut (i) এক্সিকিউট করা হয়। ভেরিয়েবল i হল চাপা বোতামের একটি আইডি, মোট পুশ বাটন নম্বর ALL_BUTTONS দ্বারা সংজ্ঞায়িত করা হয়েছে (আমার ক্ষেত্রে 15)। যখন চালানো হয়, keyboard_shortcut (i) CTRL+SHIFT পাঠায় এবং তারপর একটি চিঠি যা বোতাম id- এ ম্যাপ করা হয়: 1-> A, 2-> B, 3-> C ইত্যাদি। CTRL+SHIFT+N এর মত কিছু সমন্বয় বাদ দেওয়া হয় কারণ এটি ইতিমধ্যেই ডিফল্টরূপে Windows10 এ ব্যবহার করা হয়েছে (এই ক্ষেত্রে একটি নতুন ফোল্ডার তৈরি করতে)। এখানে সমস্ত ডিফল্ট উইন্ডোজ শর্টকাটের তালিকা রয়েছে। অল্প বিলম্বের পর এমসিইউ সমস্ত কী মুক্ত করার জন্য সংকেত পাঠায় এবং ফাংশনটি মূল লুপে ফিরে আসে।

সমস্ত বোতাম চেক করার পরে, MCU চেক করে যে ঘূর্ণমান এনকোডারের অবস্থান পরিবর্তিত হয়েছে এবং যদি তা হয়, কিবোর্ড_শর্টকাট (i) অনন্য আইডি দিয়ে কার্যকর করা হয়।

Encoder বাটন প্রেস inverts encoderButtonFlag বুলিয়ান ভেরিয়েবল। যখন এনকোডার ঘোরানো হয় তখন বিভিন্ন শর্টকাট পিসিতে পাঠানো হয়, ঘূর্ণন দিক এবং এনকোডারবটনফ্লাগ ভ্যালুর উপর নির্ভর করে।

যদি debugFlag সেট করা হয় 1 ডিবাগ বার্তাগুলি UART এর মাধ্যমে সিরিয়াল মনিটরে পাঠানো হয়।

ধাপ 4: শর্টকাট কনফিগার করা

শর্টকাট কনফিগার করা
শর্টকাট কনফিগার করা
শর্টকাট কনফিগার করা
শর্টকাট কনফিগার করা

প্রতিটি শর্টকাট কি করে তাও আপনার উপর নির্ভর করে, আমাদের প্রত্যেকের আলাদা আলাদা পছন্দ আছে। আমি কোন শর্টকাটগুলি নিজের জন্য কনফিগার করেছি তা একটি উদাহরণ হিসাবে প্রদান করব। আমি xfce4 ডেস্কটপ ম্যানেজারের সাথে লিনাক্স মিন্ট 19.3 ব্যবহার করছি, তাই আমার উদাহরণগুলিতে প্রধানত ব্যাশ স্ক্রিপ্ট অন্তর্ভুক্ত রয়েছে, তবে আমি উইন্ডোজ 10 এর জন্য কিছু মৌলিক উদাহরণও দেখাব।

প্রথম ছবিতে আপনি দেখতে পাবেন কোন স্ক্রিপ্টগুলো আমি কোন শর্টকাটে ম্যাপ করেছি। এটি xfce সেটিংস মেনু থেকে সম্পন্ন হয়েছে, এর জন্য প্রক্রিয়াটি সোজা এগিয়ে। আপনি আমার GitHub সংগ্রহস্থলে এই স্ক্রিপ্টগুলি খুঁজে পেতে পারেন

ওয়েব ব্রাউজার বা ফাইল ম্যানেজারের মতো অ্যাপ্লিকেশনগুলি শুরু করার জন্য নীচে ছোট 6 টি পুশ বোতাম রয়েছে, এর মধ্যে কিছু অ্যাপ্লিকেশন start_only_one_app.sh স্ক্রিপ্ট থেকে বলা হয়, যা সমস্ত শুরু করা অ্যাপ্লিকেশনের নাম পায় এবং আপনি যে অ্যাপ্লিকেশনটি শুরু করতে চান তা অনুসন্ধান করুন। যদি অ্যাপ্লিকেশন উইন্ডোটি ইতিমধ্যে বিদ্যমান থাকে তবে এটি ফোকাস হয়ে যায়, অন্যথায় একটি অ্যাপ্লিকেশনের নতুন উদাহরণ শুরু হয়।

অন্যান্য স্ক্রিপ্ট:

  • 2nd_display_control.sh - দ্বিতীয় মনিটর চালু/বন্ধ করে দেয়।
  • moon_lamp.sh - আমার মুন ল্যাম্প চালু/বন্ধ করে দেয়।
  • pc_load.sh - বর্তমান CPU এবং GPU ব্যবহার এবং তাপমাত্রার সাথে বিজ্ঞপ্তি বুদ্বুদ তৈরি করে।
  • shutdown.sh - 1 মিনিট বিলম্বের সাথে পিসি শাটডাউন শুরু করে এবং বিজ্ঞপ্তি বুদবুদ তৈরি করে যাতে অবশিষ্ট সময় প্রদর্শিত হয়।
  • spec_vpn.sh - নির্দিষ্ট OpenVPN সার্ভারের সাথে সংযোগ স্থাপন করে অথবা যদি সংযোগ ইতিমধ্যে বিদ্যমান থাকে, সার্ভার থেকে সংযোগ বিচ্ছিন্ন করে।
  • shortcut_control.sh - যুক্তি হিসেবে কমান্ড (প্লাস, মাইনাস, ট্যাব, ক্লোজ) নেয়, কোন উইন্ডো এখন ফোকাস করা আছে এবং কোন নির্দিষ্ট অ্যাপ্লিকেশন সক্রিয় পাওয়া গেলে কন্ট্রোল অ্যাকশন চালায়। উদাহরণস্বরূপ সাবলাইম টেক্সট এডিটর -এ নতুন ট্যাব খোলার জন্য ডিফল্ট শর্টকাট হল "CTRL+N" এবং xfce টার্মিনালে - "CTRL+T", তাই এই স্ক্রিপ্টটি একই পুশ বোতামের সাহায্যে সাবলাইম এবং টার্মিনালে নতুন ট্যাব খুলতে দেয়।

রোটারি এনকোডারের প্রথম কাজ হল ভলিউম নিয়ন্ত্রণ করা, দ্বিতীয় কাজ হচ্ছে shortcut_control.sh এর মাধ্যমে সক্রিয় উইন্ডো জুম নিয়ন্ত্রণ করা।

উইন্ডোজ ওএসের জন্য আপনি দ্বিতীয় ছবিতে দেখানো প্রোগ্রাম প্রপার্টি উইন্ডোর মাধ্যমে অ্যাপ্লিকেশনগুলিতে শর্টকাট ম্যাপ করতে পারেন। অন্য যেকোন কিছুর জন্য আপনি অটোহটকি ব্যবহার করতে চাইবেন। এটি উইন্ডোজের জন্য অটোমেশন স্ক্রিপ্টিং ভাষা।

AHK সিনট্যাক্সের কিছু সহজ উদাহরণ:

;ভলিউম নিয়ন্ত্রণ

^+t:: পাঠান {Volume_Up}

প্রত্যাবর্তন

^+v:: {Volume_Down} পাঠান

প্রত্যাবর্তন

; সক্রিয় উইন্ডো বন্ধ করুন

^+h:: WinGetTitle, Title, A

PostMessage, 0x112, 0xF060,,, %Title %

প্রত্যাবর্তন

;কম্পিউটার বন্দ করা

^+b:: রান বন্ধ /গুলি

ধাপ 5: উন্নতি

উন্নতি
উন্নতি

কিছু সম্ভাব্য উন্নতি:

  • উন্নত মানের পুশ বোতাম।
  • প্রোটোটাইপ পিসিবি বোতাম চাপলে অনেকটা ফ্লেক্স করে।
  • কোন ফাংশন রোটারি এনকোডার সেট করা আছে তার উপর নির্ভর করে রঙ পরিবর্তন করতে RGB আলো।
  • আরও বোতাম (আইও এক্সপেন্ডার আইসি ব্যবহার করুন)।
  • ভাল ঘূর্ণমান এনকোডার (বা আরও ভাল ডিবাউন্সিং সমাধান)।

প্রস্তাবিত: