সুচিপত্র:

DemUino - হোম কম্পিউটার/কন্ট্রোলার: 7 টি ধাপ
DemUino - হোম কম্পিউটার/কন্ট্রোলার: 7 টি ধাপ

ভিডিও: DemUino - হোম কম্পিউটার/কন্ট্রোলার: 7 টি ধাপ

ভিডিও: DemUino - হোম কম্পিউটার/কন্ট্রোলার: 7 টি ধাপ
ভিডিও: DemUino 2024, জুলাই
Anonim
Image
Image
বুটলোডার জ্বালানো
বুটলোডার জ্বালানো

DemeterArt দ্বারা একটি Arduino অনুপ্রাণিত কম্পিউটার আপনার পুরানো PS2 কীবোর্ডের সর্বোচ্চ ব্যবহার করুন। সামগ্রী নিয়ন্ত্রণ করার জন্য এটি একটি কাস্টমাইজড ব্যক্তিগত কম্পিউটারে হ্যাক করুন! আমি সবসময় আমার নিজের হোম কম্পিউটার, রেট্রো-স্টাইলের ধরণের, অভিনব কিছুই তৈরি করতে চাইনি কিন্তু আমার পছন্দ অনুসারে বিশেষ ক্ষমতা সহ। সুতরাং, আমি এটি atmega328 MCU এবং Arduino ডেভেলপমেন্ট কিট দিয়ে পেয়েছি।

আমাকে বলতে দাও যে এই প্রকল্পটি সন্দেহজনক শেষ ফলাফলের সাথে যথেষ্ট বেশি সময় নিয়েছিল যদি এটি প্রতিভাধর ভক্তদের না থাকত যারা স্বার্থপরভাবে কমপক্ষে প্রত্যেকের ব্যবহারের জন্য ফ্রিওয়্যার লাইব্রেরি সরবরাহ করে। সবাইকে ধন্যবাদ:-)

পুরো গল্পটি পড়তে এবং সমস্ত প্রাসঙ্গিক ফাইল ডাউনলোড করতে আমার সাইটে যান

www.sites.google.com/site/demeterart

ধাপ 1: বৈশিষ্ট্য

  • ATMEGA328 এর উপর ভিত্তি করে 32KB ফ্ল্যাশ, 2KB SRAM এবং 1KB EEPROM।
  • ইন্টারেক্টিভ এবং ব্যাচ মোডের জন্য সমর্থন
  • লাইন সম্পাদক এবং তালিকা-সম্পাদনা মোড
  • ব্যবহারকারী গ্রাফিক্সের জন্য 8 কাস্টম অক্ষর
  • Program০ টি প্রোগ্রামের ধাপ সংখ্যা ০,…, b
  • শাখার জন্য 'যদি' শর্তাধীন, 'যখন' এবং 'লুপের জন্য' গোটো 'এবং' সাব 'বিবৃতি
  • প্রাথমিক গাণিতিক এবং গাণিতিক এক্সপ্রেশন প্লাস বুলিয়ান পরীক্ষা
  • সিস্টেম ভেরিয়েবলগুলি এনালগ পিন, ইত্যাদি থেকে সময়োপযোগী ইভেন্ট, গড়, আরএমএস, মিনিট এবং সর্বোচ্চ মানগুলির জন্য অনুমতি দেয়
  • 26 ব্যবহারকারী ভেরিয়েবল সিস্টেম ভেরিয়েবল এবং কমান্ডের সাথে যোগাযোগ করতে
  • ব্যবহারকারীর ঠিকানাযোগ্য অ্যারের 104 বাইট বা 52 সংক্ষিপ্ত পূর্ণসংখ্যা
  • প্রোগ্রাম ডেটা পড়ার/লেখার ক্ষমতা এবং কোড অন-দ্য ফ্লাই (পি ভেরিয়েবল)
  • ছদ্ম গ্রাফিক্সের জন্য কাস্টমাইজড অক্ষর সহ মিনি অসিলোস্কোপ অ্যাপ্লিকেশন
  • EEPROM থেকে/থেকে প্রোগ্রাম এবং ডেটা সংরক্ষণ এবং লোড করুন
  • পিসি থেকে প্রোগ্রাম এবং ভেরিয়েবল লোড/সেভ করুন
  • প্রতিটি রিসেটের পরে EEPROM থেকে একটি প্রোগ্রাম লোড করা এবং চালানোর জন্য স্বয়ংক্রিয়ভাবে প্রবেশ করুন
  • 9 GPIO পিন (SPI অন্তর্ভুক্ত) বহিরাগত DB15 সংযোগকারীতে উপলব্ধ
  • সাউন্ড ইফেক্টের জন্য বুজার

ধাপ 2: আপনার প্রয়োজনীয় জিনিস

পিসিবি এলসিডি ক্যারেক্টার ডিসপ্লে (জনপ্রিয় সমান্তরাল বিন্যাস) রাখার জন্য যথেষ্ট পুরানো পিএস/২ কীবোর্ড, আরএস ২২২ পোর্টের জন্য MAX232 চিপ atmel atmega328PU Arduino ডেভেলপমেন্ট কিট IDE 1.0.1 LM7805 রেগুলেটর 5V বুজার ব্রিজ রেকটিফায়ার, ক্যাপাসিটার, একটি রিসেট পুশ বোতাম, সংযোগকারী ইত্যাদি

ধাপ 3: বুটলোডার বার্ন করা

সুতরাং, একটি 'খালি' atmega328PU চিপ কেনার পরে একটি সিদ্ধান্ত নেওয়া হবে। আমি কি একটি বিশেষ প্রোগ্রামার ব্যবহার করি বাহ্যিক বা ISP অথবা আমি কি Arduino বুটলোডারকে জানোয়ারে পুড়িয়ে ফেলি এবং তার UART পোর্টের মাধ্যমে ইউনিটকে প্রোগ্রামযোগ্য করে তুলি? আমি আমার জীবনকে সহজ করার জন্য পরেরটি বেছে নিয়েছি! নতুন বুটলোডার মাত্র আধা কিলোবাইট ফ্ল্যাশ মেমোরি দখল করে আছে যা ব্যবহারকারীর প্রোগ্রাম এবং স্থিতিশীল ডেটা থেকে 31KB এর একটু বেশি রেখে যায়। Arduino সাইটটি একটি নতুন চিপে বুটলোডার পোড়ানোর ঘটনাকে আচ্ছাদিত করে, যখন প্রকৃতপক্ষে টার্গেট চিপ জ্বালানোর জন্য এভারডুড ব্যবহার করার সময় প্রক্রিয়াটি ব্যর্থ হয়েছিল একটি নির্দিষ্ট এমসিইউর জন্য ভুল আইডি নির্দেশ করে একটি ত্রুটি সহ। তাই কিছু অনুসন্ধানের পরে আমি এই লোকটিকে খুঁজে পেয়েছি যিনি এটি ঠিক পেয়েছেন এবং আমি তার পদ্ধতি অনুসরণ করেছি। পার্থক্যটি ছিল 2 কনফিগারেশন ফাইল, avrdude.conf এবং বোর্ড.টক্সট যা avrdude এবং arduino IDE 1.0.1 এর দ্বারা প্রয়োজন যাতে এটি সম্ভব হয়। 2 টি ফাইল তাদের যথাযথ স্থানে অনুলিপি করার পরে (প্রথমে পুরানোগুলিকে ব্যাকআপ করুন) টুলস-> বোর্ড থেকে 'arduino328' বিকল্পটি উপলব্ধ ছিল এবং ফিউজ এবং বুটলোডার বার্ন করার সাথে সাথে অ্যাভরডুড এগিয়ে গেল। এখন চিপটি নতুন মেশিনের মধ্যে থেকে প্রোগ্রাম করার জন্য প্রস্তুত!

ধাপ 4: ইউনিট নির্মাণ

ইউনিট নির্মাণ
ইউনিট নির্মাণ
ইউনিট নির্মাণ
ইউনিট নির্মাণ

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

আমি পরামর্শ দিচ্ছি যে কেউ MAX232 চার্জ পাম্পের জন্য ননপোলার 1uF/16V ক্যাপাসিটার ব্যবহার করে। দুটি চিপের জন্য 100nF decoupling ক্যাপাসিটরগুলি যতটা সম্ভব সংশ্লিষ্ট VCC এবং GND পিনের কাছাকাছি খুঁজুন। LM7805 রেগুলেটরে উল্লেখিত পাওয়ার এবং গ্রাউন্ডের জন্য একটি স্টার সংযোগ ব্যবহার করুন। সুইচ 2 একটি জ্যাম্পার হতে পারে তা নির্ভর করে তবে কিছু ক্ষেত্রে হোস্ট পিসি থেকে অবাঞ্ছিত এমসিইউ রিসেটগুলি এড়ানো ভাল। যে কোন হারে, টার্গেট MCU (RS232 এর পিন DTR) রিসেট করার মাধ্যমে Arduino IDE কে স্কেচ বার্ন করার অনুমতি দেওয়ার জন্য সুইচটি বন্ধ করতে হবে। আমার ক্ষেত্রে সংযোগ স্থায়ী (সবসময় বন্ধ)। ড্রাইভিং গেট থেকে ক্যাপাসিট্যান্সের বেশ কয়েকটি nFs বিচ্ছিন্ন করার জন্য বাজারের জন্য একটি সিরিজ রেসিস্টর ব্যবহার করুন … আপনি কখনই জানেন না.. XTAL এবং লোডিং 18-22pF ক্যাপাসিটারগুলি যতটা সম্ভব কন্ট্রোলারের সংশ্লিষ্ট পিনের কাছাকাছি খুঁজে নিন।

সংশোধনকারী সেতুর কারণে ইউনিটটি এসি এবং ডিসি উভয় পাওয়ার অ্যাডাপ্টার দ্বারা চালিত হতে পারে। ডিসির ক্ষেত্রে, অ্যাডাপ্টার এবং নিয়ন্ত্রকের ইনপুটের মধ্যে 1.5 V ভোল্টেজ ড্রপ রয়েছে। এসির ক্ষেত্রে নিয়ন্ত্রকের ইনপুট লোড হওয়ার কারণে অ্যাডাপ্টারের RMS আউটপুটের প্রায় 1.4 গুণ বা কম। যদি রেগুলেটরের ইনপুট এবং এর আউটপুট (+5V) এর মধ্যে পার্থক্য বড় হয়, 7 ভোল্ট বলুন, তাহলে রেগুলেটর দ্বারা ব্যবহৃত শক্তি 0.5 ওয়াটের কাছাকাছি আসে এবং চিপটি মাউন্ট করার জন্য একটি ছোট হিটসিংক ব্যবহার করা ভাল (প্রদত্ত এর জন্য জায়গা আছে) গরম আবহাওয়ায় দীর্ঘ সময় ধরে কাজ করার জন্য।

আপনার বাহ্যিক লোডের উপর নির্ভর করে AC ইনপুট ফিউজ নির্বাচন করা যেতে পারে (DB15 সংযোগকারীর মাধ্যমে)। ফিউজ পছন্দকে প্রভাবিত করে এমন অন্যান্য কারণগুলি হল LCD এর LED ব্যাকলাইটের বর্তমান সীমাবদ্ধ প্রতিরোধক, চার্জিং কারেন্টের জন্য ব্রিজ ক্যাপাসিটর এবং সরবরাহকারী ট্রান্সফরমারের বর্তমান ক্ষমতা।

ধাপ 5: পরিকল্পিত

পরিকল্পিত
পরিকল্পিত

ধাপ 6: সফটওয়্যার চলমান অনবোর্ড

এই স্কেচ যা এই সব ঘটায় … এবং 32KB যথেষ্ট নয়! আপনি এটিকে সংশোধন না করে ব্যবহার করতে পারেন, সেক্ষেত্রে আমি আমার নামের একটি রেফারেন্সের প্রশংসা করব, অথবা ইচ্ছামত এটি পরিবর্তন করব এবং আমার সম্পর্কে ভুলে যাব;-)

এটি মেশিন সম্পর্কে বিস্তারিত ডকুমেন্টেশন।

কমান্ড এবং এক্সপ্রেশন এর সারাংশ

: একটি অ মুদ্রণযোগ্য মন্তব্য লাইন

এআই: ইন্টারাপ্ট 0 সংযুক্ত করুন (পিন ডি 2)

ar: এনালগ পড়া

aw: 'এনালগ রাইট' প্রতি arduino বা আরো সঠিকভাবে pwm

ca: একটি অ্যারেতে এনালগ ক্যাপচার

cl: ডিসপ্লে পরিষ্কার করে cno: return *Prgm লাইন সংখ্যার সূচক

di: ডালের একটি সিরিজের জন্য অপেক্ষা করুন এবং সময়কাল এবং সময় পরিমাপ করুন

dl: বিলম্ব

করবেন: 'wh' এর সাথে

dr: ডিজিটাল যেকোন পিন পড়ুন

dw: ডিজিটাল যেকোন পিন লিখুন

ed: PC / renumber লাইন থেকে এডিটর মোড / লোড প্রোগ্রাম

el: EEPROM অ্যাক্সেস ফাংশন

শেষ: একটি প্রোগ্রামের শেষ বিবৃতি

ensb: সাবরুটিন শেষ

es: EEPROM অ্যাক্সেস ফাংশন

fl: সহজ চলমান গড় ফিল্টার

fr: পরবর্তী লুপের জন্য (fr-nx)

go: প্রোগ্রাম ধাপে ঝাঁপ দাও

gosb: সাবরুটিনে এক্সিকিউশন চালিয়ে যান

gt: ব্যবহারকারীর ইনপুটের জন্য অপেক্ষা করে

if: পরীক্ষার অবস্থা এবং ধাপে লাফ দিন

io: GPIO 1-9 বিট

ld: EEPROM থেকে লোড/মার্জ প্রোগ্রাম

lp:: ইন্টারঅ্যাক্টিভ মোডে কীবোর্ড নিয়ন্ত্রিত লুপ

ls: তালিকা মোড / একটি সময়ে একটি লাইন পিসিতে প্রোগ্রাম পাঠান

মিলি: সময় পান

মিমি: মুক্ত মেমরি প্রদর্শন করুন

nos: সংখ্যাটিকে স্ট্রিং এ রূপান্তরিত করে

nx: 'fr' এর সাথে

pl: প্লট অ্যারে cxx

বিকাল: ইন বা আউটপুটের জন্য পিন সেট করুন

pr: একটি বার্তা বা মান বা কাস্টম অক্ষর প্রিন্ট করে

rgc: অ্যারের জন্য রেঞ্জ কপি কমান্ড

rgs: অ্যারের জন্য রেঞ্জ সেট কমান্ড

rn: র‍্যামে প্রোগ্রামটি চালান

rs: সফট রিসেট

rx: RS232 এর মাধ্যমে একটি অক্ষর গ্রহণ করুন

si: ঘড়ি এবং ডেটা পিনের সাথে সিঙ্ক্রোনাস সিরিয়াল ইনপুট

sm: মিনি অসিলোস্কোপ অ্যাপ sno: স্ট্রিংকে সংখ্যায় রূপান্তর করে

তাই: ঘড়ি এবং ডেটা পিনের সাথে সিঙ্ক্রোনাস সিরিয়াল আউটপুট

সাব: সাবরুটিন ঘোষণা করে

sv: EEPROM এ প্রোগ্রাম সংরক্ষণ করুন

tn: বীপ টোন

tx: RS232 এর মাধ্যমে একটি সংখ্যা প্রেরণ করুন

wh: একটি do-while লুপ 'do' এর সাথে ব্যবহার করা হয়

ধাপ 7: মিনি অ্যাপের ভিডিও ক্লিপ 'এসএম' চলছে

পুরো গল্পটি পড়তে এবং সমস্ত প্রাসঙ্গিক ফাইল ডাউনলোড করতে আমার সাইটে যান

www.sites.google.com/site/demeterart

প্রস্তাবিত: