সুচিপত্র:
- ধাপ 1: যন্ত্রাংশ সংগ্রহ এবং কাঠের কাজ
- ধাপ 2: এক্রাইলিক বৃত্ত
- ধাপ 3: সোল্ডারিং
- ধাপ 4: কোড
- ধাপ 5: ডেনিশ তেল
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
আমি প্রায়শই আমার নিজের জিনিস কিনতে পাই যা আমি জানি না আমি কী করতে যাচ্ছি। এই প্রকল্পটি একটি রিং কেনার ফল যা 12x WS2812b LEDs চালু আছে। এর জন্য আমার কোন পরিকল্পনা ছিল না কিন্তু এটি অনলাইনে দুর্দান্ত লাগছিল তাই আমি আমার কার্টে একটি আটকে রেখেছিলাম, এটি আসার সময় কিছুক্ষণ এটির সাথে খেলেছিলাম এবং তারপর এটি সম্পর্কে সব ভুলে গিয়েছিলাম।
কিছুক্ষণ পরে আমি একটি ঘড়ি তৈরির কথা ভাবছিলাম এবং মনে পড়ল এটি সেখানে বসে কিছু করছে না। আমি মিনিট তৈরির জন্য 60 টি এলইডি সহ একটি দ্বিতীয় রিং কেনার কথা ভাবছিলাম কিন্তু তারপর ভাবতে শুরু করলাম কিভাবে আমরা / আমি সময়টি দেখতে এবং এটিকে নিকটতম 5 মিনিটের দিকে ঘুরিয়ে দেই।
আমার এই সঙ্গে আমি আমার 12 LED রিং সঙ্গে সেট আউট ish ঘড়ি। এটি 1 সেকেন্ডের জন্য 1 টি LED প্রদর্শন করে, ঘন্টা (নীল LED) এবং তারপরে মিনিট (লাল LED) গোলাকার করে
ধাপ 1: যন্ত্রাংশ সংগ্রহ এবং কাঠের কাজ
আমি খুব ভাগ্যবান যে একদিন কর্মস্থলে এসে একটি প্যালেট দেখতে পেলাম। এই প্যালেটটি আমার কাছে আটকে গেছে কারণ এটি আপনার স্ট্যান্ডার্ড, মিল প্যালেটের রান বলে মনে হচ্ছে না। এটি পরিষ্কার, তাপ চিকিত্সা এবং সবচেয়ে অস্বাভাবিক কঠিন ওক ছিল।
এই প্রকল্পটি সেই প্যালেটের একটি টুকরা থেকে তৈরি। (আমি বাসায় নেওয়ার আগে আমি বসকে জিজ্ঞাসা করেছিলাম)
এছাড়াও ব্যবহৃত:
- 12 পিক্সেল ws2812b LED রিং
- রিয়েল টাইম ক্লক (RTC) মডিউল (I2C দিয়ে DS3231 ব্যবহার করছি)
- Arduino Nano v3.0 সামঞ্জস্যপূর্ণ
- এক্রাইলিক শীট (5 মিমি)
- রঙিন তার
সরঞ্জাম
- ক্ষমতা ড্রিল
- রাউটার
- নিয়মিত সমতল কাঠের বিট
- পাওয়ার স্যান্ডার
- হাত দেখেছি
- তাতাল
- গরম আঠা বন্দুক
- বালির কাগজ
- ডেনিশ তেল
স্যান্ডিং
আমি কাঠের ব্লক সোজা এবং পরিষ্কার করার জন্য পাওয়ার স্যান্ডার ব্যবহার করে শুরু করেছি যতক্ষণ না সব দিক পরিষ্কার এবং মসৃণ। আমি কিছু অসম্পূর্ণতা দৃশ্যমান রেখেছি এবং এটি পুরোপুরি সোজা বা বর্গাকার নয় কারণ আমি কাঠের কিছু ইতিহাস দেখতে সক্ষম হতে চাই।
চিহ্নিত করা এবং গর্ত কাটা
বালি দেওয়ার পর আমি যে দিকটি বেছে নিয়েছিলাম আমি ঘড়ির মুখ চেয়েছিলাম এবং প্রতিটি কোণ থেকে লাইন অঙ্কন করে কেন্দ্র চিহ্নিত করেছি। আমি সামঞ্জস্যযোগ্য কাঠের বিটটি নেতৃত্বাধীন রিংয়ের চেয়ে একটু বড় সেট করেছিলাম যাতে এক্রাইলিকের জন্য একটি বালুচর বসতে পারে এবং প্রায় 5 মিমি গভীর কাটতে পারে এবং তারপর LED রিংয়ের আকারের উপরে কাটারটি সামঞ্জস্য করতে পারে এবং অন্য 5 মিমি বা তারও কম কেটে ফেলতে পারে ।
রাউটিং এবং তারের গর্ত
12 মিমি বিট দিয়ে আমার রাউটার ব্যবহার করে আমি আরটিসি এবং আরডুইনো লুকানোর জন্য ব্লকের নীচে একটি ছুটি বের করেছি। এটি প্রায় 15 মিমি গভীর এবং কোন প্রান্ত থেকে 5 মিমি কম নয়। আমি নীচে থেকে কেন্দ্র (ইশ) চিহ্নিত করেছি এবং LED তারের অনুমতি দেওয়ার জন্য 10 মিমি বিট ব্যবহার করে ড্রিল আপ করেছি। তারপর 5 মিমি বিট ব্যবহার করে আমি এলইডি রেসেসের কেন্দ্র থেকে ড্রিল করে নিচ থেকে 10 মিমি গর্ত পূরণ করি।
বিদ্যুৎ আসার জন্য পিছনে আরও একটি 4 মিমি ছিদ্র এবং এবং একটি ছোট রাউটার বিট ব্যবহার করে এলইডি রিংয়ের পিছনে তারের জন্য একটি চ্যানেল তৈরি করা এবং কাঠের কাজ করা হয়।
ধাপ 2: এক্রাইলিক বৃত্ত
ঘড়ির সামনের অংশের জন্য অ্যাক্রিলিক তৈরির জন্য আমি একটি বর্গক্ষেত্রের টুকরো কাটার কথা বলেছিলাম যেটা যে গর্তটি পূরণ করতে হয়েছিল তার চেয়ে বড় ছিল। তারপর শুরু করার জন্য পাওয়ার স্যান্ডার ব্যবহার করে আমি কোণগুলি সরানো শুরু করি যতক্ষণ না এটি সঠিক আকার এবং আকারের হয়। আমি তারপর হাত sanding উপর সরানো তাই আমি অঙ্কুর উপর না এবং নতুন করে শুরু করতে হবে।
এটি একটি ধীর এবং ক্লান্তিকর পরীক্ষা এবং ত্রুটির প্রক্রিয়া ছিল যতক্ষণ না এটি সঠিকভাবে ফিট করা হয়েছিল কিন্তু আমি মনে করি শেষ ফলাফলটি মূল্যবান ছিল। আমি এক্রাইলিকের সামনের অংশটিকে একটি হিমশীতল চেহারা দেওয়ার জন্য একটি খুব সূক্ষ্ম গ্রিট পেপার ব্যবহার করে শেষ করেছি।
ধাপ 3: সোল্ডারিং
আমি এই উপলক্ষে আমার তারের জন্য একটি রঙ ব্যবস্থা ব্যবহার করতে পছন্দ করি:
- পাওয়ারের জন্য লাল (5v)
- মাটির জন্য সাদা
- ডেটার জন্য হলুদ
- ঘড়ির জন্য সবুজ
আমি উপরের সিস্টেমটি ব্যবহার করে LED রিংয়ের উপর 3 টি প্রয়োজনীয় তারের সোল্ডারিং এবং গর্তের নীচে তারগুলি ধাক্কা দিয়ে শুরু করেছি। যেহেতু এটি কোন বাস্তব বাধ্যতামূলকভাবে উন্মুক্ত করা উচিত নয় আমি রিংটি ধরে রাখার জন্য একটি ছোট্ট গরম আঠালো ব্যবহার করেছি। (আমার কিছু সময় এটি পরিবর্তন করতে হতে পারে) এবং প্রান্তের চারপাশে একটু গরম আঠা দিয়ে এক্রাইলিক ইনস্টল করুন।
আমি তারপর উপরের সিস্টেমটি ব্যবহার করে RTC- এ 4 টি তারের বিক্রি করেছি। জিনিসগুলিকে একটু পরিষ্কার রাখার জন্য আমি আরডুইনো থেকে আরটিসির জন্য শক্তি আঁকতে সিদ্ধান্ত নিয়েছি। তারপর Arduino এর সাথে সবকিছু সংযুক্ত করে এবং 1 টি তারের শক্তির জন্য এবং অন্যটি Arduino এর সাথে মাটির জন্য সংযুক্ত করে।
আরটিসি
- এসসিএল (ঘড়ি) থেকে এনালগ পিন 5
- এসডিএ (ডেটা) থেকে এনালগ পিন 4
- VCC থেকে 5V
- Arduino- এর যেকোন GND- তে GND
LED রিং
দিন থেকে ডিজিটাল পিন 6
আমি একটি পুরানো ইউএসবি তারের চারপাশে ঝুলন্ত ছিল তাই ঘড়িটি পাওয়ার জন্য এটি ব্যবহার করার সিদ্ধান্ত নিয়েছে। আমি এমন কিছু অংশ কেটে দিলাম যা সাধারণত কোন কিছুর সাথে সংযুক্ত হবে এবং পিছনের ছিদ্র দিয়ে তা ঠেলে দিল। তারপর VCC কে Arduino এবং LED রিংটি ইতিবাচক দিকে এবং Arduino থেকে গ্রাউন্ড এবং LED থেকে গ্রাউন্ডে সোল্ডার করার আগে প্রান্তগুলি ছিঁড়ে এবং টাইন করে। আমি একটু তাপ পরে সঙ্কুচিত এবং এটা ভাল লাগছিল, গরম আঠালো বন্দুক ফিরে এসেছিল সবকিছু ধরে রাখতে। আমি আরডুইনোকে পর্যাপ্ত খেলার সাথে ছেড়ে দেওয়ার সিদ্ধান্ত নিয়েছি যে আমি ভবিষ্যতে এটি প্রোগ্রাম করতে ইউএসবি পোর্ট অ্যাক্সেস করতে সক্ষম হব কিন্তু এতটা না যে আমি পড়ে যেতে পারি।
ধাপ 4: কোড
আপনার এখন এই কোডটি আরডুইনোতে আপলোড করতে সক্ষম হওয়া উচিত।
যদি আরটিসি চলতে না থাকে তবে কোডটি কখন সংকলিত হয়েছিল তার উপর ভিত্তি করে সময় নির্ধারণ করবে তাই কেবল আপলোড বোতামটি টিপুন এবং যাচাই করবেন না।
পর্যায়ক্রমে এটি সময় নির্ধারণের জন্য সত্যিই ভাল কাজ করে।
www.instructables.com/id/Setting-the-DS130…
এই কোডের বেশিরভাগই আমি অ্যাডাফ্রুট নিওপিক্সেল লাইব্রেরি থেকে ধার করেছিলাম এবং কিছু কিছু আরটিসি লাইব্রেরি থেকে পেয়েছিলাম এবং কিছু আমি নিজেরাই তৈরি করেছি।
// লাইব্রেরি কোড অন্তর্ভুক্ত করুন: #অন্তর্ভুক্ত করুন
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
// পিন সংজ্ঞায়িত করুন
#পিন 6 নির্ধারণ করুন
#উজ্জ্বলতা 20 নির্ধারণ করুন // সর্বাধিক উজ্জ্বলতা সেট করুন
#5 নির্ধারণ করুন
#g 5 সংজ্ঞায়িত করুন
#সংজ্ঞায়িত করুন খ 5
RTC_DS3231 rtc; // ঘড়ি বস্তু স্থাপন
Adafruit_NeoPixel স্ট্রিপ = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // স্ট্রিপ অবজেক্ট
অকার্যকর সেটআপ () {
Wire.begin (); // I2C শুরু করুন
rtc.begin (); // শুরু ঘড়ি
Serial.begin (9600);
// সেট পিনমোড
পিনমোড (পিন, আউটপুট);
যদি (rtc.lostPower ()) {
Serial.println ("RTC শক্তি হারিয়েছে, সময় সেট করতে দেয়!");
// নিম্নলিখিত লাইনটি RTC তারিখ এবং সময় নির্ধারণ করে এই স্কেচটি সংকলিত হয়েছিল
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// এই লাইনটি একটি স্পষ্ট তারিখ এবং সময় দিয়ে RTC সেট করে, উদাহরণস্বরূপ সেট করতে
// জানুয়ারি 21, 2014 সকাল 3 টায় আপনি কল করবেন:
// rtc.adjust (তারিখ সময় (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // সব পিক্সেল 'বন্ধ' করতে শুরু করুন
DateTime theTime = rtc.now (); // DST অ্যাকাউন্টে নেয়
বাইট সেকেন্ডভাল = theTime.second (); // সেকেন্ড পান
বাইট মিনিটভাল = theTime.minute (); // মিনিট পান
int hourval = theTime.hour ();
বিন্দু (strip. Color (0, g, 0), 50);
}
অকার্যকর লুপ () {
// সময় পেতে
DateTime theTime = rtc.now (); // DST অ্যাকাউন্টে নেয়
int minuteval = theTime.minute (); // মিনিট পান
int hourval = theTime.hour (); // ঘন্টা পান
int secondval = theTime.second ();
যদি (মিনিটভাল 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
অন্যথায় যদি (মিনিটভাল <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
বিলম্ব (1000);
জন্য (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
যদি (ঘন্টাভাল == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 7) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 8) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 9) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
অন্যথায় যদি (ঘন্টাভাল == 23) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
বিলম্ব (1000);
জন্য (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// সিরিয়াল ডিবাগিং এর জন্য
Serial.print (hourval, DEC);
সিরিয়াল.প্রিন্ট (':');
সিরিয়াল.প্রিন্ট (মিনিটভাল, ডিসি);
সিরিয়াল.প্রিন্ট (':');
Serial.println (সেকেন্ডভাল, ডিসি);
}
অকার্যকর বিন্দু (uint32_t c, uint8_t অপেক্ষা) {
জন্য (int j = 0; j <3; j ++) {
জন্য (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
বিলম্ব (অপেক্ষা);
জন্য (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
ধাপ 5: ডেনিশ তেল
চূড়ান্ত এবং stepচ্ছিক পদক্ষেপ হল কাঠের উপর কিছু ড্যানিশ তেল প্রয়োগ করা। আমি সত্যিই পছন্দ করি কিভাবে এটি শস্য বের করে এবং এটি দাগ এবং আর্দ্রতা থেকে কিছুটা সুরক্ষা দেয়। তাই আমি অত্যন্ত এটি সুপারিশ।
আপনি এটি ব্রাশ করতে পারেন বা আমি এটি মুছতে পুরানো কাপড় ব্যবহার করি।
এখন যা বাকি আছে তা হল এটি প্লাগ ইন করা এবং উপভোগ করা।
প্রস্তাবিত:
4 হাত দিয়ে 'উইজলি' লোকেশন ক্লক: 11 টি ধাপ (ছবি সহ)
4 হাত দিয়ে 'উইজলি' লোকেশন ক্লক: সুতরাং, একটি রাস্পবেরি পাই দিয়ে যা কিছুক্ষণ ধরে লাথি মারছিল, আমি একটি সুন্দর প্রকল্প খুঁজে পেতে চেয়েছিলাম যা আমাকে এটির সর্বোত্তম ব্যবহার করতে দেবে। আমি এই মহান শিক্ষণীয় জুড়ে এসেছি আপনার নিজের ওয়েসলি লোকেশন ক্লক তৈরি করুন ppeters0502 দ্বারা এবং ভেবেছিলাম
স্মার্ট অ্যালার্ম ক্লক: রাস্পবেরি পাই দিয়ে তৈরি স্মার্ট অ্যালার্ম ক্লক: 10 টি ধাপ (ছবি সহ)
স্মার্ট অ্যালার্ম ক্লক: রাস্পবেরি পাই দিয়ে তৈরি স্মার্ট অ্যালার্ম ক্লক: আপনি কি কখনও স্মার্ট ঘড়ি চেয়েছিলেন? যদি তাই হয়, এটি আপনার জন্য সমাধান! আমি স্মার্ট এলার্ম ঘড়ি তৈরি করেছি, এটি এমন একটি ঘড়ি যা আপনি ওয়েবসাইট অনুযায়ী অ্যালার্মের সময় পরিবর্তন করতে পারেন। যখন অ্যালার্ম বন্ধ হয়ে যাবে, তখন একটি শব্দ হবে (বাজর) এবং 2 টি বাতি থাকবে
বোল্ট - DIY ওয়্যারলেস চার্জিং নাইট ক্লক (Ste টি ধাপ): Ste টি ধাপ (ছবি সহ)
বোল্ট - DIY ওয়্যারলেস চার্জিং নাইট ক্লক (Ste টি ধাপ): ইনডাকটিভ চার্জিং (ওয়্যারলেস চার্জিং বা কর্ডলেস চার্জিং নামেও পরিচিত) হল এক ধরনের ওয়্যারলেস পাওয়ার ট্রান্সফার। এটি পোর্টেবল ডিভাইসে বিদ্যুৎ সরবরাহ করতে ইলেক্ট্রোম্যাগনেটিক ইন্ডাকশন ব্যবহার করে। সবচেয়ে সাধারণ অ্যাপ্লিকেশন হল কিউ ওয়্যারলেস চার্জিং সেন্ট
জিক্সি ক্লক: সবচেয়ে সুন্দর গ্লো টিউব ক্লক: Ste টি ধাপ
জিক্সি ক্লক: সবচেয়ে সুন্দর গ্লো টিউব ক্লক: আমি নিক্সি টিউব খুব পছন্দ করি, কিন্তু এটা খুব ব্যয়বহুল, আমি এটা বহন করতে পারি না। তাই আমি এই জিক্সি ক্লক তৈরিতে অর্ধেক বছর কাটিয়েছি। এক্রাইলিক আলো তৈরিতে ws2812 আলোকসজ্জা ব্যবহার করে জিক্সি ক্লক অর্জন করা হয়। আরজিবি টিউব পাতলা করার জন্য আমি যথাসাধ্য চেষ্টা করি
আপনার পিসির জন্য একটি রিয়েল বেল-স্ট্রাইকিং ক্লক এবং একটি অগ্নি নির্বাপক-স্ট্রাইকিং ক্লক তৈরি করুন।: 3 ধাপ (ছবি সহ)
আপনার পিসির জন্য একটি রিয়েল বেল-স্ট্রাইকিং ক্লক এবং একটি অগ্নি নির্বাপক-স্ট্রাইকিং ক্লক তৈরি করুন।: একটি ব্রাস বেল, একটি ছোট্ট রিলে আরও কিছু জিনিস এবং একটি আসল বেল আপনার ডেস্কটপে ঘন্টা বাজাতে পারে। ওএস এক্স এছাড়াও, আমি আবর্জনায় পাওয়া একটি পিসিতে উবুন্টু লিনাক্স ইনস্টল করার চিন্তা করেছিলাম এবং এটিতে কাজ করেছি: আমি কখনই করিনি