সুচিপত্র:

ক্রিস্টাল হাউস: 5 টি ধাপ
ক্রিস্টাল হাউস: 5 টি ধাপ

ভিডিও: ক্রিস্টাল হাউস: 5 টি ধাপ

ভিডিও: ক্রিস্টাল হাউস: 5 টি ধাপ
ভিডিও: বাড়িতে ভুত থাকার ৫টি লক্ষণ (+ ১টি বোনাস) | 5 Signs Your House is Haunted (+1 Bonus) 2024, নভেম্বর
Anonim
Image
Image
ক্রিস্টাল হাউস
ক্রিস্টাল হাউস

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

ধাপ 1: যন্ত্রাংশ, সরঞ্জাম, সরবরাহ

  • একত্রিত পালক Huzzah ESP8266 (দুই)
  • পারমা-প্রোটো হাফ সাইজের ব্রেডবোর্ড (দুই)
  • লিথিয়াম ব্যাটারি -3.7 1200mAh (দুই)
  • মিনি অন/অফ পুশ-বোতাম সুইচ (চার)
  • NeoPixel মিনি বোতাম (চার)
  • ব্রেডবোর্ড ওয়্যার
  • সোল্ডারিং আয়রন এবং সোল্ডার
  • তারের স্ট্রিপার
  • থার্ড হ্যান্ড টুল
  • বর্গাকার কাঠের লাঠি
  • এক্রাইলিক শীট
  • পরিষ্কার স্ফটিক পাথর
  • স্বচ্ছ কাগজ
  • ভালো আঠা

ধাপ 2: সার্কিট ডায়াগ্রাম এবং কোড

সার্কিট ডায়াগ্রাম এবং কোড
সার্কিট ডায়াগ্রাম এবং কোড

// ইন্সট্রাকটেবল ইন্টারনেট অব থিংস ক্লাস নমুনা কোড // ইনপুট এবং আউটপুট সমন্বয় // দুটি পুশবাটন এআইও ফিডে কমান্ড পাঠায় // এলইডি এবং ভাইব্রেটিং মোটর (অথবা যেকোন ডিজিটাল আউটপুট) ফ্লাথ/বাজ ফিড ডেটা অনুসারে // // বেকি দ্বারা সংশোধিত স্টারন 2017 // অ্যাডাফ্রুট আইও আরডুইনো লাইব্রেরির উদাহরণের উপর ভিত্তি করে: // https://github.com/adafruit/Adafruit_IO_Arduino // // অ্যাডাফ্রুট এই ওপেন সোর্স কোড প্রদান করে সময় এবং সম্পদ বিনিয়োগ করে। // Adafruit থেকে // পণ্য ক্রয় করে Adafruit এবং ওপেন সোর্স হার্ডওয়্যার সমর্থন করুন! // // অ্যাডাফ্রুট ইন্ডাস্ট্রিজের জন্য টড ট্রিসের লেখা // কপিরাইট (গ) 2016 অ্যাডাফ্রুট ইন্ডাস্ট্রিজ // এমআইটি লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। // // উপরের সমস্ত পাঠ্য অবশ্যই কোন পুনর্বণ্টনে অন্তর্ভুক্ত করা আবশ্যক। #অন্তর্ভুক্ত

  1. #NeoPIN1 15 নির্ধারণ করুন

    // প্যারামিটার 1 = স্ট্রিপে পিক্সেলের সংখ্যা // প্যারামিটার 2 = আরডুইনো পিন নম্বর (অধিকাংশই বৈধ) // প্যারামিটার 3 = পিক্সেল টাইপ পতাকা, প্রয়োজন অনুযায়ী একসাথে যোগ করুন: // NEO_KHZ800 800 KHz বিটস্ট্রিম (বেশিরভাগ NeoPixel পণ্য w/WS2812 LEDs) // NEO_KHZ400 400 KHz (ক্লাসিক 'v1' (v2 নয়) FLORA পিক্সেল, WS2811 ড্রাইভার) // NEO_GRB পিক্সেল GRB বিটস্ট্রিম (বেশিরভাগ NeoPixel পণ্য) // NEO_RGB পিক্সেল RGB বিটস্ট্রিম (v1 FLORA পিক্সেল, V2 নয়) // NEO_RGBW পিক্সেলগুলি RGBW বিটস্ট্রিম (NeoPixel RGBW পণ্য) Adafruit_NeoPixel স্ট্রিপ = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);

    /************************ Adafruit IO কনফিগারেশন ********************** *********

    / io.adafruit.com ভিজিট করুন যদি আপনার অ্যাকাউন্ট তৈরি করতে হয়, // অথবা আপনার Adafruit IO কী প্রয়োজন হলে। #IO_USERNAME "আপনার ব্যবহারকারীর নাম" নির্ধারণ করুন #IO_KEY "আপনার IO_KEY" নির্ধারণ করুন

    /******************************* ওয়াইফাই কনফিগারেশন **************** ************************

    #ওয়াইফাই_এসআইডি "আপনার ওয়াইফাই" নির্ধারণ করুন #ওয়াইফাই_পাস "আপনার পাসওয়ার্ড" নির্ধারণ করুন

    #অন্তর্ভুক্ত করুন "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

    /************************ মূল কোড এখানে শুরু হয় ********************* **********/

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

    // #LED_PIN 15 সংজ্ঞায়িত করুন

    // বোতাম অবস্থা int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;

    // 'ডিজিটাল' ফিড AdafruitIO_Feed *কমান্ড = io.feed ("কমান্ড") সেট আপ করুন; AdafruitIO_Feed *command2 = io.feed ("command2");

    অকার্যকর সেটআপ () {strip.setBrightness (60); strip.begin (); strip.show (); // সমস্ত পিক্সেল 'অফ' করতে শুরু করুন // অভ্যন্তরীণ পুল-আপ প্রতিরোধক পিনমোড (BUTTON1_PIN, INPUT_PULLUP) সহ ইনপুট হিসাবে সেট বোতাম পিনগুলি; পিনমোড (BUTTON2_PIN, INPUT_PULLUP); // একটি ডিজিটাল আউটপুট হিসাবে সেট পিন এবং মোটর পিন // পিনমোড (মোটর_পিন, আউটপুট); // পিনমোড (LED_PIN, আউটপুট);

    // সিরিয়াল সংযোগ শুরু করুন Serial.begin (115200);

    // io.adafruit.com Serial.print এর সাথে সংযোগ করুন ("Adafruit IO এর সাথে সংযোগ স্থাপন"); io.connect (); // 'কমান্ড' ফিডের জন্য একটি বার্তা হ্যান্ডলার সেট আপ করুন। // হ্যান্ডেল মেসেজ ফাংশন (নীচে সংজ্ঞায়িত) // যখনই একটি বার্তা // adafruit io থেকে প্রাপ্ত হবে তাকে বলা হবে। command-> onMessage (handleButton1); command2-> onMessage (handleButton2);

    // একটি সংযোগের জন্য অপেক্ষা করুন যখন (io.status () <AIO_CONNECTED) {Serial.print ("।"); বিলম্ব (500); }

    // আমরা Serial.println () সংযুক্ত; Serial.println (io.statusText ());

    // নিশ্চিত করুন যে সমস্ত ফিডগুলি তাদের বর্তমান মানগুলি অবিলম্বে পায় কমান্ড-> get (); command2-> get (); }

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

    // io.run (); সব স্কেচের জন্য প্রয়োজন। // এটি সর্বদা আপনার লুপ // ফাংশনের শীর্ষে উপস্থিত থাকা উচিত। এটি ক্লায়েন্টকে // io.adafruit.com এর সাথে সংযুক্ত রাখে এবং যেকোনো ইনকামিং ডেটা প্রসেস করে। io.run ();

    // বোতামের বর্তমান অবস্থা ধরুন। // আমাদের যুক্তি ফ্লিপ করতে হবে কারণ আমরা // INPUT_PULLUP ব্যবহার করছি। যদি (digitalRead (BUTTON1_PIN) == LOW) {button1current = 1; } if (digitalRead (BUTTON2_PIN) == LOW) {button2current = 1; } if (digitalRead (BUTTON2_PIN) == HIGH && digitalRead (BUTTON1_PIN) == HIGH) {button1current = 0; button2current = 0; }

    // রিটার্ন যদি মান পরিবর্তন না হয় (button1current == button1last && button2current == button2last) রিটার্ন;

    // adafruit io Serial.print- এ "ডিজিটাল" ফিডে বর্তমান অবস্থা সংরক্ষণ করুন ("বাটন 1 স্ট্যাটাস পাঠানো ->"); Serial.println (button1current); কমান্ড-> সংরক্ষণ করুন (button1current);

    // adafruit io Serial.print- এ "ডিজিটাল" ফিডে বর্তমান অবস্থা সংরক্ষণ করুন ("বাটন 2 অবস্থা পাঠানো ->"); Serial.println (button2current); command2-> save (button2current);

    // সঞ্চালন শেষ বোতাম অবস্থা button1last = button1current; button2last = button2current; }

    // এই ফাংশনটিকে বলা হয় যখনই অ্যাডাফ্রুট আইও থেকে 'কমান্ড' বার্তা // পাওয়া যায়। এটি উপরের সেটআপ () ফাংশনে // কমান্ড ফিডের সাথে সংযুক্ত ছিল। void handleButton1 (AdafruitIO_Data *data) {

    int কমান্ড = data-> toInt ();

    যদি (কমান্ড == 1) {// লাইট আপ প্রথম পিক্সেল সিরিয়াল.প্রিন্ট ("কমান্ড থেকে প্রাপ্ত (বোতাম 1) <-"); Serial.println (কমান্ড); // analogWrite (MOTOR_PIN, 200); // বিলম্ব (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // হলুদ স্ট্রিপ শো (); } অন্য {সিরিয়াল.প্রিন্ট ("কমান্ড থেকে প্রাপ্ত (বোতাম 1) <-"); Serial.println (কমান্ড); strip.setPixelColor (0, strip. Color (0, 0, 0)); // বন্ধ strip.show (); }} // এই ফাংশনটিকে বলা হয় যখনই অ্যাডাফ্রুট আইও থেকে 'কমান্ড' বার্তা // পাওয়া যায়। এটি উপরের সেটআপ () ফাংশনে // কমান্ড ফিডের সাথে সংযুক্ত ছিল। void handleButton2 (AdafruitIO_Data *data) {

    int command2 = data-> toInt ();

    if (command2 == 1) {// light up first pixel Serial.print ("command2 (button 2) <-") থেকে প্রাপ্ত; Serial.println (command2); // analogWrite (MOTOR_PIN, 200); // বিলম্ব (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // হলুদ স্ট্রিপ শো (); } অন্য {Serial.print ("command2 (button 2) <-") থেকে প্রাপ্ত; Serial.println (command2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // বন্ধ strip.show (); }}

ধাপ 3: প্রোটোটাইপ থেকে সোল্ডার পর্যন্ত সার্কিট নির্মাণ

প্রোটোটাইপ থেকে সোল্ডার পর্যন্ত সার্কিট নির্মাণ
প্রোটোটাইপ থেকে সোল্ডার পর্যন্ত সার্কিট নির্মাণ
প্রোটোটাইপ থেকে সোল্ডার পর্যন্ত সার্কিট নির্মাণ
প্রোটোটাইপ থেকে সোল্ডার পর্যন্ত সার্কিট নির্মাণ

সার্কিট পরীক্ষা করার জন্য আমি আপনাকে ব্রেডবোর্ডে চেষ্টা করতে উত্সাহিত করব। যেহেতু আমরা দুটি ডিভাইস তৈরি করছি, আমরা দুটি ব্রেডবোর্ডে পরীক্ষা করতে পারি। আমি নিওপিক্সেল এবং on.off বোতামটি একটি প্রোটোটাইপিং তারে বিক্রি করেছি কারণ এটি ব্যবহার করা সহজ। পরে, আপনি সহজেই প্রোটোটাইপিং তারগুলি বন্ধ করতে পারেন।

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

একবার আপনি আপনার সার্কিট শেষ করে কোডটি আপনার ESP8266 এ আপলোড করলে, দুটি ডিভাইসের কাজ করা উচিত যেমনটি আমরা শুরুতে উল্লেখ করেছি।

ধাপ 4: ফর্ম এবং উপাদান

ফর্ম এবং উপাদান
ফর্ম এবং উপাদান
ফর্ম এবং উপাদান
ফর্ম এবং উপাদান
ফর্ম এবং উপাদান
ফর্ম এবং উপাদান
ফর্ম এবং উপাদান
ফর্ম এবং উপাদান

এখন আমাদের ক্রিস্টাল হাউস তৈরি করা যাক!

কাঠের কাঠি 6 ইঞ্চিতে কেটে নিন। আমাদের মোট 18 টুকরা দরকার। যেহেতু আমি এই দুটি স্ফটিক ঘর থেকে কিছু পরিবর্তন চাই, তাই আমি একটিতে 7 টুকরা এবং অন্যটিতে 9 টুকরা ব্যবহার করেছি। একটি বাক্স কাঠামোর মধ্যে টুকরা আঠালো। আমি দুটি এক্রাইলিক শীট 6 বাই 6 ইঞ্চি কেটেছি এবং সেগুলি ক্রিস্টাল হাউসের নীচে আঠালো করেছি।

একবার আপনি ঘরগুলির কাঠামো শেষ করুন। আসুন ঘর সাজাই! আমি স্বচ্ছ রঙিন কাগজের একটি টুকরো কেটে সেগুলিকে এক্রাইলিক শীটে আঠালো করে দিলাম। এর পরে, আমি কিছু পরিষ্কার প্লাস্টিকের স্ফটিক ব্যবহার করেছি এবং সেগুলি বেসে আঠালো করেছি। যেহেতু আমার কাছে স্ফটিকগুলির নীচে একটি স্বচ্ছ রঙিন কাগজ রয়েছে, তাই স্ফটিকগুলি বিভিন্ন রঙে প্রতিফলিত হয়।

ধাপ 5: এখন আসুন স্ফটিক ঘরগুলি ব্যবহার করি

এখন আসুন স্ফটিক ঘরগুলি ব্যবহার করি
এখন আসুন স্ফটিক ঘরগুলি ব্যবহার করি
এখন আসুন স্ফটিক ঘরগুলি ব্যবহার করি
এখন আসুন স্ফটিক ঘরগুলি ব্যবহার করি

আপনার প্রিয়জনকে আপনার তৈরি করা স্ফটিক ঘরটি দিন। তাদের বলুন যে তারা গুরুত্বপূর্ণ! আপনি সবসময় বিভিন্ন উপকরণ এবং রং ব্যবহার করে বাইরের কাঠামো পরিবর্তন করতে পারেন। এটা কেমন চলছে আমাকে জানাও!

প্রস্তাবিত: