সুচিপত্র:

মিনিডট 2 - হলোক্লক: 6 টি ধাপ
মিনিডট 2 - হলোক্লক: 6 টি ধাপ

ভিডিও: মিনিডট 2 - হলোক্লক: 6 টি ধাপ

ভিডিও: মিনিডট 2 - হলোক্লক: 6 টি ধাপ
ভিডিও: ঘন্টা থেকে মিনিট আর সেকেন্ড পরিবর্তন।।ঘন্টা মিনিট সেকেন্ড চেঞ্জ।।Ghanta theke minute second change।। 2024, জুলাই
Anonim
মিনিডট 2 - হলোকলক
মিনিডট 2 - হলোকলক
মিনিডট 2 - হলোকলক
মিনিডট 2 - হলোকলক

আচ্ছা হয়ত হলোকলক একটু ভুল….এটি একটু সামনে দিতে হলোগ্রাফিক ডিসপারসন ফিল্ম ব্যবহার করে। মূলত এই নির্দেশনাটি আমার আগের মিনিডট এর একটি আপডেট এখানে অবস্থিত: https://www.instructables.com/id /EEGLXQCSKIEP2876EE/এবং এখানে অবস্থিত আমার মাইক্রোডট থেকে প্রচুর কোড এবং সার্কিট্রি পুনরায় ব্যবহার করা হচ্ছে: https://www.instructables.com/id/EWM2OIT78OERWHR38Z/EagleCAD ফাইল এবং সোর্স বুস্ট কোড সংযুক্ত জিপ ফাইলগুলিতে অন্তর্ভুক্ত করা হয়েছে। কেন? আগের মিনিডটটি অতি জটিল ছিল, মাইক্রোডট থেকে আমি শিখেছি কিভাবে একটি PIC তে RTC করতে হয় শুধুমাত্র 32.768 ক্রিস্টাল ব্যবহার করে এবং বিশেষ RTC চিপ ব্যবহার করার প্রয়োজন নেই। এছাড়াও আমি আগের মিনিডট থেকে ডিসপ্লে চিপস থেকে মুক্তি পেতে চেয়েছিলাম। তাই এখন শুধু একটি পাওয়ার রেগুলেটর চিপ এবং একটি PIC16F88 আছে … শুধু দুটি চিপ। একটি আপডেটের অন্যান্য কারণ ছিল আমার মিনিডট আলাদা সুইচ বোর্ডের কারণে কিছুটা অবিশ্বস্ত হয়ে উঠছিল এবং আমি ডট প্যাটার্নের মধ্যে একটি নরম বিবর্ণ চেয়েছিলাম রাতে ডিসপ্লে ম্লান করার জন্য কিছু ধরণের পরিবেষ্টিত আলো সেন্সর। অন্য মিনিডট ছিল উজ্জ্বলতা স্থির, এবং রাতে একটি ঘর আলোকিত করে deviceগলক্যাড সফটওয়্যার প্যাকেজ এবং সোর্সবোস্ট কম্পাইলারের সাহায্যে ডিভাইসটি তৈরি করা হয়েছিল। এই প্রকল্পটি শুরু করার জন্য আপনার ইলেকট্রনিক্স এবং প্রোগ্রামিং পিআইসি কন্ট্রোলারের সাথে কিছু অভিজ্ঞতা থাকতে হবে। অনুগ্রহ করে মনে রাখবেন এটি ইলেকট্রনিক্স বা পিআইসি প্রোগ্রামিংয়ের জন্য নির্দেশযোগ্য নয়, তাই দয়া করে মিনিক্লক ডিজাইনের জন্য প্রাসঙ্গিক প্রশ্ন রাখুন। Agগলক্যাড বা প্রোগ্রামিং পিআইসি ব্যবহার করার পরামর্শের জন্য এই সাইটে উপরের নির্দেশাবলী বা অন্যান্য অনেক নির্দেশাবলী পড়ুন। তাই এখানে এটি….. মিনিডট 2, দ্য হলোকলক …… অথবা মিনিডট দ্য নেক্সট জেনারেশন …………।

ধাপ 1: সার্কিট

সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট

এই সার্কিটটি মাইক্রোডটের সাথে খুব সাদৃশ্যপূর্ণ। লক্ষ্য করুন চার্লিপ্লেক্স অ্যারে কার্যত অভিন্ন … মাত্র কয়েকটি পিন সরানো হয়েছে।

মাইক্রোডট সার্কিটে একটি 20 মেগাহার্টজ ক্রিস্টাল যুক্ত করা হয়েছে যাতে পিআইসি অনেক দ্রুত ঘড়ি, এটি অ্যারেটিকে দ্রুত স্ক্যান করতে দেয় এবং একটি ডিমিং অ্যালগরিদম বাস্তবায়ন করতে সক্ষম করে। একটি ক্রস প্যাটার্ন ফেইড এবং অ্যাম্বিয়েন্ট লাইট ফাংশন কাজ করার জন্য ডিমিং অ্যালগরিদম খুবই গুরুত্বপূর্ণ ছিল। মাইক্রোডটের সাথে এটি অসম্ভব ছিল, কারণ ধীর ঘড়ির গতির কারণে কিছু স্ক্যান চক্র ডিমিংয়ের জন্য ব্যয় করা প্রয়োজন। ডিমিং কার্যকারিতার বিবরণের জন্য পরবর্তী বিভাগটি দেখুন। উল্লেখ্য অন্যান্য বিষয় হল MCP1252 চার্জ পাম্প নিয়ন্ত্রক ব্যবহার করে 5V সরবরাহ করা, এই মুহূর্তে আমার প্রিয় চিপ। যদি আপনি সার্কিট পরিবর্তন করেন তবে আপনি একটি সাধারণ পুরানো 7805 ব্যবহার করতে পারেন …… আমি এখন সুইচগুলিকে সামনের দিকে সরিয়ে নিয়েছি, বিদ্যুৎ ছাড়ার পরে ঘড়ির পিছনে চারপাশে অস্পষ্টতা সংরক্ষণ করে সময় পুনরায় সেট করতে এবং এখন সবকিছুই কেবল একটি পিসিবি….কোনো ক্যাবলিং সমস্যা নেই। একটি এলডিআর অন্তর্ভুক্ত করাও উল্লেখযোগ্য। এটি একটি ভোল্টেজ ডিভাইডারে ব্যবহৃত হয় যা PIC এ A/D পিন দ্বারা অনুভূত হয়। যখন PIC অনুভব করে যে পরিবেষ্টিত আলোর মাত্রা কম (অর্থাৎ রাতের সময়) ডিমিং অ্যালগরিদম চার্লিপ্লেক্স অ্যারে অন্ধকার রাখে যখন আলোর মাত্রা বেশি থাকে। আমি Eaglecad লাইব্রেরিতে একটি LDR প্রতীক খুঁজে পাইনি, তাই আমি শুধু একটি LED প্রতীক ব্যবহার করেছি….. বোকা হবেন না এটি একটি LDR। নীচে পিসিবির প্রকৃত ছবি দেখুন। চার্লিপ্লেক্স অ্যারেতে বহু রঙের এলইডি ব্যবহার করার সময় একটি জিনিস লক্ষ্য করুন। আপনাকে নিশ্চিত করতে হবে যে LEDs এর ফরওয়ার্ড ভোল্টেজ কমবেশি একই রকম। যদি তা না হয়, তবে বিপথগামী বর্তমান পথগুলি ঘটতে পারে এবং একাধিক LEDs জ্বলতে পারে। এই কনফিগারেশনের জন্য 5 মিমি বা তার বেশি পাওয়ার এলইডি ব্যবহার করা কাজ করবে না কারণ সাধারণত সবুজ/নীল এলইডি এবং লাল/হলুদ এলইডিগুলির মধ্যে বেশ পার্থক্য রয়েছে। এই ক্ষেত্রে আমি 1206 SMD এলইডি এবং বিশেষ করে উচ্চ দক্ষতা সবুজ/নীল LEDs ব্যবহার করেছি। যদিও ফরওয়ার্ড ভোল্টেজগুলি এখানে কোনও সমস্যা ছিল না। আপনি যদি চার্লিপ্লেক্স অ্যারেতে সবুজ/নীল এবং লাল/হলুদ উচ্চ ক্ষমতার এলইডি মিশ্রণ ব্যবহার করতে চান তবে আপনাকে দুটি চার্লিপ্লেক্স অ্যারেতে বিভিন্ন রং আলাদা করতে হবে। চার্লিপ্লেক্সিং এর অসংখ্য ব্যাখ্যা আছে যা গুগল করা যায় …… আমি এখানে বিস্তারিত বিবরণে যাব না। আমি কিছু গবেষণা করার জন্য এটি আপনার উপর ছেড়ে দেব। (একটি বড় সংস্করণ দেখতে নীচের ছবির কোণে ছোট 'আই' আইকন টিপুন)

ধাপ 2: ডিমিং অ্যালগরিদম - চার্লিপ্লেক্সড পালস প্রস্থ মডুলেশন

ডিমিং অ্যালগরিদম - চার্লিপ্লেক্সড পালস প্রস্থ মডুলেশন
ডিমিং অ্যালগরিদম - চার্লিপ্লেক্সড পালস প্রস্থ মডুলেশন

পূর্বে উল্লিখিত হিসাবে, আমি সময়ের জন্য বিভিন্ন বিন্দু নিদর্শন একটি প্যাটার্ন থেকে অন্য ধাক্কা না বরং মসৃণভাবে বিবর্ণ হতে চেয়েছিলেন একটি বিক্ষোভের জন্য ভিডিওটি দেখুন। মাঝখানে নতুন মিনিডট ঘড়ি, ডানদিকে পুরানো মিনিডট। লক্ষ্য করুন নতুনটি কতটা সুন্দর। (FYI ব্যাকগ্রাউন্ডে অন্যান্য ডিসপ্লেগুলি হল আমার মিনিক্রাই সুপার কম্পিউটার স্ট্যাটাস ডিসপ্লে এবং আমার বন্দী নেবুলন কণা যা একটি অ্যান্টিম্যাটার চৌম্বকীয় কারাবাস ক্ষেত্রের মিনিক্রেকে ক্ষমতা দেয়। এখানে দেখুন: https://www.youtube.com/watch? V = bRupDulR4ME একটি প্রদর্শনের জন্য নেবুলন বন্দী চেম্বারের) যদি আপনি কোডটি দেখেন, তবে display.c ফাইলটি খুলুন। লক্ষ্য করুন যে কোন নির্দিষ্ট অ্যারে আলোকিত করার জন্য ট্রিস/পোর্ট মানগুলি ম্যাপ করার জন্য চারটি অ্যারে এবং LEDs.eg এর কোন বিশেষ প্যাটার্নের জন্য কোন LED গুলি আলোকিত হওয়া উচিত তা নির্ধারণ করার জন্য দুটি অ্যারে (মাইক্রোডট কোডের চেয়ে বেশি)।

/ … স্বাক্ষরবিহীন চার LEDS_TRISB [31] = {0xfd, 0xf9, 0xf9,… স্বাক্ষরবিহীন চার nLedsA [30]; স্বাক্ষরহীন চার nLedsB [30];উদাহরণস্বরূপ LED1 জ্বালানোর জন্য, আপনাকে TRIS রেজিস্টার TRISA: B = 0xef: 0xfd এবং PORT রেজিস্টার PORTA: B = 0x10: 0x00 এবং তাই সেট করতে হবে। যদি আপনি বাইনারিতে ট্রিস মানগুলি লিখেন তবে আপনি লক্ষ্য করবেন যে কোন এক সময়ে, শুধুমাত্র দুটি আউটপুট সক্ষম আছে। অন্যরা ত্রি-রাজ্যে (তাই TRIS নিবন্ধন) প্রস্তুত। এটি চার্লিপ্লেক্সিং এর কেন্দ্রীয়। আপনি এটাও লক্ষ্য করবেন যে একটি আউটপুট সর্বদা একটি লজিক্যাল '1' এবং অন্যটি সর্বদা একটি লজিক্যাল '0' হয় … যে দিকটি এই দুটি আউটপুট লাইনের মধ্যে যেটি এলইডি চালু করে। পোর্ট/ট্রিসে শেষ মান অ্যারে হল একটি নাল ভ্যালু যা মোটেই এলইডি চালু করতে পারে না। মাইক্রোডটে, আপডেট_ডিসপ্লে ফাংশনটি অন্য একটি অ্যারে (nLeds ) এর মাধ্যমে ক্রমাগত সাইকেল চালিয়ে দেখে যে সেই নির্দিষ্ট এলইডি আলোকিত হবে কিনা। যদি এটি ছিল, তাহলে সংশ্লিষ্ট ট্রিস/পোর্ট মানগুলি সেট করা হয়েছিল এবং LED নির্দিষ্ট সময়ের জন্য আলোকিত হয়েছিল। অন্যথায় শূন্য মান PICs TRIS/PORT রেজিস্টারে পাঠানো হয়েছিল এবং নির্দিষ্ট সময়ের জন্য কোন LED আলোকিত হয়নি। যথেষ্ট দ্রুত সম্পন্ন হলে এটি একটি প্যাটার্ন দিয়েছে। প্রোগ্রামটির বাকি অংশগুলি পর্যায়ক্রমে RTC মানগুলি পড়বে এবং সেই অ্যারেতে একটি সুন্দর এলোমেলো প্যাটার্ন তৈরি করবে….এবং ডিসপ্লেটি পরিবর্তিত হয়েছিল। না) তাহলে ডিসপ্লেটি যদি ম্লান হয়ে যায় তাহলে শূন্য মান পাঠাতে অতিরিক্ত সময় ব্যয় করা হবে….. সম্পূর্ণ উজ্জ্বলতার জন্য তখন অতিরিক্ত সময় ব্যয় করা হবে না। আলোকিত এলইডিগুলিতে যদি প্রচুর শূন্য সময়কাল থাকে তবে পুনরাবৃত্তি হলে, প্রদর্শনটি ম্লান হবে। কার্যত এটি মাল্টিপ্লেক্সড পালস প্রস্থ মডুলেশন….. অথবা কারণ হার্ডওয়্যারটি চার্লিপ্লেক্স অ্যারেজমেন্টে কনফিগার করা হয়, তারপর চার্লিপ্লেক্সড পালস প্রস্থ মডুলেশন। নীচের দ্বিতীয় চিত্রটি এর জন্য প্রাথমিক সেটআপ দেখায়। আমি এটাকে স্ক্যান ফ্রেম বলি। ফ্রেমের প্রথম periods০ টি পিরিয়ড এলইডি দিয়ে যেতে ব্যবহৃত হয়….. এবং অতিরিক্ত সময়ের একটি পরিবর্তনশীল সংখ্যা নির্ধারণ করে যে ডিসপ্লে কতটা ম্লান হবে। এই চক্র পুনরাবৃত্তি হয়। আরো নাল পিরিয়ড মানে একটি LED এর জন্য প্রতি ফ্রেমে থাকা কম সময় (কারণ পিরিয়ডের সংখ্যা বেড়েছে)। উল্লম্ব অক্ষ মানে ভোল্টেজ স্তর নয়। এলইডি -তে যাওয়া পিনের আসল অবস্থা চার্লিপ্লেক্স অ্যারেতে তার অবস্থানের উপর নির্ভর করে পরিবর্তিত হয়….. চিত্রের মধ্যে এটির অর্থ কেবল চালু বা বন্ধ। এর অর্থ হল সময়ের মধ্যে ফ্রেমের মোট দৈর্ঘ্যও বৃদ্ধি পেয়েছে, এইভাবে রিফ্রেশ হ্রাস পায় হার LEDs ম্লান হয়ে গেলে, তারা অন্য কথায় ঝলকানি শুরু করবে। সুতরাং এই পদ্ধতি শুধুমাত্র একটি পরিমাণে দরকারী। ঘড়ির জন্য, এটি ঠিক ছিল একটি ফাংশনকে বিরতিহীনভাবে বলা হয় যা PIC এ A/D কনভার্টার পড়ে এবং এই উজ্জ্বলতার মাত্রা নির্ধারণ করে। যদি আপনি কোডটি পড়েন, এটি এলডিআর -এর কাছাকাছি এলইডি চালু আছে কিনা তাও পরীক্ষা করে, এবং যদি কোন লেভেল সেটিং না করে, তাহলে প্যাটার্ন পরিবর্তিত হলে ডিসপ্লেটি অপ্রত্যাশিতভাবে উজ্জ্বল হওয়া বন্ধ করে দেয়।

ধাপ 3: ডিমিং অ্যালগরিদম - ক্রস ফেইড এফেক্ট এবং ডাবল বাফারিং

ডিমিং অ্যালগরিদম - ক্রস ফেইড এফেক্ট এবং ডাবল বাফারিং
ডিমিং অ্যালগরিদম - ক্রস ফেইড এফেক্ট এবং ডাবল বাফারিং

এক প্যাটার্ন এবং পরের প্যাটার্নের মধ্যে পরিবর্তনটি আগে তাৎক্ষণিক ছিল। এই ঘড়ির জন্য আমি একটি প্যাটার্ন দেখাতে চেয়েছিলাম ধীরে ধীরে উজ্জ্বলতা কমে যাচ্ছে এবং পরের প্যাটার্নটি ধীরে ধীরে বাড়ছে… অর্থাৎ একটি ক্রস ফেইড।

ক্রস ফেইড করার জন্য আলাদা আলাদা উজ্জ্বলতার মাত্রায় নিয়ন্ত্রণ করার জন্য আমার আলাদা LEDs থাকার দরকার ছিল না। শুধু একটি উজ্জ্বলতায় প্রথম প্যাটার্নের প্রয়োজন ছিল এবং দ্বিতীয়টি কম উজ্জ্বলতায়। তারপরে অল্প সময়ের জন্য আমি প্রথমটির উজ্জ্বলতা কিছুটা কমিয়ে ফেলব, এবং দ্বিতীয়টি বাড়াবো ….. দ্বিতীয় প্যাটার্নটি সম্পূর্ণ না হওয়া পর্যন্ত এটি চলতে থাকবে। তারপর পরবর্তী প্যাটার্নটি দেখানোর জন্য ঘড়িটি অপেক্ষা করবে এবং অন্য একটি পরিবর্তন হবে। এইভাবে আমার দুটি প্যাটার্ন সংরক্ষণ করা দরকার। একটি বর্তমানে প্রদর্শিত হচ্ছে এবং দ্বিতীয় প্যাটার্ন যা প্রদর্শিত হতে চলেছে। এগুলি অ্যারে nLedsA এবং nLedsB এ রয়েছে। (এই ক্ষেত্রে পোর্টগুলির সাথে কিছুই করার নেই)। এটি ডাবল বাফার। Update_display () ফাংশনটি আটটি ফ্রেমের মধ্য দিয়ে চক্রের জন্য পরিবর্তন করা হয়েছিল এবং প্রথম একটি অ্যারে, তারপর অন্যটি থেকে বেশ কয়েকটি ফ্রেম দেখানো হয়েছিল। আটটি চক্র জুড়ে প্রতিটি বাফারে বরাদ্দকৃত ফ্রেমের সংখ্যা পরিবর্তন করে প্রতিটি প্যাটার্ন কতটা উজ্জ্বল হবে তা নির্ধারণ করা হয়েছে। যখন আমরা বাফারদের মধ্যে সাইক্লিং শেষ করেছিলাম তখন আমরা 'ডিসপ্লে' এবং 'নেক্সট ডিসপ্লে' বাফারগুলিকে চারদিকে ঘুরিয়ে দিয়েছিলাম, তাই প্যাটার্ন জেনারেটিং ফাংশনটি কেবল 'পরবর্তী ডিসপ্লে' বাফারে লিখবে। নিচের চিত্রটি আশাব্যঞ্জকভাবে দেখায়। আপনি দেখতে পারবেন যে ট্রানজিশন 64 স্ক্যান ফ্রেম নেবে। ছবিতে, ছোট্ট ইনসেটটি পূর্ববর্তী পৃষ্ঠা থেকে স্ক্যান ফ্রেম ডায়াগ্রামটি শৈল্পিকভাবে ছোট করে দেখায়। রি-ফ্রেশ রেটের একটি শব্দ। এই সব খুব দ্রুত করা প্রয়োজন। আমাদের এখন দুটি মাত্রার অতিরিক্ত গণনা আছে, একটি পরিবেষ্টিত ডিসপ্লে ডিমনেসের জন্য এবং আরেকটি আটটি ফ্রেম চক্রের জন্য যা দুটি বাফারের মধ্যে একটি ট্রানজিশন করতে ব্যয় করেছে। এইভাবে এই কোডটি সমাবেশে লেখা উচিত ছিল, কিন্তু 'সি' তে যথেষ্ট ভাল।

ধাপ 4: নির্মাণ - পিসিবি

নির্মাণ - পিসিবি
নির্মাণ - পিসিবি
নির্মাণ - পিসিবি
নির্মাণ - পিসিবি

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

পিসিবির নির্মাণে একমাত্র লক্ষ্যনীয় বিষয় হল পিআইসি প্রোগ্রামিংয়ের জন্য একটি সংযোগকারীকে অন্তর্ভুক্ত করা। এটি PIC এর ICSP পিনের সাথে সংযোগ স্থাপন করে এবং আপনার একটি ICSP প্রোগ্রামারের প্রয়োজন হবে। আবার আমি আমার জাঙ্কবক্স সংযোগকারী একটি সহজ ব্যবহার। আপনি যদি এটি বাদ দিতে পারেন এবং প্যাডগুলিতে কেবল সোল্ডার তারগুলি চান। বিকল্পভাবে যদি আপনার কেবল একটি সকেটযুক্ত প্রোগ্রামার থাকে, আপনি একটি শিরোনাম তৈরি করতে পারেন যা আপনার সকেটে প্লাগ করে এবং তারপর এটি ICSP প্যাডগুলিতে বিক্রি করে। যদি আপনি এটি করেন, তাহলে Rx সংযোগ বিচ্ছিন্ন করুন এবং Ry সংযোগ করুন যা কেবল শূন্য ওহম লিঙ্ক (আমি শুধু একটি ঝাল ব্লব ব্যবহার করি)। এটি পিআইসি থেকে বাকি সার্কিট পাওয়ার বিচ্ছিন্ন করবে যাতে এটি প্রোগ্রামিংয়ে হস্তক্ষেপ না করে। একজন সকেটড প্রোগ্রামার শুধু ICSP পিন ব্যবহার করে ICSP প্রোগ্রামারের মত, আসলে কোন জাদু নেই। আরটিসি শুরু হওয়ার আগে যদি আপনি ভুল করে কোডে বিলম্ব করতে ভুলে যান তবে আপনাকে এটি করতে হবে। 16F88- এর জন্য ICSP প্রোগ্রামিং পিনগুলি RTC- এর জন্য ব্যবহৃত 32.768kHz স্ফটিকের জন্য প্রয়োজনীয় পিনগুলির সমান …… যদি ICSP এর কাজ শুরু করার আগে T1 বহিরাগত দোলক (অর্থাৎ RTC) চলমান থাকে, তাহলে প্রোগ্রামিং ব্যর্থ হবে । সাধারণত যদি MCLR পিনে রিসেট থাকে এবং দেরি হয়, তাহলে ICSP ডেটা এই পিনগুলিতে পাঠানো যেতে পারে এবং প্রোগ্রামিং সঠিকভাবে শুরু হতে পারে। তবে পিআইসিকে ক্ষমতা বিচ্ছিন্ন করে আইসিএসপি প্রোগ্রামার (বা হেডার সহ সকেটযুক্ত প্রোগ্রামার) ডিভাইসে শক্তি নিয়ন্ত্রণ করতে পারে এবং একটি প্রোগ্রামকে জোর করতে পারে। উল্লেখ্য অন্যান্য বিষয় হল যে PCB- তে স্ফটিক প্যাডগুলি মূলত SMD স্ফটিকগুলির জন্য ডিজাইন করা হয়েছিল। আমি কিছু ডেলিভারির জন্য অপেক্ষা করতে পারছিলাম না তাই 32.768kHz ঘড়ি স্ফটিকটি দেখানো হিসাবে শীর্ষে সোল্ডার করা হয়েছিল, এবং 20MHz স্ফটিক প্যাডগুলিতে কয়েকটি ছিদ্র ড্রিল করে সংযুক্ত করা হয়েছিল, নীচে স্ফটিকটি টেনে এনে সোল্ডারিংয়ের উপর শীর্ষ আপনি PIC16F88 এর ডানদিকে পিন দেখতে পারেন।

ধাপ 5: হলোগ্রাফিক ফিল্ম এবং হাউজিং

হলোগ্রাফিক ফিল্ম এবং হাউজিং
হলোগ্রাফিক ফিল্ম এবং হাউজিং
হলোগ্রাফিক ফিল্ম এবং হাউজিং
হলোগ্রাফিক ফিল্ম এবং হাউজিং
হলোগ্রাফিক ফিল্ম এবং হাউজিং
হলোগ্রাফিক ফিল্ম এবং হাউজিং

চূড়ান্ত নির্মাণটি কেবলমাত্র পিসিবি কেসে puttingুকিয়ে দিচ্ছে এবং প্রোগ্রামিংয়ের পরে এটি গরম আঠালো ডোব দিয়ে লাগিয়েছে। তিনটি ছিদ্র সামনে থেকে মাইক্রো সুইচগুলিতে প্রবেশের অনুমতি দেয়।

এই ঘড়ির উল্লেখযোগ্য অংশ হল হলোগ্রাফিক ডিফিউজার ফিল্মের ব্যবহার। এটি একটি বিশেষ চলচ্চিত্র যা আমি চারপাশে পড়ে ছিলাম যা ডিভাইসটিকে একটি সুন্দর গভীরতা প্রদান করে। আপনি প্লেইন ট্রেসিং পেপার ব্যবহার করতে পারেন (যার মধ্যে আমি PCB কে সামনের দিকে সরিয়ে নেব), অথবা ফ্লোরেসেন্ট লাইট ফিক্সারে ব্যবহৃত অন্য কোন ডিফিউজার ব্যবহার করতে পারে। অভিজ্ঞতা সম্পর্কে, এটি করার জন্য একমাত্র জিনিসটি আপনাকে আলোকিত LEDs এর সংখ্যার মধ্যে পার্থক্য করার অনুমতি দেয়, অন্যথায় সময় বলতে ডট গণনা করা কঠিন হবে। আমি ফিজিক্যাল অপটিক্স কর্পোরেশন (www.poc.com) থেকে 30 ডিগ্রী সার্কুলার ডিসপারসনের সাথে হলোগ্রাফিক ডিসপারসন উপাদান ব্যবহার করেছি, নির্দেশের অন্যত্র দেখানো সুপার কম্পিউটার স্ট্যাটাস ডিসপ্লেতে 15x60 ডিগ্রী ডিম্বাকৃতি বিচ্ছুরণ সহ একটি ফিল্ম ব্যবহার করা হয়েছে। আপনি আরো রহস্যময় চেহারা পেতে দিনের বেলায় চকচকে ভেতর লুকানোর জন্য কিছু ব্ল্যাকআউট টেপ ব্যবহার করতে পারেন। আপনি এমনকি ডিসপ্লেটি পরিষ্কার করে ছেড়ে দিতে পারেন এবং মানুষকে আমার ভেতরটা দেখতে দিতে পারেন। স্ট্যান্ডটি ছিল অ্যালুমিনিয়াম 'এল' বারের দুটি বিট যা নীচে কিছুটা কাটা ছিল যাতে বাঁক দেওয়া যায়। এই ছবিগুলিতে অতিরিক্ত আলো যোগ করা হয়েছে যাতে আপনি ডিসপ্লে কভার ইত্যাদি দেখতে পারেন সাধারণ লিভিং রুমের আলোতে, LEDs বেশি প্রাধান্য পায়, এমনকি দিনের আলোতেও।

ধাপ 6: সফ্টওয়্যার এবং ইউজার ইন্টারফেস

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

সময় নির্ধারণ করতে প্রথমে SW1 টিপুন। ডিভাইসটি সমস্ত এলইডি কয়েকবার ফ্ল্যাশ করবে এবং তারপরে 10 সেকেন্ডের এলইডি এসডব্লিউ 3 -এর গ্রুপ বৃদ্ধি পাবে নির্বাচিত গ্রুপ এসডাব্লু 2 এলইডি -র পরবর্তী গ্রুপে চলে যাবে, প্রতিবার গ্রুপের সমস্ত এলইডি সংক্ষিপ্তভাবে ফ্ল্যাশ করবে। কোডটি Sourceboost 'C' কম্পাইলার সংস্করণ 6.70 এর জন্য লেখা হয়েছে। RTC কোডটি t1rtc.c/h ফাইলে রয়েছে, এবং PIC এর T1 টাইমারে একটি বাধা ফাংশন রয়েছে। T1 টাইমার প্রতি 1 সেকেন্ডে বিঘ্নিত হয়। প্রতি সেকেন্ডে, সময়ের জন্য পরিবর্তনশীল বৃদ্ধি করা হয়। এছাড়াও প্রতি সেকেন্ডে একটি টিক টাইমার গণনা করা হয় সময়ের সাথে। ডিসপ্লেটি কখন পরিবর্তন করা হবে তা নির্ধারণ করতে এটি ব্যবহার করা হয়। ইন্টারাপ্ট ফাংশন ডিসপ্লে রিফ্রেশ করার জন্য T0 টাইমার ইন্টারাপ্ট ব্যবহার করে, display.c- এ একটি ফাংশনকে কল করে। সময় সেট করা এবং সুইচগুলি পড়ার ফাংশনগুলি হলোকলক.সি/এইচ হল প্রধান লুপ এবং আরম্ভ।

প্রস্তাবিত: