সুচিপত্র:

ইশ ক্লক: 5 টি ধাপ (ছবি সহ)
ইশ ক্লক: 5 টি ধাপ (ছবি সহ)
Anonim
Image
Image
যন্ত্রাংশ সংগ্রহ এবং কাঠের কাজ
যন্ত্রাংশ সংগ্রহ এবং কাঠের কাজ

আমি প্রায়শই আমার নিজের জিনিস কিনতে পাই যা আমি জানি না আমি কী করতে যাচ্ছি। এই প্রকল্পটি একটি রিং কেনার ফল যা 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চ্ছিক পদক্ষেপ হল কাঠের উপর কিছু ড্যানিশ তেল প্রয়োগ করা। আমি সত্যিই পছন্দ করি কিভাবে এটি শস্য বের করে এবং এটি দাগ এবং আর্দ্রতা থেকে কিছুটা সুরক্ষা দেয়। তাই আমি অত্যন্ত এটি সুপারিশ।

আপনি এটি ব্রাশ করতে পারেন বা আমি এটি মুছতে পুরানো কাপড় ব্যবহার করি।

এখন যা বাকি আছে তা হল এটি প্লাগ ইন করা এবং উপভোগ করা।

প্রস্তাবিত: