সুচিপত্র:

60Hz Arduino ঘড়ি: 8 ধাপ
60Hz Arduino ঘড়ি: 8 ধাপ

ভিডিও: 60Hz Arduino ঘড়ি: 8 ধাপ

ভিডিও: 60Hz Arduino ঘড়ি: 8 ধাপ
ভিডিও: ¡PRANK! ARDUINO INVERTER 120V / 60HZ AC (Source code and Simulation) 2024, ডিসেম্বর
Anonim
60Hz Arduino ঘড়ি
60Hz Arduino ঘড়ি

এই Arduino ভিত্তিক ডিজিটাল ঘড়ি 60Hz পাওয়ার লাইন দ্বারা সিঙ্ক্রোনাইজ করা হয়। এটিতে একটি সাধারণ এবং সস্তা সাধারণ অ্যানোড 4 ডিজিট 7 সেগমেন্ট ডিসপ্লে রয়েছে যা ঘন্টা এবং মিনিট দেখায়। এটি একটি ক্রস ওভার ডিটেক্টর ব্যবহার করে যখন ইনকামিং 60Hz সাইন ওয়েভ শূন্য ভোল্টেজ পয়েন্ট অতিক্রম করে এবং 60 Hz বর্গ তরঙ্গ বের করে।

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

ধাপ 1: ধাপ 1: পরিকল্পনা

ধাপ 1: স্কিম্যাটিক্স
ধাপ 1: স্কিম্যাটিক্স

সার্কিটের দুটি সংস্করণ রয়েছে যার উপর নির্ভর করে আপনি কেন্দ্রে ট্যাপ দিয়ে ট্রান্সফরমার ব্যবহার করতে চান নাকি একটি ছাড়া, উভয় ক্ষেত্রেই সার্কিট অপারেশন প্রায় অভিন্ন। এই বিল্ডের জন্য আমি একটি ওয়াল অ্যাডাপ্টার ব্যবহার করেছি (কোন সেন্টার ট্যাপ নেই) যা 12V এসি আউটপুট করে। সার্কিটের বিবরণের জন্য আমি এই ডিজাইন (ডিজিটাল ক্লক 1 সার্কিট ডায়াগ্রাম) ব্যবহার করব। মনে রাখবেন যে একটি প্রাচীর অ্যাডাপ্টার ব্যবহার করা গুরুত্বপূর্ণ যা 12V ডিসি নয় 12V ডিসি আউটপুট করে যাতে আমরা এসি সাইন ওয়েভে সময় নির্ধারণ করতে পারি। আপনি সম্ভবত একটি ট্রান্সফরমার ব্যবহার করতে পারেন যা 9V এসি আউটপুট করে, R19 অপসারণ করে এবং এটিও কাজ করতে পারে, কিন্তু 12V খুব সাধারণভাবে পাওয়া যায়। এইভাবে সার্কিট কাজ করে:

ট্রান্সফরমার TR1 দ্বারা 120V AC 60Hz এ 12V AC তে রূপান্তরিত হয়। এটি ডায়োড D4 তে খাওয়ানো হয় এবং সংশোধন করা হয় যাতে কেবল +ve ভোল্টেজকে খাওয়ানো হয়, এবং ক্যাপাসিটর C3 দ্বারা আনুমানিক ডিসিকে তরঙ্গ দিয়ে মসৃণ করা হয়। C3 এর ভোল্টেজ 7805 ভোল্টেজ রেগুলেটর (U6) কে রেজিস্টর R19 এর মাধ্যমে খাওয়ানো হয়। R19 C3 তে ভোল্টেজ কমাতে ব্যবহৃত হয় যা আমার ক্ষেত্রে প্রায় 15VDC পরিমাপ করা হয়েছিল। এটি 7805 দ্বারা নিয়ন্ত্রিত হতে পারে কিন্তু এই স্তরের ইনপুট দিয়ে 7805 কে প্রায় 10VDC ছাড়তে হবে এবং ফলস্বরূপ বেশ গরম হয়ে যায়। R19 ব্যবহার করে ভোল্টেজকে প্রায় 10VDC এ নামিয়ে আমরা U6 কে খুব বেশি গরম হতে বাধা দিই। সুতরাং এটি একটি দক্ষ শক্তি রূপান্তর কৌশল নয়, কিন্তু এটি আমাদের উদ্দেশ্যে কাজ করে। দ্রষ্টব্য: এখানে কমপক্ষে 1/2W প্রতিরোধক বা তার বেশি ব্যবহার করুন। সার্কিটটি প্রায় 55 mA আঁকে, তাই R19 তে বিদ্যুৎ অপচয় P = I ** 2*R বা P = 55ma x 55ma x 120 ohms = 0.363W এর উপর ভিত্তি করে প্রায় 1/3W। পরবর্তী U6 5V পাওয়ার লাইনের যেকোনো শব্দকে ফিল্টার করার জন্য আউটপুটে C4 এবং C5 দিয়ে বিশুদ্ধ 5V DC আউটপুট করে। এই 5V ডিসি বোর্ডের সকল IC- কে ক্ষমতা দেয়। TR1 থেকে আমরা ফিল্টার না করা এসি সিগন্যালের একটি নমুনাও গ্রহণ করি এবং এটিকে পোটেন্টিওমিটার RV1 এ খাওয়াই যা ক্রস ওভার ডিটেক্টরে খাওয়ানো স্তর সামঞ্জস্য করতে ব্যবহৃত হয়। এসি ভোল্টেজের মাত্রা আরও কমিয়ে আনতে R18 এবং R17 একটি ভোল্টেজ ডিভাইডার তৈরি করে। মনে রাখবেন এটি 12V AC তে আসছে এবং আমাদের এটি 5 V এর কম করতে হবে যাতে এটি আমাদের ক্রস ওভার ডিটেক্টরের সাথে কাজ করে যা শুধুমাত্র 5VDC দ্বারা চালিত। R15 এবং R16 বর্তমান সীমাবদ্ধতা প্রদান করে যখন D1 এবং D2 অপ-amp U5 এর ওভারড্রাইভিং প্রতিরোধ করার উদ্দেশ্যে। কনফিগারেশনে দেখানো হয়েছে যে পিন 1 এ U5 এর আউটপুট প্রতিবার ইনকামিং সাইন ওয়েভ পজিটিভ থেকে নেগেটিভে পরিবর্তিত হলে +5V এবং 0V এর মধ্যে বিকল্প হবে। এটি একটি 60 Hz বর্গ তরঙ্গ তৈরি করে যা মাইক্রোকন্ট্রোলার, U4 কে খাওয়ানো হয়। U4 এ লোড করা প্রোগ্রামটি এই 60Hz বর্গ তরঙ্গ ব্যবহার করে ঘড়িটি প্রতি মিনিট এবং ঘন্টা বাড়ানোর জন্য। এটি কীভাবে করা হয় তা সফ্টওয়্যার প্রোগ্রামের বিভাগে এবং সফ্টওয়্যার মন্তব্যগুলিতে আলোচনা করা হবে। U7 74HC595 শিফট রেজিস্টার ব্যবহার করা হয় কারণ আমাদের মাইক্রোপ্রসেসরে সীমিত সংখ্যক ডিজিটাল পিন রয়েছে, তাই এটি আউটপুট সংখ্যা বাড়ানোর জন্য ব্যবহৃত হয়। আমরা মাইক্রোপ্রসেসরে 4 টি ডিজিটাল পিন ব্যবহার করি কিন্তু 74HC595 এর মাধ্যমে ডিসপ্লেতে 7 টি সেগমেন্ট নিয়ন্ত্রণ করতে পারি। এটি মাইক্রোকন্ট্রোলারে সংরক্ষিত বিটগুলির পূর্বনির্ধারিত নিদর্শনগুলি স্থানান্তরিত করে এবং প্রতিটি অঙ্ককে শিফট রেজিস্টারে প্রদর্শিত করে। এখানে ব্যবহৃত ডিসপ্লেটি সাধারণ অ্যানোড, তাই একটি সেগমেন্ট চালু করার জন্য আমাদের 74HC595 থেকে বেরিয়ে আসা সিগন্যালের মাত্রা উল্টাতে হবে। যখন 74HC595 আউটপুট পিন থেকে বের হওয়া সিগন্যালটি একটি সেগমেন্ট চালু করা উচিত +5V, কিন্তু সেই ডিসপ্লে সেগমেন্টটি চালু করার জন্য আমাদের 0P এ ডিসপ্লেতে খাওয়ানো পিনের প্রয়োজন। সুতরাং এটি করার জন্য আমাদের হেক্স ইনভার্টার U2 এবং U3 প্রয়োজন। দুর্ভাগ্যক্রমে একটি বৈদ্যুতিন সংকেতের মেরু বদল আইসি শুধুমাত্র 6 টি বিপরীত পরিচালনা করতে পারে তাই আমাদের তাদের দুটি প্রয়োজন যদিও দ্বিতীয়টিতে আমরা শুধুমাত্র 6 টি গেটের একটি ব্যবহার করি। দুর্ভাগ্যবশত অপচয়। আপনি জিজ্ঞাসা করতে পারেন কেন এখানে একটি সাধারণ ক্যাথোড টাইপ ডিসপ্লে ব্যবহার করবেন না এবং U2 এবং U3 কে নির্মূল করবেন? ভাল উত্তর আপনি পারেন, আমি শুধু আমার অংশ সরবরাহ একটি সাধারণ anode টাইপ ঘটতে। আপনি যদি একটি সাধারণ ক্যাথোড টাইপ ডিসপ্লে ব্যবহার করতে চান বা ব্যবহার করতে চান তবে শুধু U2 এবং U3 কে বাদ দিন এবং Q1 - Q4 পুনর্নির্মাণ করুন যাতে ট্রানজিস্টার সংগ্রহকারীরা ডিসপ্লে পিনের সাথে সংযুক্ত থাকে এবং ট্রানজিস্টার এমিটারগুলি মাটির সাথে সংযুক্ত থাকে। Q1 - Q4 নিয়ন্ত্রণ করে চারটি সেগমেন্টের ডিসপ্লেগুলির মধ্যে কোনটি সক্রিয়। এটি মাইক্রোকন্ট্রোলার দ্বারা নিয়ন্ত্রিত হয়, ট্রানজিস্টর Q1 - Q4 এর বেসের সাথে সংযুক্ত পিনের মাধ্যমে। ইনক্রিমেন্ট এবং সেট বোতামগুলি ঘড়িটি ব্যবহার করার সময় ম্যানুয়ালি সঠিক ঘড়ির সময় সেট করতে ব্যবহৃত হবে। যখন সেট বোতাম টিপলে একবার ইনক্রিমেন্ট বাটনটি ডিসপ্লেতে দেখানো ঘন্টার মধ্যে যেতে পারে। যখন সেট বোতামটি আবার চাপানো হয়, তখন ডিসকপ্লের উপর দেখানো মিনিটের মাধ্যমে ইনক্রিমেন্ট বাটন ব্যবহার করা যেতে পারে। যখন সেট বোতামটি তৃতীয়বারের জন্য চাপানো হয়, সময় সেট করা হয়। R13 এবং R14 এই বোতামগুলির সাথে যুক্ত মাইক্রোকন্ট্রোলার পিনগুলি ব্যবহার না করার সময় কম টানেন। উল্লেখ্য, এখানে আমরা সাধারণ Arduino UNO প্রোটোটাইপ বোর্ড থেকে U4 (Atmega328p) সরিয়ে নিয়েছি এবং আমাদের সার্কিটের বাকি অংশের সাথে প্রোটোটাইপ বোর্ডে রেখেছি। এটি করার জন্য আমাদের মাইক্রোকন্ট্রোলার, টাই পিন 1, রিসেট পিন, হাই এবং 5VDC পাওয়ার সরবরাহের জন্য একটি ঘড়ির উৎস প্রদানের জন্য কমপক্ষে ক্রিস্টাল X1 এবং ক্যাপাসিটার C1 এবং C2 প্রদান করতে হবে।

ধাপ 2: ধাপ 2: ব্রেডবোর্ড প্রোটোটাইপ

ধাপ 2: ব্রেডবোর্ড প্রোটোটাইপ
ধাপ 2: ব্রেডবোর্ড প্রোটোটাইপ
ধাপ 2: ব্রেডবোর্ড প্রোটোটাইপ
ধাপ 2: ব্রেডবোর্ড প্রোটোটাইপ

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

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

ধাপ 3: ধাপ 3: চূড়ান্ত নির্মাণ

ধাপ 3: চূড়ান্ত নির্মাণ
ধাপ 3: চূড়ান্ত নির্মাণ
ধাপ 3: চূড়ান্ত নির্মাণ
ধাপ 3: চূড়ান্ত নির্মাণ

সার্কিটটি প্রোটোটাইপ বোর্ডের একটি টুকরা এবং #30 এডব্লিউজি তারের মোড়ানো তারের সাহায্যে ওয়্যার্ড পয়েন্ট টু পয়েন্টে নির্মিত। এটি একটি কঠিন এবং নির্ভরযোগ্য ফলাফল প্রদান করে। যেহেতু আমার ট্রান্সফরমারটি তারের শেষে একটি পুরুষ 5 মিমি প্লাগ আছে, তাই আমি কাস্টম তৈরির জন্য 1/2 প্রশস্ত ফ্ল্যাট অ্যালুমিনিয়াম স্ট্রিপের একটি টুকরো কেটে, বাঁকানো এবং ড্রিল করে বোর্ডের পিছনে সংশ্লিষ্ট মহিলা ভাঁজটি মাউন্ট করেছি। বন্ধনী এবং তারপর ছোট 4-40 বাদাম এবং বোল্ট দিয়ে এটি বোর্ডে বোল্ট করে। আপনি কেবল সংযোগকারীটি কেটে বোর্ডে অবশিষ্ট বিদ্যুতের তারগুলি বিক্রি করতে পারেন এবং নিজেকে প্রায় 20 মিনিটের কাজ বাঁচাতে পারেন, কিন্তু আমি ট্রান্সফরমারটি স্থায়ীভাবে সংযুক্ত করতে চাইনি বোর্ডের কাছে।

ধাপ 4: ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া

ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া
ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া
ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া
ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া
ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া
ধাপ 4: প্রদর্শনের জন্য একটি সকেট তৈরি করা এবং এটি পা দেওয়া

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

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

ধাপ 5: ধাপ 5: সার্কিট বোর্ডের ওয়্যারিং পরীক্ষা করা এবং ক্যালিব্রেট করার প্রস্তুতি

ধাপ 5: সার্কিট বোর্ডের ওয়্যারিং পরীক্ষা করা এবং ক্যালিব্রেট করার প্রস্তুতি
ধাপ 5: সার্কিট বোর্ডের ওয়্যারিং পরীক্ষা করা এবং ক্যালিব্রেট করার প্রস্তুতি

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

পরবর্তীতে আপনার ট্রান্সফরমারটিকে সার্কিটের সাথে সংযুক্ত করুন এবং এটি চালু করুন। কোন আইসি বা ডিসপ্লে প্লাগ ইন করার আগে চেক করুন যে আপনার 5V পাওয়ার রেলের উপর 5V ডিসি আছে যার মধ্যে একটি স্কোপ বা DVM আছে। পরবর্তী ধাপের প্রস্তুতির জন্য শুধুমাত্র Op-Amp U5 IC- এ পরবর্তী প্লাগ। এখানে আমরা পরীক্ষা করব যে আমাদের ক্রস ওভার সার্কিট একটি বর্গাকার তরঙ্গ তৈরি করছে এবং একটি পরিষ্কার 60 Hz সংকেতের জন্য potentiometer RV1 সামঞ্জস্য করছে।

ধাপ 6: ধাপ 6: সার্কিট ক্রমাঙ্কন

ধাপ 6: সার্কিট ক্রমাঙ্কন
ধাপ 6: সার্কিট ক্রমাঙ্কন
ধাপ 6: সার্কিট ক্রমাঙ্কন
ধাপ 6: সার্কিট ক্রমাঙ্কন

ক্রস ওভার ডিটেক্টরকে খাওয়ানোর সঠিক মাত্রার সিগন্যালের জন্য পোটেন্টিওমিটার RV1 সামঞ্জস্য করা একমাত্র ক্রমাঙ্কন। এই কাজটি করার দুটি পদ্ধতি আছে:

1. U5 এর পিন 1 এ একটি স্কোপ প্রোব রাখুন এবং সার্কিট গ্রাউন্ডে স্কোপ প্রোব গ্রাউন্ড ওয়্যার সংযুক্ত করতে ভুলবেন না। পরবর্তীতে উপরের ছবিতে দেখানো পর্যন্ত আপনার পরিষ্কার বর্গ তরঙ্গ না হওয়া পর্যন্ত RV1 সামঞ্জস্য করুন। যদি আপনি RV1 কে অনেক দূর থেকে একভাবে বা অন্যভাবে সামঞ্জস্য করেন তবে আপনার কোন বর্গ তরঙ্গ বা বিকৃত বর্গ তরঙ্গ থাকবে না। নিশ্চিত করুন যে বর্গ তরঙ্গের ফ্রিকোয়েন্সি 60 Hz। যদি আপনার একটি আধুনিক সুযোগ থাকে তবে এটি সম্ভবত আপনাকে ফ্রিকোয়েন্সি বলবে। আপনার যদি আমার মতো একটি প্রাচীন সুযোগ থাকে তবে নিশ্চিত করুন যে বর্গ তরঙ্গের সময়কাল প্রায় 16.66ms বা 1/60 সেকেন্ড। 2. ফ্রিকোয়েন্সি কাউন্টার বা ফ্রিকোয়েন্সি মোডে DVM ব্যবহার করে U5 এর পিন 1 এ ফ্রিকোয়েন্সি পরিমাপ করুন এবং RV1 ঠিক 60 Hz এর জন্য সামঞ্জস্য করুন। একবার এই ক্রমাঙ্কন হয়ে গেলে, সার্কিটটি বন্ধ করুন এবং সমস্ত আইসি এবং ডিসপ্লেটি প্লাগ ইন করে সার্কিট নির্মাণ সম্পন্ন করুন।

ধাপ 7: ধাপ 7: Arduino প্রোগ্রাম

প্রোগ্রামটি সম্পূর্ণরূপে মন্তব্য করা হয়েছে যাতে আপনি প্রতিটি ধাপের বিবরণ বের করতে পারেন। প্রোগ্রামের জটিলতার কারণে প্রতিটি ধাপ বর্ণনা করা কঠিন, কিন্তু খুব উচ্চ স্তরে এটি এভাবে কাজ করে:

মাইক্রোপ্রসেসর আগত 60 Hz বর্গ তরঙ্গ গ্রহণ করে এবং 60 চক্র গণনা করে এবং প্রতি 60 চক্রের পরে সেকেন্ড গণনা বৃদ্ধি করে। একবার সেকেন্ডের গণনা 60 সেকেন্ড বা 3600 চক্রের মধ্যে পৌঁছলে মিনিট গণনা বৃদ্ধি পায় এবং সেকেন্ডের গণনা শূন্যে রিসেট হয়। একবার মিনিট গণনা 60 মিনিটে পৌঁছলে ঘন্টা গণনা বৃদ্ধি পায় এবং মিনিট গণনা শূন্যে পুনরায় সেট করা হয়। ঘন্টা গণনা 13 ঘন্টার পরে 1 তে পুনরায় সেট করা হয়, তাই এটি একটি 12 ঘন্টা ঘড়ি। আপনি যদি ২ hour ঘণ্টা ঘড়ি চান তবে প্রোগ্রামটি পরিবর্তন করে ২ hours ঘণ্টার পর ঘন্টা শূন্যে রিসেট করুন। এটি একটি পরীক্ষামূলক প্রজেক্ট, তাই সেট এবং ইনক্রিমেন্ট বাটনে সুইচ বাউন্স দমন করার জন্য আমি Do-while লুপ ব্যবহার করার চেষ্টা করেছি। এটি যুক্তিসঙ্গতভাবে ভাল কাজ করে। যখন সেট বোতামটি একবার চাপানো হয়, ডিসপ্লেতে দেখানো ঘন্টার মধ্যে ইনক্রিমেন্ট বাটন ব্যবহার করা যেতে পারে। যখন সেট বোতামটি আবার চাপানো হয়, তখন ডিসকপ্লের উপর দেখানো মিনিটগুলির মধ্য দিয়ে ইনক্রিমেন্ট বাটন ব্যবহার করা যেতে পারে। যখন সেট বোতামটি তৃতীয়বারের জন্য চাপানো হয়, সময় সেট করা হয় এবং ঘড়ি চলতে শুরু করে। 7-সেগমেন্ট ডিসপ্লেতে প্রতিটি সংখ্যা প্রদর্শন করতে ব্যবহৃত 0 এবং 1 এর প্যাটার্নগুলি সেভেন_সেগ নামক অ্যারেতে সংরক্ষণ করা হয়। বর্তমান ঘড়ির সময়ের উপর নির্ভর করে, এই নিদর্শনগুলি 74HC595 IC কে খাওয়ানো হয় এবং ডিসপ্লেতে পাঠানো হয়। ডিসপ্লের dig টি ডিজিটের মধ্যে কোনটি চালু করা হলে যে কোন সময় এই ডাটাটি মাইক্রোপ্রসেসর দ্বারা ডিসপ্লে ডিগ ১, ২,,,। পিনের মাধ্যমে নিয়ন্ত্রিত হয়। যখন সার্কিটটি চালিত হয়, প্রোগ্রামটি প্রথমে Test_Clock নামে একটি পরীক্ষার রুটিন চালায় যা 0 থেকে 9 পর্যন্ত গণনার সাথে প্রতিটি ডিসপ্লেকে আলোকিত করার জন্য সঠিক সংখ্যা পাঠায়। ।

ধাপ 8: ধাপ 8: PCBWay অফার

এটি এই পোস্টের সমাপ্তি ঘটায়, কিন্তু এই প্রকল্পের পৃষ্ঠপোষক হলেন PCBWay, যারা সেই সময়ে তাদের ৫০ বছর পূর্তি উদযাপন করছে। Https://www.pcbway.com/anniversary5sales.html এ এটি পরীক্ষা করে দেখুন এবং ভুলে যাবেন না যে তাদের সমাবেশ পরিষেবা এখন $ 30 হিসাবে কম।

প্রস্তাবিত: