সুচিপত্র:

KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর: 13 টি ধাপ (ছবি সহ)
KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর: 13 টি ধাপ (ছবি সহ)

ভিডিও: KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর: 13 টি ধাপ (ছবি সহ)

ভিডিও: KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর: 13 টি ধাপ (ছবি সহ)
ভিডিও: $১ বনাম $১0,000,000 চাকরি! 2024, জুন
Anonim
Image
Image
KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর
KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর
KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর
KIM Uno - একটি 5 € মাইক্রোপ্রসেসর দেব কিট এমুলেটর

KIM Uno একটি বহনযোগ্য, সফ্টওয়্যার সংজ্ঞায়িত ডিভ কিট (বিপরীতমুখী) মাইক্রোপ্রসেসরের জন্য। তবে সময়মতো ফিরে গিয়ে আমাকে এর ধারণাটি পরিচয় করিয়ে দিন:

২০১ 2018 সালের শেষের দিকে আমার মনে আসে, আমি একটি ছোট পোর্টেবল মাইক্রোপ্রসেসর ডেভ কিট তৈরি করতে চেয়েছিলাম, ঠিক এমওএস টেকনোলজি, ইনকর্পোরেটেডের বিখ্যাত KIM-1 এর মতো এবং ডিজাইন করা হয়েছিল চাক পেডল যিনি 50৫০২ সিপিইউ তৈরিতেও জড়িত ছিলেন।

কিন্তু আলাদা যুক্তি উপাদানগুলির সাথে একটি "বেয়ার-হাড়" ডিভ কিট তৈরি করা কোন বিকল্প ছিল না কারণ এটি একটি বড় বিদ্যুৎ সরবরাহের প্রয়োজন ছিল (যেহেতু সেই প্রাচীন ডিভাইসগুলি কিছু গুরুতর কারেন্ট নিতে থাকে) এবং এটি বিকাশ খুব বেশি সময় নিবে। এবং আমি এখন এটি চাই!

অতএব, আমি KIM Uno কে একটি বহনযোগ্য ডিভাইস হিসাবে ডিজাইন করেছি, যা এক হাতে ফিট করে এবং দুটি CR2032 ব্যাটারি দ্বারা চালিত হয়। এটি একটি পছন্দসই CPU অনুকরণ (বা অনুকরণ) করার জন্য 8MHz এ চলমান ATMega328p ("Arduino") মাইক্রোকন্ট্রোলার ব্যবহার করে। এই স্থাপত্যটিও নিশ্চিত করে যে, এমুলেটেড সিপিইউগুলি মাইক্রোকন্ট্রোলারের ফ্ল্যাশ মেমরির ভিতরে ফিট করে এমন যেকোন কিছুর সাথে বিনিময়যোগ্য। সুতরাং এটি একটি বহুমুখী যন্ত্র।

কাকতালীয়ভাবে আমি পরবর্তীতে ইউটিউবে "ওয়ান ইন্সট্রাকশন সেট কম্পিউটার" বা OISC- এর কথা উল্লেখ করে একটি আলটিমেট অ্যাপোলো গাইডেন্স কম্পিউটার টক (34C3) নামে একটি ভাল আলোচনা দেখেছি। আমি তাদের সম্পর্কে জানতাম না এবং এটি বাস্তবায়নের জন্য নিখুঁত প্রার্থী হিসাবে খুঁজে পেয়েছি।

KIM Uno শুধুমাত্র একটি নির্দেশ দিয়ে একটি CPU অনুকরণ করে: subleq - বিয়োগ এবং শাখা যদি শূন্যের কম বা সমান হয়।

আপনি যদি এই নির্দেশের মাধ্যমে আমার সাথে অনুসরণ করেন, তাহলে আপনি আপনার নিজের কিম ইউনো তৈরি করতে পারেন। এবং সবচেয়ে ভালো দিক - যেটা আপনি আপনার স্বাদে পরিবর্তন করতে পারেন তার পাশাপাশি - এটি হল যে এটি তৈরি করতে মাত্র 4, 75 € খরচ হয় (2018 এর শেষ পর্যন্ত)।

একটি ইঙ্গিত: একটি গিট সংগ্রহস্থল রয়েছে যা এই নির্দেশাবলীর বিভিন্ন ধাপে প্রদত্ত সমস্ত ফাইল ধারণ করে। যদি আপনি কিছু সংস্থান সংশোধন করতে চান এবং সেগুলি আমাদের সাথে ভাগ করতে চান তবে আপনি একটি পিআর তৈরি করতে পারেন। তবে আপনি সেখানে একবারে সমস্ত ফাইল ডাউনলোড করতে পারেন। কেবলমাত্র https://github.com/maxstrauch/kim-uno এ যান। ধন্যবাদ!

আরেকটি বেশ আকর্ষণীয় প্রকল্প আছে, যাকে একই (KIM Uno) বলা হয়, যা 6502 KIM Uno এর একটি বাস্তব প্রতিরূপ তৈরি করে। এখানে দেখুন। স্রষ্টা এমনকি কিট বিক্রি করেন। সুতরাং আপনি যদি 6502 তে আগ্রহী হন এবং এই প্রকল্পটি পছন্দ করেন তবে আপনার সেখানে দেখা উচিত!

ধাপ 1: PCB সোর্সিং

পিসিবির সোর্সিং
পিসিবির সোর্সিং
পিসিবির সোর্সিং
পিসিবির সোর্সিং

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

আমি PCBWay এ চীনে আমার PCB গুলি অর্ডার করেছি মাত্র 5 ডলারে। PCBWay কে PCBs- এর জন্য আমার গোটো প্রস্তুতকারক হিসেবে উপস্থাপন করার জন্য আমি কোন সুবিধা পাই না, এটা ঠিক যে এটি আমার জন্য ভাল কাজ করেছে এবং আপনার জন্যও ভাল কাজ করতে পারে। কিন্তু আপনি JLCPCB, OSH পার্ক বা স্থানীয় কোন PCB কোম্পানির মত অন্য কোন স্থানে তাদের অর্ডার করতে পারেন।

কিন্তু যদি আপনি PCBWay এ তাদের অর্ডার করতে ইচ্ছুক হন তাহলে আপনি সংযুক্ত জিপ ফাইল "kim-uno-rev1_2018-12-12_gerbers.zip" ডাউনলোড করতে পারেন এবং কোন পরিবর্তন ছাড়াই সরাসরি PCBWay এ আপলোড করতে পারেন। এই যে আসল ফাইলটি আমি পিসিবি অর্ডার করতে ব্যবহার করেছি আপনি ছবিতে দেখতে পারেন।

আপনি যদি অন্য কোন প্রস্তুতকারকের কাছ থেকে তাদের অর্ডার দিচ্ছেন তাহলে আপনাকে তাদের মূল কিক্যাড উত্স থেকে পুনরায় রপ্তানি করতে হতে পারে, কারণ আমি সেগুলি PCBWay থেকে স্পেসিফিকেশন দিয়ে তৈরি করেছি যা আপনি এখানে খুঁজে পেতে পারেন। মূল কিক্যাড উত্সগুলির জন্য, "kim-uno-kicad-sources.zip" ডাউনলোড করুন এবং এটি বের করুন।

কিন্তু এমনকি একটি দ্বিতীয় উপায় আছে: যদি আপনি PCB অর্ডার করতে না চান, আপনি পারফবোর্ড বা এমনকি একটি breadboard ব্যবহার করে আপনার নিজস্ব সংস্করণ তৈরি করতে পারেন।

যাইহোক: যেহেতু PCBs এখন পথে আছে, আমরা অন্যান্য অংশে ফোকাস করতে পারি! এসো, আমাকে অনুসরণ করো।

ধাপ 2: উপাদানগুলি সোর্স করা

উপাদানগুলি সোর্সিং
উপাদানগুলি সোর্সিং
উপাদানগুলি সোর্সিং
উপাদানগুলি সোর্সিং
উপাদানগুলি সোর্সিং
উপাদানগুলি সোর্সিং

এখন আপনাকে উপাদানগুলি পেতে হবে। এর জন্য আপনি এই ধাপের পাশাপাশি BOM (উপকরণের বিল) সংযুক্ত সমস্ত উপাদান এবং পরিমাণের একটি ওভারভিউ চিত্র পাবেন।

বিওএম -এ ইবে -এর লিঙ্ক রয়েছে। যদিও আপনি এই পড়ার সময় এই অফারগুলি বন্ধ হয়ে যেতে পারে, আপনি এটি একটি প্রারম্ভিক বিন্দু হিসাবে ব্যবহার করতে পারেন। ব্যবহৃত উপাদানগুলি বেশ মানসম্মত।

নিম্নলিখিতটিতে আমি আপনাকে সমস্ত প্রয়োজনীয় উপাদানগুলি ব্যাখ্যা করব:

  • সাত সেগমেন্ট ডিসপ্লের জন্য 7x 1 kΩ রোধক। আপনি তাদের উজ্জ্বল করার জন্য মান (যেমন 470 to) কমাতে পারেন, কিন্তু এটি খুব বেশি কমাবেন না অন্যথায় LED গুলি মারা যাবে বা ব্যাটারি খুব দ্রুত শেষ হয়ে যাবে। আমি দেখেছি যে এই মান আমার জন্য কাজ করে
  • 1x 10 kΩ মাইক্রোকন্ট্রোলারের RESET লাইনের জন্য একটি পুল-আপ প্রতিরোধক হিসাবে
  • যেকোনো ভোল্টেজ স্পাইক মসৃণ করার জন্য 1x 100nF ক্যাপাসিটার
  • DIP-28 প্যাকেজে 1x ATMega328P (সাধারণত ATMega328P-PU নামে)
  • 1x প্রধান পিসিবি - আগের ধাপ দেখুন; হয় অর্ডার করা হয়েছে অথবা নিজে তৈরি করা হয়েছে
  • 2x CR2032 ব্যাটারি হোল্ডার
  • 1x SPDT (একক মেরু, ডবল নিক্ষেপ) সুইচ যা মূলত তিনটি পরিচিতি আছে এবং এর প্রতিটি দুটি রাজ্যে (হয় চালু বা বন্ধ) এটি দুটি পরিচিতিকে সংযুক্ত করে
  • কীবোর্ডের জন্য 20x স্পর্শযোগ্য পুশ বোতাম। PCB এর পিছনের অংশটি ব্যবহার করার জন্য আমি SMD স্পর্শকাতর পুশ বোতামগুলি ব্যবহার করেছি (স্ট্যান্ডার্ড 6x6x6 মিমি) - সেগুলি সোল্ডার করা বেশ সহজ যেমন আপনি দেখতে পাবেন
  • :চ্ছিক: প্রোগ্রামার সংযোগ করার জন্য 1x 1x6 পিন হেডার, কিন্তু এটি alচ্ছিক কারণ আপনি পরে দেখতে পাবেন
  • 4 ডিজিটের 1x সেভেন সেগমেন্ট ডিসপ্লে এবং 2 ডিজিটের 1x সেভেন সেগমেন্ট ডিসপ্লে - বোর্ড সাধারণ এনোড ওয়্যারিং সহ মাত্র 0.36 ইঞ্চি (9, 14 মিমি) উপাদানগুলি নেবে। একটি কাজের ইউনিট পেতে উভয় প্রয়োজনীয়তা গুরুত্বপূর্ণ। কিন্তু এই ধরনের সাত সেগমেন্ট ডিসপ্লে খুব সাধারণ

এই ধাপের সাথে সংযুক্ত আপনি "কম্পোনেন্ট- datasheets.zip" ফাইলটি খুঁজে পেতে পারেন যা ব্যবহৃত উপাদানগুলির মাত্রা এবং প্রকার সম্পর্কে আরও সুনির্দিষ্ট তথ্য ধারণ করে। কিন্তু অধিকাংশ উপাদান খুবই মানসম্মত এবং অল্প টাকায় সহজেই পাওয়া যায়।

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

ধাপ 3: সোল্ডারিং টুল ওভারভিউ

সোল্ডারিং টুল ওভারভিউ
সোল্ডারিং টুল ওভারভিউ
সোল্ডারিং টুল ওভারভিউ
সোল্ডারিং টুল ওভারভিউ

কিম ইউনো সোল্ডারিং এবং নির্মাণের জন্য আপনাকে চিত্রগুলির দ্বারা দেখানো সরঞ্জামগুলির প্রয়োজন:

  • তারের কর্তনকারী (উপাদান তারের শেষ কাটা)
  • সমতল প্লেয়ার
  • টুইজারের জুড়ি
  • (শালীন) ঝাল যা মোটা নয় - আমি 0.56 মিমি ঝাল ব্যবহার করি
  • একটি সোল্ডারিং আয়রন - আপনার একটি উচ্চমানের সোল্ডারিং লোহার প্রয়োজন নেই (কারণ আমরা এখানে রকেট বিজ্ঞানও করছি না) - আমি অনেক দিন ধরে এরসা ফাইনটিপ 260 ব্যবহার করি এবং এটি সত্যিই ভাল
  • একটি ফ্লাক্স পেন: কম্পোনেন্ট এবং প্যাডে ফ্লাক্স যোগ করা সেগুলিকে সোল্ডার করা অনেক সহজ করে দেয় যেহেতু সোল্ডার তখন তার নিজের দ্বারা "প্রবাহিত" হয় সঠিক জায়গায়*
  • Allyচ্ছিকভাবে: আপনার সোল্ডারিং লোহার জন্য একটি স্পঞ্জ (মেটালউল থেকে)

পরে কিম ইউনো প্রোগ্রাম করার জন্য আপনারও প্রয়োজন হবে:

  • ফার্মওয়্যার আপলোড করার জন্য AVR-GCC টুলচেন এবং avrdude সহ একটি কম্পিউটার
  • একটি আইএসপি (প্রোগ্রামার) - যেমন আপনি ছবিতে দেখতে পাচ্ছেন আমি একটি বিশেষ স্কেচ সহ আইএসপি হিসাবে আমার আরডুইনো ইউনো ব্যবহার করছি - তাই কোনও অভিনব হার্ডওয়্যার কেনার দরকার নেই

* মানুষের কিছু নির্দেশনার প্রয়োজন;-)

তুমি কী তৈরী? পরবর্তী ধাপে আমরা KIM Uno একত্রিত করতে যাচ্ছি।

ধাপ 4: সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা

সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা
সোল্ডারিং #1: প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করা

আপনার সর্বদা ক্ষুদ্রতম (কম্পোনেন্ট উচ্চতার দিক থেকে) উপাদান থেকে শুরু করে সর্বোচ্চ উপাদান পর্যন্ত কাজ করা উচিত। অতএব, আমরা প্রতিরোধক যোগ করে এবং পিছনে পায়ে বাঁক দিয়ে শুরু করি যাতে প্রতিরোধকগুলি ঝালাই করা সহজ এবং জায়গায় থাকে। পরে লম্বা তারগুলো কেটে ফেলুন।

এছাড়াও, ছবিতে দেখানো হয়নি, একইভাবে ছোট 100 nF ক্যাপাসিটর যুক্ত করুন।

একটি টিপ: এই তারের পাগুলিকে একটি ছোট পাত্রে রাখুন, এগুলি কখনও কখনও কাজে আসে।

ধাপ 5: সোল্ডারিং #2: কীবোর্ড একত্রিত করা

সোল্ডারিং #2: কীবোর্ড একত্রিত করা
সোল্ডারিং #2: কীবোর্ড একত্রিত করা
সোল্ডারিং #2: কীবোর্ড একত্রিত করা
সোল্ডারিং #2: কীবোর্ড একত্রিত করা
সোল্ডারিং #2: কীবোর্ড একত্রিত করা
সোল্ডারিং #2: কীবোর্ড একত্রিত করা

পরবর্তী ধাপ হল 20 টি SMD স্পর্শযোগ্য সুইচ বিক্রি করা। যেহেতু এই কাজটি একটু বিড়ম্বনাপূর্ণ, আমরা এখন এটি করি, যখন পিসিবি ওয়ার্কবেঞ্চে ফ্ল্যাট রাখে।

আমরা উপরে থেকে নীচে (বা বাম থেকে ডানে কাজ করব যদি পিসিবি ফটোতে দেখানো হয়) এবং প্রথম সারি দিয়ে শুরু করব: প্রতিটি সুইচের জন্য চারটি প্যাডের একটি বেছে নিন এবং ফ্লাক্স পেন দিয়ে ভিজিয়ে নিন।

তারপরে একটি সুইচ ধরতে এবং চারটি প্যাডে সাবধানে এটি রাখার জন্য এক জোড়া চিমটি ব্যবহার করুন। তারপরে কেবল সুইচের পাটি সোল্ডার করুন যা আপনি যে প্যাডে বাছাই করেছেন এবং ফ্লাক্স দিয়ে প্রস্তুত করেছেন। এই জন্য আপনি শুরু করার আগে আপনার লোহা সঙ্গে কিছু ঝাল "দখল" করা উচিত। এই পদ্ধতি ব্যবহার করে, সুইচগুলির পুরো সারিটি সম্পূর্ণ করুন, কেবল একটি পা সোল্ডার করুন।

তীরগুলির সাথে চিত্রটি একটি বর্ধন দেখায় কিভাবে সোল্ডারিং ঠিক করা হয়েছিল।

আপনি পুরো সারি (শুধুমাত্র একটি পিন) সোল্ডার করার পরে আপনি পিন ব্যাক আপ এবং সুইচ পুনরায় অবস্থান করে সামান্য সমন্বয় করতে পারেন। নিশ্চিত করুন, সুইচগুলি যতটা সম্ভব ভালভাবে সারিবদ্ধ করা হয়েছে।

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

একটি সারি বা তাই সোল্ডারিং পরে আপনি লক্ষ্য করবেন যে আপনি এটি ঝুলন্ত এবং এটি যে কঠিন কিন্তু পুনরাবৃত্তিমূলক নয়। তাই শুধু বাকি কাজ করুন এবং আপনি কোন সময় একটি সমাপ্ত কীবোর্ড সঙ্গে শেষ হবে।

ধাপ 6: সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার

সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার
সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার
সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার
সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার
সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার
সোল্ডারিং #3: সেভেন সেগমেন্ট ডিসপ্লে, সুইচ এবং পিন হেডার

এখন আপনি সুইচ এবং পিন হেডার যোগ করতে পারেন (alচ্ছিক) এটি আপনার আঙুল দিয়ে ধরে রাখুন এবং একটি পিনকে পিসিবিতে ধরে রাখার জন্য সোল্ডার করুন, যাতে আপনি অন্যান্য পিনগুলি সোল্ডার করতে পারেন এবং অবশেষে প্রাথমিক হোল্ডিং পিনটি স্পর্শ করতে পারেন।

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

সাতটি সেগমেন্ট ডিসপ্লে একইভাবে সোল্ডার করা হয় (ছবিটি দেখুন): আপনি এটি রাখুন, এটি আপনার হাত বা টেপ দিয়ে ধরে রাখুন এবং দুটি বিপরীত পিনগুলি এটিকে ধরে রাখুন যখন আপনি অন্য পিনগুলি সোল্ডার করতে পারেন।

কিন্তু সাবধানে থাকুন এবং সাতটি সেগমেন্ট ডিসপ্লে সঠিক দিকে রাখুন (কীবোর্ডের মুখোমুখি দশমিক বিন্দু সহ)। অন্যথায় আপনি সমস্যায় আছেন …

ধাপ 7: সোল্ডারিং #4: মাইক্রোকন্ট্রোলার সোল্ডারিং

সোল্ডারিং #4: মাইক্রোকন্ট্রোলার সোল্ডারিং
সোল্ডারিং #4: মাইক্রোকন্ট্রোলার সোল্ডারিং

এখন যেহেতু আপনার প্রচুর অনুশীলন আছে, আপনি এগিয়ে যেতে পারেন এবং মাইক্রোকন্ট্রোলারটি উপরের দিকে (বা প্রথম পিন) সুইচের দিকে মুখ করে রাখতে পারেন। ফ্ল্যাট প্লায়ার ব্যবহার করে আপনি সাবধানে মাইক্রোকন্ট্রোলারের পা একটু বাঁকিয়ে নিতে পারেন, যাতে তারা পিসিবির গর্তের সাথে মেলে।

যেহেতু এটি একটি টাইট ফিট, তাই মাইক্রোকন্ট্রোলার putোকানোর জন্য আপনার কিছু নিয়ন্ত্রিত শক্তি প্রয়োজন। সুবিধা হল, এটি পড়ে না। এর অর্থ, আপনি আপনার সময় নিতে পারেন এবং পিছন থেকে এটি সোল্ডার করতে পারেন।

ধাপ 8: সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)

সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)
সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)
সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)
সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)
সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)
সোল্ডারিং #5: ব্যাটারি হোল্ডার যুক্ত করুন (চূড়ান্ত ধাপ)

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

ধাপ 9: এমুলেটর ফ্ল্যাশ করা

এমুলেটর ঝলকানো
এমুলেটর ঝলকানো
এমুলেটর ঝলকানো
এমুলেটর ঝলকানো
এমুলেটর ঝলকানো
এমুলেটর ঝলকানো

সংযুক্ত জিপ আর্কাইভ "kim-uno-firmware.zip" এ আপনি এমুলেটরের সোর্স কোডটি ইতিমধ্যে সংকলিত "main.hex" সহ খুঁজে পেতে পারেন যা আপনি সরাসরি মাইক্রোকন্ট্রোলারে আপলোড করতে পারেন।

আপনি আসলে এটি ব্যবহার করার আগে, আপনাকে মাইক্রোকন্ট্রোলারের ফিউজ বিট সেট করতে হবে, যাতে এটি অর্ধেক ভাগ না করে অভ্যন্তরীণ 8 মেগাহার্টজ ঘড়ি ব্যবহার করে। আপনি নিম্নলিখিত কমান্ড দিয়ে কাজটি সম্পন্ন করতে পারেন:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U lfuse: w: 0xe2: m -U hfuse: w: 0xd9: m -U efuse: w: 0xff: m

যদি আপনি avrdude না জানেন: এটি একটি মাইক্রোকন্ট্রোলারে প্রোগ্রাম আপলোড করার জন্য একটি প্রোগ্রাম। আপনি এটি সম্পর্কে আরও জানতে পারেন এখানে। মূলত আপনি এটি ইনস্টল করুন এবং তারপর এটি ব্যবহারের জন্য প্রস্তুত। আপনার সেটআপের জন্য আপনাকে "-P" এর যুক্তি অন্য সিরিয়াল পোর্টে পরিবর্তন করতে হতে পারে। অনুগ্রহ করে আপনার কম্পিউটারে কোন সিরিয়াল পোর্ট ব্যবহার করা হয়েছে তা পরীক্ষা করুন (যেমন Arduino IDE এর ভিতরে)।

এর পরে আপনি এই কমান্ড দিয়ে ফার্মওয়্যারটিকে মাইক্রোকন্ট্রোলারে ফ্ল্যাশ করতে পারেন:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U ফ্ল্যাশ: w: main.hex

আবার: একই জিনিস উপরের হিসাবে "-P" এর ক্ষেত্রে প্রযোজ্য।

যেহেতু আমার "পেশাদার" ISP (ইন-সিস্টেম প্রোগ্রামার) নেই তাই আমি সবসময় আমার Arduino UNO ব্যবহার করি আমি জানি যে একটি নতুন সংস্করণ আছে, কিন্তু এই সংস্করণের সাথে আমার গত পাঁচ বছর ধরে শূন্য সমস্যা ছিল, তাই আমি এটি রাখি। এটা শুধু কাজ করে। স্কেচের হেডারে মন্তব্য ব্যবহার করে আপনি Arduino UNO- এর পিনআউট পাবেন এবং KIM Uno (সংযুক্ত দেখুন) এর পরিকল্পিত ব্যবহার করে আপনি KIM Uno- তে 1x6 ISP হেডারের পিনআউট পেতে পারেন। স্কয়ার পিন, সাত সেগমেন্ট ডিসপ্লের কাছে পিন 1 (GND)। নিম্নলিখিত পিনগুলি (সঠিক ক্রমে): রিসেট, মোসি, মিসো, এসসিকে, ভিসিসি। আপনি VCC কে 3V3 অথবা 5V এর সাথে সংযুক্ত করতে পারেন।

যদি আপনি 1x6 পিন হেডার যোগ না করেন তবে আপনি ব্রেডবোর্ডের তারগুলি ব্যবহার করতে পারেন এবং সেগুলিকে সংযোগের গর্তে andুকিয়ে আপনার আঙুল দিয়ে এঙ্গেল করতে পারেন - যেমন ছবিতে দেখানো হয়েছে। এটি ফার্মওয়্যার ফ্ল্যাশ এবং ফিউজ সেট করার জন্য যথেষ্ট যোগাযোগ করে। কিন্তু আপনি যদি আরো স্থায়ী সেটআপ পছন্দ করেন, তাহলে আপনার অবশ্যই 1x6 পিন হেডার যুক্ত করা উচিত।

আমার দুটি ডিভাইস আছে: পিন হেডার ছাড়া একটি উত্পাদন সংস্করণ এবং পিন হেডার সহ একটি উন্নয়ন সংস্করণ যা আমি সংযুক্ত রেখেছি এবং বিকাশের সময় এটি বারবার ব্যবহার করি। এটি অনেক বেশি আরামদায়ক।

ধাপ 10: সমাপ্ত

সমাপ্ত
সমাপ্ত
সমাপ্ত
সমাপ্ত

এখন আপনি শেষ করেছেন এবং কাগজে আপনার নিজের সুবলক প্রোগ্রাম লিখতে শুরু করতে পারেন, এটি একত্রিত করতে পারেন এবং তারপরে এটি স্মৃতিতে প্রবেশ করতে পারেন।

KIM Uno মেমরি লোকেশন 0x0a থেকে শুরু করে একটি প্রাক-প্রোগ্রামযুক্ত ফিবোনাচি গণনার সাথে আসে। এটি ডিফল্টরূপে n = 6 এ সেট করা হয় তাই 8 এর মান হওয়া উচিত গণনা শুরু করতে "গো" টিপুন।

ধাপ 11: পিসিবি ডিজাইন বিশ্লেষণ

পিসিবি ডিজাইন বিশ্লেষণ
পিসিবি ডিজাইন বিশ্লেষণ
পিসিবি ডিজাইন বিশ্লেষণ
পিসিবি ডিজাইন বিশ্লেষণ

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

  • ATMega328p এর সিল্ক স্ক্রিন যেখানে প্রথম পিনটি অবস্থিত সেখানে স্বাভাবিক খাঁজ নেই। DIP-28 পদচিহ্ন এমনকি একটি বর্গ প্যাড নেই যেখানে প্রথম পিন অবস্থিত। বিভ্রান্তি রোধ করতে এটি অবশ্যই আরও বিস্তারিত সিল্কস্ক্রিন দিয়ে উন্নত করা উচিত
  • ISP হেডারের সিল্ক স্ক্রিনে কোন সংযোগ লেবেল নেই। এটি ISP এর সাথে কিভাবে সংযোগ করা যায় তা সনাক্ত করা কঠিন করে তোলে
  • ISP শিরোলেখকে 2x6 পিন শিরোনামে পরিবর্তন করা যেতে পারে যাতে কোনো বিভ্রান্তি না হয়

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

ধাপ 12: কিভাবে SUBLEQ প্রোগ্রাম করবেন?

Image
Image
কিভাবে SUBLEQ প্রোগ্রাম করবেন?
কিভাবে SUBLEQ প্রোগ্রাম করবেন?
কিভাবে SUBLEQ প্রোগ্রাম করবেন?
কিভাবে SUBLEQ প্রোগ্রাম করবেন?

শুরুতে উল্লিখিত হিসাবে, KIM Uno এর বর্তমান ফার্মওয়্যার একটি ওয়ান ইন্সট্রাকশন সেট কম্পিউটার (OISC) অনুকরণ করে এবং গণনা করার জন্য সুবলক নির্দেশ প্রদান করে।

শূন্যের চেয়ে কম বা সমান হলে সাবলেক নির্দেশটি বিয়োগ এবং শাখার জন্য দাঁড়ায়। ছদ্ম-কোডে এটি নিচের মত দেখাচ্ছে:

subleq A B C mem [B] = mem [B] - mem [A]; যদি (মেম [বি] <= 0) গোটো সি;

যেহেতু KIM Uno একটি 8-বিট মেশিনকে অনুকরণ করে, তাই সমস্ত আর্গুমেন্ট A, B এবং C হল 8 বিট মান এবং অতএব এটি 256 বাইটের মোট প্রধান মেমরির সমাধান করতে পারে। স্পষ্টতই এটি A, B এবং C মাল্টি-বাইট মান তৈরি করে বাড়ানো যেতে পারে। তবে আপাতত এটাকে সহজ রাখা যাক।

KIM Uno- এ "পেরিফেরাল" রয়েছে: ডিসপ্লে এবং কীবোর্ড। এটি সেই পেরিফেরালগুলিকে ইন্টারফেস করার জন্য একটি মেমরি ম্যাপ করা আর্কিটেকচার ব্যবহার করে, যদিও মেমরি ম্যাপটি খুবই সহজ:

  • 0x00 = Z রেজিস্টার (শূন্য) এবং শূন্য রাখা উচিত।
  • 0x01 - 0x06 = ছয় বাইট যা প্রতিটি ডিসপ্লে সেগমেন্টের মান প্রতিনিধিত্ব করে (ডান থেকে বামে)। একটি মান 0xf - আরো বিস্তারিত জানার জন্য সোর্স কোড (main.c) দেখুন।
  • 0x07, 0x08, 0x09 = তিনটি বাইট যেখানে প্রতিটি বাইট দুটি সাতটি সেগমেন্ট প্রদর্শন করে (ডান থেকে বামে)। এই মেমরি লোকেশনগুলি ফলাফলকে দুটি নিবলে বিভক্ত না করে কেবল একটি ফলাফল প্রদর্শনের অনুমতি দেয় এটি একক অঙ্কের মেমরির অবস্থানে 0x01 - 0x06।
  • 0x0a+ = 0x0a থেকে একটি প্রোগ্রাম শুরু হয়। বর্তমানে 0x0a ফিক্সড থেকে "Go" কী এক্সিকিউট হয়।

এই তথ্যের সাহায্যে এখন কেউ অ্যাসেম্বলারে একটি প্রোগ্রাম লিখতে পারেন এবং মেমরিতে নির্দেশাবলী প্রবেশ করতে পারেন এবং তারপর এটি চালাতে পারেন। যেহেতু শুধুমাত্র একটি নির্দেশনা আছে, শুধুমাত্র আর্গুমেন্ট (A, B এবং C) প্রবেশ করা হয়। তাই তিনটি মেমরি অবস্থানের পরে পরবর্তী নির্দেশের আর্গুমেন্টগুলি শুরু হয় এবং আরও সামনে।

এই ধাপের সাথে সংযুক্ত আপনি "fibonacci.s" ফাইলটি খুঁজে পেতে পারেন এবং হাতে লেখা প্রোগ্রামের একটি ছবিও খুঁজে পেতে পারেন যা ফিবোনাচ্চির একটি বাস্তবায়ন উদাহরণ। কিন্তু অপেক্ষা করুন: সেখানে তিনটি নির্দেশনা ব্যবহার করা হয়েছে - বিশেষ করে ADD, MOV এবং HLT - যা সুবেল নয়। "চুক্তি কি? আপনি কি বলেননি যে শুধুমাত্র একটি নির্দেশ আছে, সুবলক?" আপনি জিজ্ঞাসা করছেন? এটি খুব সহজ: সুবলক দিয়ে কেউ খুব সহজেই সেই নির্দেশনা অনুকরণ করতে পারে:

MOV a, b - a থেকে b অবস্থানে ডেটা অনুলিপি করা যেতে পারে:

  1. সুবলক বি, বি, 2 (পরবর্তী নির্দেশনা)
  2. সুবলক এ, জেড, 3 (পরবর্তী নির্দেশ)
  3. সুবলক জেড, বি, 4 (পরবর্তী নির্দেশ)
  4. সুবলক জেড, জেড, যেমন 5 (পরবর্তী নির্দেশনা)

সুব্লেকের বিয়োগ বৈশিষ্ট্য ব্যবহার করে, যা মেম [বি] - মেম [এ] করে এবং ফলাফল দিয়ে মেম [বি] ওভাররাইট করে, মানটি শূন্য রেজিস্টার ব্যবহার করে অনুলিপি করা হয়। এবং "সুবলেক জেড, জেড, …" কেবল শূন্য রেজিস্টারকে 0 তে রিসেট করে, Z এর মান নির্বিশেষে।

ADD a, b - a + b মান যোগ করে এবং b- এর মধ্যে যোগফল সংরক্ষণ করে:

  1. সুবলক এ, জেড, ২ (পরবর্তী নির্দেশনা)
  2. সুবলক জেড, বি, 3 (পরবর্তী নির্দেশ)
  3. সুবলক জেড, জেড, যেমন 4 (পরবর্তী নির্দেশনা)

এই নির্দেশটি কেবল মেম - (- mem [a]) গণনা করে যা বিয়োগ বৈশিষ্ট্য ব্যবহার করে mem + mem [a]।

এইচএলটি - সিপিইউ থামায় এবং কার্যকর করা শেষ করে:

সংজ্ঞা অনুসারে এমুলেটর জানে যে সিপিইউ যদি 0xff (বা -1 যদি গাইতে থাকে) এ লাফিয়ে উঠতে চায়। তাই সহজ

সুবলক জেড, জেড, -1

কাজটি করে এবং এমুলেটরকে নির্দেশ করে, যে এটি এমুলেশন শেষ করা উচিত।

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

এই ধাপে সংযুক্ত আপনি জিপ আর্কাইভ "kim_uno_tools.zip" খুঁজে পেতে পারেন। এতে কিম ইউনোর জন্য কিছু বেসিক এসেম্বলার এবং সিমুলেটর রয়েছে। সেগুলি নোডজেএস -এ লেখা আছে - নিশ্চিত করুন যে আপনি এটি ইনস্টল করেছেন।

প্রোগ্রাম একত্রিত করা

যদি আপনি "fibonacci/fibonacci.s" দেখে নেন তাহলে আপনি দেখতে পাবেন যে এটি আলোচিত ফিবোনাচ্চি বাস্তবায়নের উৎস কোড। এটি একত্রিত করতে এবং এটি থেকে একটি প্রোগ্রাম তৈরি করতে, যাতে কিম ইউনো চলতে পারে, আপনি নিম্নলিখিত কমান্ডটি প্রবেশ করান (নিষ্কাশিত "kim_uno_tools.zip" আর্কাইভের মূলে):

node assemble.js fibonacci/fibonacci.s

এবং যদি আপনি একটি ভুল করে থাকেন বা ফলাফলটি ছড়িয়ে দেন তবে এটি একটি ত্রুটি মুদ্রণ করবে। এটি সংরক্ষণ করতে, আপনি আউটপুটটি অনুলিপি করতে পারেন এবং এটি একটি ফাইলে সংরক্ষণ করতে পারেন বা কেবল এই কমান্ডটি চালাতে পারেন:

নোড assemble.js fibonacci/fibonacci.s> yourfile.h

আউটপুটটি এমনভাবে ফর্ম্যাট করা হয়েছে যে এটি সরাসরি সি হেডার ফাইল হিসাবে কেআইএম ইউনো ফার্মওয়্যারে অন্তর্ভুক্ত করা যেতে পারে, তবে সিমুলেটর এটি সিমুলেট করতেও ব্যবহার করতে পারে। কেবল প্রবেশ করুন:

নোড sim.js yourfile.h

এবং আপনাকে সিমুলেশন ফলাফল এবং ডিসপ্লেতে KIM Uno থেকে প্রত্যাশিত আউটপুট উপস্থাপন করা হবে।

এই সরঞ্জামগুলির জন্য এটি একটি খুব সংক্ষিপ্ত ভূমিকা ছিল; আমি আপনাকে তাদের সাথে খেলতে এবং তারা কীভাবে কাজ করে তা দেখার পরামর্শ দিই। এইভাবে আপনি একটি গভীর জ্ঞান পাবেন এবং CPUs, নির্দেশাবলী, সমাবেশকারী এবং এমুলেটরগুলির পিছনে কার্যকরী নীতিগুলি শিখবেন;-)

ধাপ 13: আউটলুক

দৃষ্টিভঙ্গি
দৃষ্টিভঙ্গি
দৃষ্টিভঙ্গি
দৃষ্টিভঙ্গি
দৃষ্টিভঙ্গি
দৃষ্টিভঙ্গি

অভিনন্দন

যদি আপনি এটি পড়েন তবে আপনি সম্ভবত এই সম্পূর্ণ নির্দেশনা দিয়ে গেছেন এবং আপনার নিজের কিম ইউনো তৈরি করেছেন। এটা সত্যিই চমৎকার।

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

উদাহরণস্বরূপ, KIM Uno একটি "বাস্তব" রেট্রো CPU এমুলেটর দিয়ে সজ্জিত হতে পারে যা বিখ্যাত MOS 6502 বা Intel 8085, 8086 বা 8088 এর অনুকরণ করতে পারে। তারপর OISCs সম্পর্কে জানার আগে এটি আমার প্রাথমিক দৃষ্টিভঙ্গির দিকে যাবে।

কিন্তু সম্ভাব্য অন্যান্য ব্যবহার আছে, যেহেতু হার্ডওয়্যার ডিজাইন বেশ সাধারণ। KIM Uno ব্যবহার করা যেতে পারে …

  • … একটি রিমোট কন্ট্রোলার উদা CNC বা অন্যান্য ডিভাইসের জন্য। হয়তো তারযুক্ত বা আইআর ডায়োড বা অন্য কোন বেতার প্রেরক দিয়ে সজ্জিত
  • … একটি (হেক্সাডেসিমাল) পকেট ক্যালকুলেটর। ফার্মওয়্যারটি খুব সহজেই মানিয়ে নেওয়া যায় এবং বোর্ডের নকশা খুব বেশি পরিবর্তন করার প্রয়োজন হয় না। হয়তো সিল্কস্ক্রিনকে গণিতের অপারেশনের সাথে মানিয়ে নেওয়া যায় এবং সেগমেন্টের মধ্যে ব্যবধান দূর করা যায়। এটি ছাড়াও, এটি ইতিমধ্যে এই রূপান্তরের জন্য প্রস্তুত

আমি আশা করি আপনি যতটা মজা পেয়েছেন এবং আশা করি কেআইএম ইউনো তৈরি করবেন যেমন আমি এটি ডিজাইন এবং পরিকল্পনা করেছি। এবং যদি আপনি এটি প্রসারিত করেন বা সংশোধন করেন - দয়া করে আমাকে জানান। চিয়ার্স!

পিসিবি প্রতিযোগিতা
পিসিবি প্রতিযোগিতা
পিসিবি প্রতিযোগিতা
পিসিবি প্রতিযোগিতা

পিসিবি প্রতিযোগিতায় রানার আপ

প্রস্তাবিত: