সুচিপত্র:

ক্যালকুলেটর টিঙ্কারক্যাড প্রতিযোগিতা: 8 টি ধাপ
ক্যালকুলেটর টিঙ্কারক্যাড প্রতিযোগিতা: 8 টি ধাপ

ভিডিও: ক্যালকুলেটর টিঙ্কারক্যাড প্রতিযোগিতা: 8 টি ধাপ

ভিডিও: ক্যালকুলেটর টিঙ্কারক্যাড প্রতিযোগিতা: 8 টি ধাপ
ভিডিও: BCS Tips 42। BCS জেনারেল ক্যাডার পেতে এভারেজে কত নম্বর লাগে? 2024, নভেম্বর
Anonim
ক্যালকুলেটর টিঙ্কারক্যাড প্রতিযোগিতা
ক্যালকুলেটর টিঙ্কারক্যাড প্রতিযোগিতা

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

ধাপ 1: উপকরণ

সার্কিটের জন্য:

  • LCD 16 x 2
  • Arduino Uno R3
  • কীপ্যাড 4x4
  • ছোট ব্রেডবোর্ড
  • পোটেন্টিওমিটার (250 kΩ)
  • প্রতিরোধক (1kΩ)
  • x26 জাম্পার তার

ধাপ 2: 4x4 কীপ্যাড সংযুক্ত করা

4x4 কীপ্যাড সংযুক্ত করা হচ্ছে
4x4 কীপ্যাড সংযুক্ত করা হচ্ছে

4x4 কীপ্যাডের 4 সারি পিনগুলিকে Arduino পিনের সাথে 4-7 সংযুক্ত করুন এবং 4 টি কলাম পিনকে Arduino পিনের সাথে 0-3 সংযুক্ত করুন।

ধাপ 3: ব্রেডবোর্ডে শক্তি সরবরাহ করুন এবং এলসিডি সংযুক্ত করুন

ব্রেডবোর্ডে শক্তি সরবরাহ করুন এবং এলসিডি সংযুক্ত করুন
ব্রেডবোর্ডে শক্তি সরবরাহ করুন এবং এলসিডি সংযুক্ত করুন

আমি রুটিবোর্ডের জন্য 5 এর পাওয়ার ভোল্টেজ ব্যবহার করেছি। আমি শক্তি এবং স্থলকে রুটিবোর্ডের সাথে সংযুক্ত করেছি। এলসিডি রুটিবোর্ডে রাখা হয়, এবং স্থাপন করা হয় যাতে এর সমস্ত পিন রুটিবোর্ডের সাথে সংযুক্ত হয়।

ধাপ 4: LCD এর সাথে পাওয়ার এবং গ্রাউন্ড সংযুক্ত করুন।

LCD এর সাথে পাওয়ার এবং গ্রাউন্ড সংযুক্ত করুন।
LCD এর সাথে পাওয়ার এবং গ্রাউন্ড সংযুক্ত করুন।

এলসিডি -র সঙ্গে সংযোগের জন্য মাটির 3 পিনের প্রয়োজন হবে। একটি এলসিডি -র স্থলভাগের সাথে সংযুক্ত হবে, অন্যটি এলসিডির এলইডির সাথে সংযুক্ত হবে এবং শেষটি আরডব্লিউ -এর সাথে সংযুক্ত হবে। এলসিডি এবং নেতৃত্বের ভিসিসি সংযোগের জন্য বিদ্যুতের প্রয়োজন হবে। যাইহোক LED এর জন্য শক্তির প্রয়োজন হবে একটি প্রতিরোধক সংযুক্ত এই ক্ষেত্রে আমি 1kΩ প্রতিরোধক ব্যবহার করেছি।

ধাপ 5: Potentiometer সংযোগ

Potentiometer সংযোগ
Potentiometer সংযোগ

3 টি বিনামূল্যে কলামের সাথে পোর্টেন্টিওমিটারকে রুটিবোর্ডের সাথে সংযুক্ত করুন। এটিতে 3 টি পিন থাকবে, যে কলামে টার্মিনাল 1 পিন থাকবে তার জন্য মাটির প্রয়োজন হবে। যে কলামে টার্মিনাল 2 পিন আছে তার জন্য দেওয়া বিদ্যুতের প্রয়োজন হবে। তারপর ওয়াইপার এর কলামে একটি জাম্পার তার থাকবে যা LCD এর VO- এর সাথে সংযোগ স্থাপন করে।

ধাপ 6: আরডুইনোকে এলসিডিতে সংযুক্ত করা

আরডুইনোকে এলসিডিতে সংযুক্ত করা হচ্ছে
আরডুইনোকে এলসিডিতে সংযুক্ত করা হচ্ছে

আরডুইনোতে 8-13 পিনগুলি LCD এর সাথে সংযুক্ত হবে। আরডুইনোতে 8-11 পিন যথাক্রমে D8 (7-4) এর সাথে সংযুক্ত হবে। তারপর Arduino এর 12 টি পিন LCD এর Enable এর সাথে সংযুক্ত হবে এবং Arduino এর 13 টি পিনটি LCD এর রেজিস্টারে সংযুক্ত হবে।

ধাপ 7: কোড প্রয়োগ করুন

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

#অন্তর্ভুক্ত #অন্তর্ভুক্ত

লিকুইডক্রিস্টাল এলসিডি (13, 12, 11, 10, 9, 8);

দীর্ঘ প্রথম = 0;

দীর্ঘ সেকেন্ড = 0;

দ্বিগুণ মোট = 0;

int posit = 0;

char customKey;

const বাইট ROWS = 4;

const বাইট COLS = 4;

চার কী [ROWS] [COLS] = {

{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'সি', '0', '=', '+'}};

বাইট rowPins [ROWS] = {7, 6, 5, 4};

বাইট কলপিনস [COLS] = {3, 2, 1, 0};

Keypad customKeypad = Keypad (makeKeymap (key), rowPins, colPins, ROWS, COLS);

অকার্যকর সেটআপ(){

lcd.begin (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

অকার্যকর লুপ () {

customKey = customKeypad.getKey ();

সুইচ (customKey) {

কেস '0' … '9':

lcd.setCursor (0, 0);

প্রথম = প্রথম * 10 + (customKey - '0');

lcd.print (প্রথম);

অবস্থান ++;

বিরতি;

কেস '+':

প্রথম = (মোট! = 0? মোট: প্রথম);

lcd.setCursor (posit, 0);

lcd.print ("+");

অবস্থান ++;

সেকেন্ড = সেকেন্ড নম্বর ();

মোট = প্রথম + সেকেন্ড;

lcd.setCursor (1, 1);

lcd.print (মোট);

প্রথম = 0, দ্বিতীয় = 0;

অবস্থান = 0;

বিরতি;

কেস '-':

প্রথম = (মোট! = 0? মোট: প্রথম);

lcd.setCursor (posit, 0);

lcd.print ("-");

অবস্থান ++;

সেকেন্ড = সেকেন্ড নম্বর ();

মোট = প্রথম - দ্বিতীয়;

lcd.setCursor (1, 1);

lcd.print (মোট);

প্রথম = 0, দ্বিতীয় = 0;

অবস্থান = 0;

বিরতি;

কেস '*':

প্রথম = (মোট! = 0? মোট: প্রথম);

lcd.setCursor (posit, 0);

lcd.print ("*");

অবস্থান ++;

সেকেন্ড = সেকেন্ড নম্বর ();

মোট = প্রথম * সেকেন্ড;

lcd.setCursor (1, 1);

lcd.print (মোট);

প্রথম = 0, দ্বিতীয় = 0;

অবস্থান = 0;

বিরতি;

কেস '/':

প্রথম = (মোট! = 0? মোট: প্রথম);

lcd.setCursor (posit, 0);

lcd.print ("/");

অবস্থান ++;

সেকেন্ড = সেকেন্ড নম্বর (); lcd.setCursor (1, 1);

দ্বিতীয় == 0? lcd.print ("Error"): total = (float) first / (float) second;

lcd.print (মোট);

প্রথম = 0, দ্বিতীয় = 0;

অবস্থান = 0;

বিরতি;

কেস 'সি':

মোট = 0;

প্রথম = 0;

দ্বিতীয় = 0;

অবস্থান = 0;

lcd.clear ();

বিরতি; }

}

দীর্ঘ দ্বিতীয় সংখ্যা () {

যখন (1) {

customKey = customKeypad.getKey ();

যদি (customKey> = '0' && customKey <= '9') {

দ্বিতীয় = দ্বিতীয় * 10 + (কাস্টম কী - '0');

lcd.setCursor (posit, 0);

lcd.print (দ্বিতীয়); }

যদি (customKey == 'C') {

মোট = 0;

প্রথম = 0;

দ্বিতীয় = 0;

অবস্থান = 0;

lcd.clear ();

বিরতি; }

যদি (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

পজিট = মোট;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

বিরতি; }

}

দ্বিতীয় ফিরে;}

ধাপ 8: ফলাফল

ফলাফল
ফলাফল
ফলাফল
ফলাফল

আমি আশা করি আপনি সবাই এই নির্দেশযোগ্য উপভোগ করেছেন। পড়ার জন্য আপনাকে ধন্যবাদ!

সাইম।

প্রস্তাবিত: