সুচিপত্র:

AVR Assembler টিউটোরিয়াল 8: 4 ধাপ
AVR Assembler টিউটোরিয়াল 8: 4 ধাপ

ভিডিও: AVR Assembler টিউটোরিয়াল 8: 4 ধাপ

ভিডিও: AVR Assembler টিউটোরিয়াল 8: 4 ধাপ
ভিডিও: atmega 8 programming.... 2024, জুলাই
Anonim
AVR Assembler টিউটোরিয়াল 8
AVR Assembler টিউটোরিয়াল 8

টিউটোরিয়াল 8 এ স্বাগতম!

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

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

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

আমরা এই টিউটোরিয়ালের বেশিরভাগ সময় শারীরিক কাজ করে ব্যয় করব যেমন একটি সার্কিট ডিজাইন করা, একটি প্রোটোটাইপিং বোর্ড ম্যাপ করা, এবং জিনিসগুলি একসঙ্গে সোল্ডার করা, কিন্তু জিনিসগুলি সরানোর পরে আমাদের কিছুটা প্রোগ্রামিং করতে হবে। কারণ হল যে আমরা শেষ পর্যন্ত 2-তারের সিরিয়াল ইন্টারফেস ব্যবহার করতে যাচ্ছি আমাদের প্রধান "মাস্টার" কন্ট্রোলার এবং সমস্ত "স্লেভ" কন্ট্রোলারের মধ্যে যোগাযোগের জন্য যা আমাদের সার্বিক প্রকল্পের উপাদানগুলি তৈরি করে এই টিউটোরিয়ালের সিরিজ এবং, যেমনটি আপনার মনে আছে, টিউটোরিয়াল 6 -এ আমরা আমাদের পাশা রোলগুলি ডাইস রোলার (টিউটোরিয়াল 4) থেকে রেজিস্টার অ্যানালাইজার (টিউটোরিয়াল 5) -এ যোগাযোগ করার জন্য এক ধরণের মোর্স কোড টাইপ পদ্ধতি আবিষ্কার করেছি যা 8 টি এলইডি -তে বাইনারিতে পাশা রোল ফলাফল দেখায়। । আচ্ছা, এটি যোগাযোগের একটি "আপনার নিজের রোল" পদ্ধতি ছিল যা আমি ব্যবহার করার সিদ্ধান্ত নিয়েছি কারণ, সেই সময়ে, 2-তারের সিরিয়াল যোগাযোগের জন্য এটি খুব তাড়াতাড়ি ছিল। আমরা এখন সিরিয়াল যোগাযোগের গভীর প্রান্তে ডুব দেওয়ার জন্য প্রায় প্রস্তুত, এবং আমরা টিউটোরিয়াল 10 এ এটি করব, কিন্তু আপাতত আমাদের ভবিষ্যতের বিকাশটি অনুমান করতে হবে এবং আমাদের ডাইস রোলার এলইডিগুলিকে পুনরায় সংযুক্ত করতে হবে যাতে দুটিকে মুক্ত করা যায়। সিরিয়াল যোগাযোগের জন্য আমাদের যে পিনগুলি প্রয়োজন।

এটি হল ATmega328P- এর SCL এবং SDA পিন। আপনি পিনআউট ডায়াগ্রাম দ্বারা দেখতে পারেন যে এনালগ-টু-ডিজিটাল রূপান্তরে ব্যবহার করার সময় এগুলিকে ADC5 এবং ADC4 বলা হয়, যখন তারা "পিন চেঞ্জ ইন্টারাপ্ট" পিন হিসাবে ব্যবহৃত হয় তখন তাদের PCINT13 এবং PCINT12 বলা হয়, এবং পরিশেষে আমরা সাধারণত তাদের PC5 এবং PC4 বলি যখন কেবল পোর্টসি -তে পিন হিসাবে বিবেচনা করা হয়। যেহেতু আমরা বিভিন্ন কারণে আমাদের ডাইস রোলারের অংশ হিসাবে এই দুটি পিন ব্যবহার করেছি (প্রধান কারণ হচ্ছে এটি কোডিংকে সহজতর করেছে এবং বোর্ডে এলইডিতে তারের সংযোগ সহজ করে দিয়েছে) এখন আমাদের কোড সংশোধন করতে হবে এবং এটিকে সামান্য তারের সাথে পুনরায় সংযুক্ত করতে হবে ভবিষ্যতে যোগাযোগের জন্য এই পিনগুলি মুক্ত করুন।

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

এই টিউটোরিয়ালটি সম্পূর্ণ করতে আপনার নিম্নলিখিত আইটেমগুলির প্রয়োজন হবে:

  1. আপনার সব সময় যে স্ট্যান্ডার্ড স্টাফের প্রয়োজন তা আমি সব সময় পুনরাবৃত্তি বন্ধ করতে যাচ্ছি: আপনার প্রোটোটাইপিং বোর্ড, আপনার ডেটশীটের কপি এবং নির্দেশনা সেট, এবং আপনার মস্তিষ্ক।
  2. এইরকম একটি ওয়্যারলেস সার্কিট প্রোটোটাইপিং পিসিবি বোর্ড: https://www.ebay.com/itm/191416297627 আমি এই বোর্ডের মেজার এক্সপ্লোরার 103RAWD সংস্করণ ব্যবহার করতে যাচ্ছি: https://www.ebay.com/itm/103RAT -circuit-proto-proto… যেহেতু আমার হাতে তাদের একটি গুচ্ছ আছে, কিন্তু 103RAW-0 সংস্করণ যা আমি উপরে লিঙ্ক করেছি তা ঠিক ঠিক কাজ করবে।
  3. ক্লিপার, তার, সোল্ডার, সোল্ডারিং লোহা, "হেল্পিং হ্যান্ডস" বা স্টাফ ধরে রাখার জন্য যাই হোক না কেন, ইত্যাদি ইত্যাদি। আপনি যদি সত্যিই এই টিউটোরিয়ালগুলিতে এতদূর পেয়ে থাকেন তবে সম্ভবত আপনার কাছে ইতিমধ্যে এই সমস্ত জিনিস রয়েছে।

এখানে আমার AVR অ্যাসেম্বলার টিউটোরিয়ালগুলির সম্পূর্ণ সংগ্রহের একটি লিঙ্ক:

ধাপ 1: একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন

একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন
একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন
একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন
একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন
একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন
একটি ওয়্যারিং ডায়াগ্রাম ডিজাইন করুন

পরিমাপ এক্সপ্লোরার বোর্ডগুলির সম্পর্কে দুর্দান্ত বিষয় হল যে আপনি যদি কিছু সময় নেন এবং শুরুতে জিনিসগুলি ম্যাপ করেন তবে আপনি শেষ পর্যন্ত অনেকগুলি ওয়্যারিং বাঁচাতে পারেন। তাই আমরা কিছু সোল্ডারিং শুরু করার আগে আমাদের লেআউট ডিজাইন করার জন্য কিছু সময় নিয়ে শুরু করব। এই ধরনের বোর্ডের সাথে, আপনাকে সংযোগকারী তারের একটি গুচ্ছ কাটতে হবে, যা এত সহজ নয়, কিন্তু ফলাফলটি একটি খুব সুন্দর কম্প্যাক্ট বোর্ড যার মধ্যে ন্যূনতম জটযুক্ত তারের জট রয়েছে। সার্কিট যাতে এটি বোর্ডে ফিট করে। এটি করার একটি চমৎকার উপায় হল বোর্ডের মানচিত্রটি ডাউনলোড করা এবং তারপরে বিভিন্ন নকশার সাথে খেলতে ব্যবহার করুন যতক্ষণ না আপনি একটি কাজ খুঁজে পান। এখানে ME-PB-103RAWD এর লেআউট https://www.bluemelon.com/photo/3483513-T800600-j.webp

ধাপ 2: বোর্ডে সার্কিট কেটে দিন

বোর্ডে সার্কিট কেটে দিন
বোর্ডে সার্কিট কেটে দিন
বোর্ডে সার্কিট কেটে দিন
বোর্ডে সার্কিট কেটে দিন
বোর্ডে সার্কিট কেটে দিন
বোর্ডে সার্কিট কেটে দিন

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

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

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

সার্কিটটি বোর্ডে কাটতে কিছুটা সময় এবং ধৈর্য লাগবে তবে আপনি এটিতে একবার ভাল লাগলে এটি বেশ মজাদার।

ধাপ 3: কম্পোনেন্টস এবং টেস্ট সোল্ডার

উপাদানগুলি বিক্রি করুন এবং পরীক্ষা করুন
উপাদানগুলি বিক্রি করুন এবং পরীক্ষা করুন
উপাদানগুলি বিক্রি করুন এবং পরীক্ষা করুন
উপাদানগুলি বিক্রি করুন এবং পরীক্ষা করুন
উপাদানগুলি বিক্রি করুন এবং পরীক্ষা করুন
উপাদানগুলি বিক্রি করুন এবং পরীক্ষা করুন

এখন যেহেতু আপনি আপনার সার্কিট বোর্ডের সমস্ত তারের বিচ্ছিন্ন করে ফেলেছেন আপনি স্বতন্ত্র উপাদানগুলিতে সোল্ডারিং শুরু করতে পারেন।

আমি প্রথমে একটি পাশার জন্য LEDs তে সোল্ডার করেছি, তারপর আমি আমার ব্রেডবোর্ড থেকে ইতিবাচক এবং নেতিবাচক লিড নিয়েছি এবং প্রতিটি LED এর সংযোগ পরীক্ষা করে দেখেছি যে তারা একে অপর থেকে বিচ্ছিন্ন এবং তারা কাজ করে।

একইভাবে অন্যের মৃত্যুর সাথে।

তারপর প্রতিটি ডাই প্রতিরোধক তারের, এবং বোর্ড পিছনে 10K প্রতিরোধক।

তারপর স্ফটিক দোলক, 22pf ক্যাপ, pushbuttons, এবং ATmega328P সংযুক্ত করুন। আপনি একটি চিপ সকেট সোল্ডার করতে পারেন এবং তারপরে আপনার ATmega328P এর মধ্যে ফিট করতে পারেন যাতে আপনি চাইলে এটি অপসারণ করতে পারেন এবং অন্য কিছুতে এটি পুনরায় ব্যবহার করতে পারেন। আমি শুধু বোর্ডে আমার চিপ বিক্রি করেছি যেহেতু আমি জানি যে আমরা এই সব টিউটোরিয়াল দিয়ে শেষ পর্যন্ত কি তৈরি করছি এবং আমি জানি আমি এটা যথেষ্ট পছন্দ করব যে আমি চিপটি বের করতে চাই না।

লক্ষ্য করুন, বোর্ডের পেছনের দিকে তাকিয়ে, যেভাবে আমরা হেডার সংযুক্ত করেছি। আমি লম্বা পিন হেডার ব্যবহার করেছি এবং সেগুলিকে হরোজন্টাল বাঁকিয়েছি যাতে তারা বোর্ডের বাইরে আটকে না থাকে। এটি যাতে আমি অবশেষে বোর্ডকে পুশবাটন এবং এলইডি -র স্তরে কন্টেইনার দিয়ে coverেকে রাখতে পারি এবং হেডারগুলি পথে না আসে। আমাদের Tx, Rx এর জন্য একটি হেডার আছে যাতে আমরা চিপ প্রোগ্রাম করতে পারি, আমাদের SDA, SCL এর জন্য একটি হেডার আছে যাতে আমরা পরবর্তীতে 2-ওয়্যার যোগাযোগ ব্যবহার করতে পারি। এবং বোর্ডের অপর পাশে AVCC, AREF, GND এর জন্য আমাদের একটি 3 পিন হেডার আছে। আমার সমস্ত গ্রাউন্ড পিন এবং ভিসিসি পিন একসাথে চিপে যুক্ত আছে তাই আমাদের কেবল একটি পাওয়ার ইনপুট দরকার।

অবশেষে যখন সবকিছু তারযুক্ত হয়ে যায়, আমরা ব্রেডবোর্ডে যেভাবে আমরা ডাই 1 মরে যাই তার জন্য আমরা কেবল 9 টি পিন দিয়ে উভয় পাশা নিয়ন্ত্রণ করতে পারি।

এখন আমাদের কোড পরিবর্তন করতে হবে যাতে এটি এই নতুন সেটআপ নিয়ন্ত্রণ করবে।

ধাপ 4: অ্যাসেম্বলি কোড এবং ভিডিও

আমি অ্যাসেম্বলি কোড এবং ডাইস রোলারের অপারেশন ভিডিও সংযুক্ত করেছি। আমি যা করেছি তা হল টিউটোরিয়াল 6 থেকে আমাদের ডাইস রোলারের কোড নেওয়া, নতুন লেআউটের সাথে মিলের জন্য পিনগুলি সংশোধন করা, এবং যোগাযোগের সাবরুটিন সরিয়ে ফেলুন যেহেতু আমরা লিখব টিউটোরিয়াল ১০-এ নতুন একটি। পরবর্তী সময় আমরা আবার আমাদের কীপ্যাড ভেঙে ফেলব এবং--সেগমেন্ট ডিসপ্লে নিয়ন্ত্রণ করতে শিখব। তারপর দেখা যাবে!

প্রস্তাবিত: