সুচিপত্র:

দৈত্য LED - ট্র্যাকিং অ্যাডাম স্যাভেজ: 13 টি ধাপ (ছবি সহ)
দৈত্য LED - ট্র্যাকিং অ্যাডাম স্যাভেজ: 13 টি ধাপ (ছবি সহ)

ভিডিও: দৈত্য LED - ট্র্যাকিং অ্যাডাম স্যাভেজ: 13 টি ধাপ (ছবি সহ)

ভিডিও: দৈত্য LED - ট্র্যাকিং অ্যাডাম স্যাভেজ: 13 টি ধাপ (ছবি সহ)
ভিডিও: CS50 Live, Episode 003 2024, জুলাই
Anonim
জায়ান্ট এলইডি - ট্র্যাকিং অ্যাডাম স্যাভেজ
জায়ান্ট এলইডি - ট্র্যাকিং অ্যাডাম স্যাভেজ
জায়ান্ট এলইডি - ট্র্যাকিং অ্যাডাম স্যাভেজ
জায়ান্ট এলইডি - ট্র্যাকিং অ্যাডাম স্যাভেজ
জায়ান্ট এলইডি - ট্র্যাকিং অ্যাডাম স্যাভেজ
জায়ান্ট এলইডি - ট্র্যাকিং অ্যাডাম স্যাভেজ

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

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

অ্যাডাফ্রুটের অ্যাডাফ্রুট আইও নামে একটি পরিষেবা আছে যা আমি চেষ্টা করতে চেয়েছিলাম এবং ওয়েমোস ডি 1 মিনি রিলিজের কিছু ভাল কথা শোনার পর আমি ইএসপি 8266-কে পুনরায় মোকাবেলা করার জন্য সারা বছর চেষ্টা করেছিলাম। Astro73 দ্বারা বস্তুর উপর LED এর জন্য ডিজাইন। আমি এটি দিয়ে শুরু করেছিলাম এবং এটি স্কেলের জন্য কিছুটা পুনর্নির্মাণ করেছি এবং বেসে একটি পুশ বোতাম এবং অন্যান্য কিছু প্রসাধনী পরিবর্তনও যুক্ত করেছি। আপনি এখানে রিমিক্স খুঁজে পেতে পারেন

প্লাস এটি আলেক্সার মাধ্যমে এখন ভয়েস নিয়ন্ত্রিত হতে পারে IFTTT আলেক্সা ট্রিগার শব্দের আবির্ভাবের সাথে।

ধাপ 1: উপকরণ

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

1. Wemos D1 মিনি R3

2. Neopixel 8 LED

3. কালো পিইটিজিতে মুদ্রিত বেস এবং পা

4. স্বচ্ছ PLA তে মুদ্রিত লেন্স এবং হালকা ধারক

5. পুশ বোতাম সুইচ 12 মিমি বর্গ x1

6. রাউন্ড পুশ বাটন ক্যাপ x1

7. পাওয়ারের জন্য ইউএসবি লিড এবং অ্যাডাপ্টার

8. M3x20 বাটন হেড

9. এম 3 বাদাম

10. M2x8mm বোল্ট x2

11. এম 2 বাদাম x2

12. কিছু কালো, লাল এবং হলুদ তার

13. 300-500 ওহম প্রতিরোধক

14. হিটশ্রিঙ্কের ছোট টুকরা

আপনি অন্যান্য ESP ডিভাইস, এমনকি একটি Huzzah ব্যবহার করতে পারেন, কিন্তু কেস মিনি জন্য ডিজাইন করা হয়েছে যা মাউন্ট করা গর্ত আছে এবং এটি আঠালো করা এড়ানো এড়ানো

ধাপ 2: সরঞ্জাম

এটি তৈরি এবং তৈরি করতে আপনার নিম্নলিখিতগুলির প্রয়োজন হবে

1. 3D প্রিন্টার

2. 1.5 মিমি এবং 2 মিমি অ্যালেন কী

3. সোল্ডারিং আয়রন এবং সোল্ডার

4. ওয়্যারকাটার

5. প্লেয়ার

6. হাস্যরসের অনুভূতি

7. ছাঁটাই জন্য স্কাল্পেল

ধাপ 3: কোডের প্রয়োজনীয়তা

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

প্রয়োজনীয়তা।

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

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

1. Adafruit IO, এটি সতর্কতার জন্য ফিড সেট আপ করতে ব্যবহৃত হয়, আপনি এখানে একটি অ্যাকাউন্ট পেতে পারেন

আমি এটি একটি বার্তা সারিবদ্ধ পরিষেবা হিসাবে ব্যবহার করতে যাচ্ছি যেখানে আমি এটি IFTTT থেকে বার্তা পাঠাব এবং তারপর জায়ান্ট LED সেই বার্তাগুলি গ্রহণ করে যাতে এটি তাদের উপর কাজ করতে পারে।

2. IFTTT, https://ifttt.com/ এবং এটি নির্বাচিত টুইটার, ইউটিউব এবং টুইচ চ্যানেলগুলি স্ক্যান করার জন্য ব্যবহার করা হয় এবং তারপরে ইভেন্টটি Adafruit IO- এ পাঠায়

3. এই ফিডগুলি পড়ার জন্য ESP8266 কোড এবং এটি স্ট্যান্ডার্ড Arduino IDE (v1.8.8) ব্যবহার করে ESP8266 তে পুড়ে যায়

4. Arduino কোড, ESP8266 এ লোড করে Adafruit IO ফিড পড়তে এবং নিওপিক্সেলকে আলোকিত করতে

5. সতর্কতা পরিষ্কার করার জন্য একটি পুশ বাটন পড়তে Arduino কোড

6. ইএসপি পুনরায় চালু না করেই ওয়াইফাই অ্যাডাপ্টার কনফিগার করতে সক্ষম হোন, এবং এর জন্য আমি Tzapu, https://github.com/tzapu/WiFiManager দ্বারা ওয়াইফাই ম্যানেজার লাইব্রেরি ব্যবহার করেছি যদিও সেটআপ অপশনগুলির জন্য একটু পরিবর্তন প্রয়োজন Adafruit IO লাইব্রেরি।

ধাপ 4: Adafruit IO সেট আপ করা

Adafruit IO সেট আপ করা হচ্ছে
Adafruit IO সেট আপ করা হচ্ছে

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

এডাফ্রুট উদাহরণ কপি করার পরিবর্তে আপনি এখানে মূল বিষয়গুলি খুঁজে পেতে পারেন https://learn.adafruit.com/gmailbox/adafruit-io-se… যা আপনাকে সেটআপ দেবে।

তারপর GIANT LED এর জন্য আপনাকে নিম্নলিখিত ফিডগুলিকে ডিফল্ট চ্যানেলে যুক্ত করতে হবে

1. রঙ - এটি আমাদের আলেক্সার মত কিছু দিয়ে দূর থেকে রঙ পরিবর্তন করতে দেয়

2. খিঁচুনি

3. টুইটারফ্যান

4. ইউটিউবফ্যান

তারপরে আপনাকে একটি নতুন গ্রুপ তৈরি করতে হবে যদি আপনি ইতিমধ্যেই ইনপুট না বলে থাকেন তবে এই গ্রুপে ডিজিটাল নামে একটি ফিডও তৈরি করুন। এটি যদি আমরা অন্যান্য উদ্দেশ্যে এই ডিভাইসের ব্যবহার প্রসারিত করতে চাই তাহলে আমরা বোতাম টিপার প্রভাবও দেখতে দেব।

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

ধাপ 5: IFTTT সেট আপ করা

IFTTT সেট আপ করা হচ্ছে
IFTTT সেট আপ করা হচ্ছে
IFTTT সেট আপ করা হচ্ছে
IFTTT সেট আপ করা হচ্ছে

আপনি এখানে Adafruit গাইড অনুসরণ করতে পারেন, https://learn.adafruit.com/gmailbox/ifttt-setup। তারপরে আপনি আপনার ঘড়ির তালিকা সেটআপ করতে টুইটার, ইউটিউব এবং টুইচ অ্যাকশনগুলি নির্বাচন করতে পারেন এবং তারপরে এগুলি প্রাসঙ্গিক ফিডগুলিতে পাঠাতে পারেন। আমি একটি সহজ ভিডিও সংযুক্ত করেছি যাতে আপনি দেখতে পারেন যে এটি কত দ্রুত হতে পারে।

এছাড়াও যদি আপনি ভয়েস কন্ট্রোল করতে চান আপনার LED এর রঙ অ্যালেক্সা দ্বারা এখন একটি অ্যামাজন অ্যালেক্সা অ্যাপলেট আছে। এর মধ্যে একটি সেট করতে অ্যাপটি সিলেক্ট করুন এবং নীল শব্দটি বেছে নিন, তারপর এটিকে অ্যাডাফ্রুট ফিডের সাথে সংযুক্ত করুন যা আপনি কালার নামে সেট আপ করেছেন এবং সেই চ্যানেলে পাঠানোর জন্য ডাটা হিসেবে 0000ff লিখুন। আপনি চাইলে অতিরিক্ত LED কমান্ডও দিতে পারেন GIANT LED যেমন রিসেট বা রিবুট যদি আপনি চান।

যখন আপনি আইএফটিটিটি ট্রিগার সেট আপ করছেন তখন আপনাকে পাঠানো ডেটা নির্বাচন করতে হবে এবং আইএফটিটিটিতে এটিকে "উপাদান" বলা হয়। আমাদের প্রয়োজন প্রথম টুকরা হল "UserName" তারপর একটি স্পেস এবং তারপর "CreatedAt"

আমরা উভয় আইটেম বাছাই করি যাতে যখন ESP8266 এ ডেটা আসে তখন আমরা সনাক্ত করতে পারি যে এটি একটি নতুন টুইট কিনা এবং এটি একই ব্যবহারকারীদের আগের টুইট থেকে আলাদা। সংযুক্ত ছবি থেকে এটি দেখতে পছন্দ করা উচিত।

ধাপ 6: Arduino IDE এ ESP8266 বোর্ড ইনস্টল করা

এখানেই জিনিসগুলি একটু জটিল এবং সমাধানের জন্য একটু বেশি সময় লাগতে পারে। ESP8266 ছাড়াও আপনার Adafruit IO লাইব্রেরির প্রয়োজন এবং আপনি তাদের জন্য এই নির্দেশিকা অনুসরণ করতে পারেন।

learn.adafruit.com/gmailbox/arduino-setup

এখানে কিভাবে ESP8266 বোর্ড যোগ করা যায় তার একটি সহজ ব্যাখ্যা আছে

আপনার Arduino IDE সর্বশেষ সংস্করণ পর্যন্ত আছে তা নিশ্চিত করতে ভুলবেন না এবং আমি এটি লেখার সময় 1.8.8 ব্যবহার করছিলাম।

আরেকটি লাইব্রেরি যা আমরা ব্যবহার করি তা হল সিম্পলটাইমার কারণ এটি আমাদের একটি ব্যাকগ্রাউন্ড টাইমার সেট করার অনুমতি দেবে যাতে আমরা পর্যায়ক্রমে ফিডগুলি পরীক্ষা করতে পারি, এর জন্য নির্দেশাবলী সিম্পলটাইমার https://playground.arduino.cc/Code/SimpleTimer# এ পাওয়া যাবে ডাউনলোড করুন

ধাপ 7: ওয়াইফাই ম্যানেজার লাইব্রেরি ইনস্টল করা

ওয়াইফাই সেটআপের দূরবর্তী কনফিগারেশন পেতে আমাদের সক্ষম করার জন্য আমরা Tzapu Wifi Manger ব্যবহার করতে যাচ্ছি, এই বিষয়ে বিস্তারিত এবং কিভাবে লাইব্রেরি ইনস্টল করা যায় তা এখানে পাওয়া যাবে, github.com/tzapu/WiFiManager

এটি বহিরাগত লাইব্রেরিগুলির একটি খুব সহজ ইনস্টল এবং বিকল্পটি আপনার Arduino IDE সরঞ্জাম বিভাগের লাইব্রেরি পরিচালনা বিভাগে রয়েছে।

ধাপ 8: ESP8266 কোড - ডিবাগ প্রিন্টিং সহ

// এই কোডটিতে প্রিন্ট স্টেটমেন্ট রয়েছে যাতে আপনি সিরিয়াল মনিটরের মাধ্যমে এর কার্যক্রম পর্যবেক্ষণ করতে পারেন

// Adafruit IO RGB LED আউটপুট উদাহরণের উপর ভিত্তি করে // Adafruit এই ওপেন সোর্স কোড প্রদান করে সময় এবং সম্পদ বিনিয়োগ করে। // Adafruit থেকে // পণ্য ক্রয় করে Adafruit এবং ওপেন সোর্স হার্ডওয়্যার সমর্থন করুন! // // অ্যাডাফ্রুট ইন্ডাস্ট্রিজের জন্য টড ট্রিস দ্বারা লিখিত // কপিরাইট (গ) 2016-2017 অ্যাডাফ্রুট ইন্ডাস্ট্রিজ // এমআইটি লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। // // উপরের সমস্ত পাঠ্য অবশ্যই কোন পুনর্বণ্টনে অন্তর্ভুক্ত করা আবশ্যক। // সিম্পলটাইমার ব্যবহার করে https://playground.arduino.cc/Code/SimpleTimer#Do… // https://playground.arduino.cc/Code/SimpleTimer#Do… // কোড অব অ্যাজাক্স জোন্স https:// খেলার মাঠ.arduino.cc/Code/SimpleTimer#Do // https://playground.arduino.cc/Code/SimpleTimer#Do… // ******* কনফিগারেশন *************************************/ #IO_USERNAME নির্ধারণ করুন "আপনার IO ব্যবহারকারীর নাম " #IO_KEY" আপনার IO কী নির্ধারণ করুন "// ফাঁকা রাখুন যেহেতু আমরা তাদের ওয়াইফাই ম্যানেজারের মাধ্যমে পাব, এইভাবে কাজ করছে বলে মনে হচ্ছে #WIFI_SSID" " এর সংস্করণটি অন্তর্ভুক্ত করুন // SimpleTimer টাইমার অন্তর্ভুক্ত; #অন্তর্ভুক্ত করুন "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS); // ************************ NeoPixel কনফিগার ********************** ******* #PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel পিক্সেল = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE) নির্ধারণ করুন; // প্রধান রং এবং ডিফল্ট রঙ দীর্ঘ default_color = 865554; দীর্ঘ RED_color = 2689027; // লাল #290803 দীর্ঘ GREEN_color = 865554; // সবুজ #0d3512 দীর্ঘ BLUE_color = 856117; // নীল #0d1035 দীর্ঘ PURPLE_color = 2364968; // বেগুনি #241628 দীর্ঘ BRIGHTRED_color = 15990784; // উজ্জ্বল লাল #f40000 // ------------------------------------------ ------------------------------------------------------- // সময় ধারণা https://www.safaribooksonline.com/library/view/arduino-cookbook-2nd/9781449321185/ch12.html https://playground.arduino.cc/Code/SimpleTimer#Do… https:// খেলার মাঠ থেকে নেওয়া। arduino.cc/Code/SimpleTimer#Do… const long oneSecond = 1000; // একটি সেকেন্ড হল এক হাজার মিলিসেকেন্ড const দীর্ঘ এক মিনিট = এক সেকেন্ড * 60; const দীর্ঘ পাঁচ মিনিট = এক মিনিট * 5; const দীর্ঘ পনের মিনিট = পাঁচ মিনিট * 3; দীর্ঘ এক ঘন্টা = পনের মিনিট * 4; // টুইটার ব্যবহারকারীদের আমরা সবচেয়ে বেশি পছন্দ করি এবং এগুলি ফ্ল্যাশ করবে এবং আমরা যে সমস্ত টুইটগুলি বেছে নিয়েছি তা কেবল রং পরিবর্তন করবে SuperTweet = {"ajaxjones", "donttrythis", "prodnose", "testingcom"}; স্ট্রিং সুপারটিবার = {"পরীক্ষিত", "কাউন", "মার্টি"}; // সতর্কতা স্থিতি সেট করে যাতে আমরা প্রধান লুপ বুলটিতে LEDS ঝলকানি রাখতে পারি WHIZZY_TWEET = মিথ্যা; বুল WHIZZY_TUBER = মিথ্যা; বুল WHIZZY_TWITCH = মিথ্যা; // শেষ টুইট এবং ইউটিউব সংরক্ষণ করে যাতে আমরা পরিষেবাটি প্রতিবার ডাবল চেক করতে এবং তারপর স্ট্রিং lasttweet = ""; স্ট্রিং lasttube = ""; স্ট্রিং lasttwitch = ""; // ডিজিটাল পিন 5, এই বোতামটি আমরা সতর্কতা রংগুলি পুনরায় সেট করতে ব্যবহার করি #BUTTON_PIN 4 // বোতাম অবস্থা নির্ধারণ করুন, যা আমরা ইন্টারপুট বুল কারেন্ট = মিথ্যাতে বোতাম খুঁজছি তা সত্যিই ব্যবহৃত হয় না; bool last = মিথ্যা; // 'রঙ' ফিড সেট আপ করুন, যাতে আমরা চাহিদা অনুযায়ী রং পরীক্ষা এবং পাঠাতে পারি অথবা Alexa trigger AdafruitIO_Feed *color = io.feed ("color") ব্যবহার করতে পারি; // 'টুইটারফ্যান' ফিড সেট করুন - ব্লু অ্যাডাফ্রুটআইও_ফিড *টুইটার = io.feed ("টুইটারফ্যান"); // 'youtubefan' ফিড সেট আপ করুন - Red AdafruitIO_Feed *youtube = io.feed ("youtubefan"); // 'টুইচ' ফিড সেট করুন - বেগুনি অ্যাডাফ্রুটআইও_ফিড *টুইচ = io.feed ("টুইচ"); // 'ডিজিটাল' ফিড AdafruitIO_Feed *digital = io.feed ("input.digital") সেট আপ করুন; // ------------------------------------------------ ----------------------------------------- অকার্যকর সেটআপ () {// সেট করুন ইনপুট হিসাবে বোতাম পিন, আমরা INPUT_PULLUP ব্যবহার করি কারণ আমাদের বাহ্যিক প্রতিরোধক পিনমোড (BUTTON_PIN, INPUT_PULLUP) ব্যবহার করতে হবে না; // বাটন AttaInterrupt (digitalPinToInterrupt (BUTTON_PIN), handleInterrupt, FALLING) এর জন্য ISR ভেক্টরের সাথে একটি বাধা সংযুক্ত করুন; // সিরিয়াল শুরু করুন এবং সিরিয়াল মনিটর খোলার জন্য অপেক্ষা করুন তারপর io.adafruit.com Serial.begin (115200) এ সংযোগ করুন; যখন (! সিরিয়াল); // নিওপিক্সেল শুরু পিক্সেল। শুরু (); // অভ্যন্তরীণ অবস্থা একটি লাল সেট করুন যাতে আমরা জানি যে আমরা অফলাইন এবং কাজ করছি setAll (0xf4, 0x00, 0x00); // লাল // পরীক্ষার জন্য, এটি WiFi WiFi.printDiag (সিরিয়াল) এর অবস্থা দেখাবে; ওয়াইফাই ম্যানেজার ওয়াইফাই ম্যানেজার; // সেট কলব্যাক যা পূর্ববর্তী ওয়াইফাই সংযোগের সময় কল করা হয় ব্যর্থ হয়, এবং অ্যাক্সেস পয়েন্ট মোডে প্রবেশ করে wifiManager.setAPCallback (configModeCallback); // সংরক্ষিত সেটিংস পুনরায় সেট করুন, ওয়াইফাই ম্যানেজারের পরীক্ষা জোর করার জন্য এই পরবর্তী লাইনটি মন্তব্য করুন যাতে আপনি সংযোগ করতে পারেন // আপনার ফোন বা ট্যাবলেট ব্যবহার করে জায়ান্ট এলইডি নেটওয়ার্ক দেখতে পাবেন যা //wifiManager.resetSettings (); // কনফিগারেশন পোর্টাল বন্ধ না হওয়া পর্যন্ত সময়সীমা সেট করে // এটি পুনরায় চেষ্টা করতে বা ঘুমাতে যেতে দরকারী // সেকেন্ডে wifiManager.setTimeout (240); যদি (! wifiManager.autoConnect ("GIANT LED")) {Serial.println (F ("সংযোগে ব্যর্থ এবং সময়সীমা হিট")); // পুনরায় সেট করুন এবং আবার বিলম্বের চেষ্টা করুন (3000); ESP.reset (); বিলম্ব (1000); } // পরীক্ষার জন্য আমরা দেখতে পারি যে আমাদের //Serial.println (WiFi. SSID ()) সংযোগ করার সঠিক শংসাপত্র আছে কিনা; // Serial.println (WiFi.psk ()); // while (WiFi.status ()! = WL_CONNECTED) {// বিলম্ব (500); // সিরিয়াল.প্রিন্ট ("।"); //} Serial.println (); Serial.println (F ("ওয়াইফাই সংযুক্ত")); Serial.println (F ("IP address:")); Serial.println (WiFi.localIP ()); // এখন আমরা IO পরিষেবা Serial.print (F ("Connecting to Adafruit IO") এর সাথে সংযোগ করি); io.connect (); // 'রঙ' ফিডের জন্য একটি বার্তা হ্যান্ডলার সেট আপ করুন। রঙ-> অন মেসেজ (হ্যান্ডেল মেসেজ); // 'টুইটারফ্যান' ফিডের জন্য একটি বার্তা হ্যান্ডলার সেট আপ করুন। twitter-> onMessage (twitterMessage); // 'ইউটিউবফ্যান' ফিডের জন্য একটি বার্তা হ্যান্ডলার সেট আপ করুন। youtube-> onMessage (youtubeMessage); // 'টুইচ' ফিডের জন্য একটি বার্তা হ্যান্ডলার সেট আপ করুন। twitch-> onMessage (twitchMessage); // একটি সংযোগের জন্য অপেক্ষা করুন যখন (io.status () <AIO_CONNECTED) {Serial.print (F ("।")); বিলম্ব (500); } // আমরা Serial.println () এর সাথে সংযুক্ত; Serial.println (io.statusText ()); // সিরিয়াল.প্রিন্টলন (সাইজ অফ //Serial.println(sizeof(SuperTweet // আমরা যে টুইটার অ্যাকাউন্টগুলির জন্য অপেক্ষা করছি তার একটি তালিকা মুদ্রণ করুন (বাইট idx = 0; idx <sizeof (SuperTweet) / sizeof (SuperTweet [0]); idx ++) {Serial.print (F ("SuperTweet [")); সিরিয়াল.প্রিন্ট (আইডিএক্স); সিরিয়াল.প্রিন্ট ("] = '"); Serial.print (SuperTweet [idx]); Serial.println ("'"); } // যে ইউটিউব অ্যাকাউন্টগুলির জন্য আমরা অপেক্ষা করছি তার একটি তালিকা মুদ্রণ করুন (বাইট idx = 0; idx get (); // ফিডের বিদ্যমান রাজ্যগুলির অনুরোধ করুন, তাই ইউটিউব শুরু হওয়ার সাথে সাথে আপনাকে রিসেট টিপতে হবে -> get (); twitter-> get (); twitch-> get (); for (int i = 0; i get (); twitter-> get (); twitch-> get (); Serial.print ("কিছু টুইট পাওয়া"); Serial.print ("আপটাইম (গুলি):"); Serial.println (মিলিস () / 1000); -------------------------------------------------- ----------------------- অকার্যকর লুপ () {// io.run (); সব স্কেচের জন্য প্রয়োজন। io.run (); টাইমার। run (); if (WHIZZY_TWEET == true) {RunningLights (0x0d, 0x10, 0x35, 250);} if (WHIZZY_TUBER == true) {RunningLights (0x29, 0x08, 0x03, 250);} if (WHIZZY_TWITCH = true) {RunningLights (0x24, 0x16, 0x28, 250);}} // --------------------------------- -------------------------------------------------- ------ // বোতাম টিপলে সতর্কতা পরিষ্কার করতে ইন্টারপুট সেট করুন এবং ইন্টারনেট অকার্যকর হ্যান্ডেল চেক করুন মিথ্যা; WHIZZY_TUBER = মিথ্যা; WHIZZY_TWITCH = মিথ্যা; বর্তমান = সত্য; // adafruit io তে 'input.digital' ফিডে বর্তমান অবস্থা পাঠান যাতে আমরা এটি ডিজিটাল-> সেভ (কারেন্ট) দেখতে পারি; (int i = 0; i ")); Serial.print (current); Serial.print (F (" এবং default color ")); যখন; (WiFi.status ()! = WL_CONNECTED) {বিলম্ব (500); -------------------------------------------------- ------------------------------ {স্ট্রিং টুইটার = (ডেটা-> টু স্ট্রিং ()); tweeter.toLowerCase (); // টুইট নীল রঙের Serial.print (F ("Tweet:")) সেট করুন; Serial.print (tweeter); // (byte idx = 0; idx = 0) এর জন্য একটি প্রিয় টুইটার চেক করুন {// তাদের তৈরি করা যাক টুইট whizzy #0d1035 WHIZZY_TWEET = true; Serial.print ("by"); Serial.print (SuperTweet [idx]);}} Serial.println ("");}} // --------- -------------------------------------------------- ---------------------------- - // যখনই একটি 'ইউটিউব' বার্তা আসে তখন এটি বলা হয়- LED কে RED void youtubeMessage (AdafruitIO_Data *data) {String tuber = (data-> toString ()) সেট করুন; tuber.toLowerCase (); যদি ((lasttube! = tuber) && (tuber! = "")) {lasttube = tuber; setAll (0x29, 0x08,0x03); // সেট ইউটিউব লাল রঙ 290803 সিরিয়াল.প্রিন্ট (F ("Youtube:")); Serial.println (কন্দ); // (বাইট আইডিএক্স = 0; আইডিএক্স = 0) জন্য একটি প্রিয় ইউটিউবারের জন্য চেক করুন সিরিয়াল.প্রিন্ট ("দ্বারা"); Serial.print (SuperTuber [idx]); }} Serial.println (""); }} // ---------------------------------------------- ------------------------------------------- // এটিকে বলা হয় যখনই a 'টুইচ' মেসেজ আসে - LED কে PURPLE void twitchMessage (AdafruitIO_Data *data) {String twitch = (data-> toString ()); twitch.toLowerCase (); যদি ((lasttwitch! = twitch) && (twitch! = "")) {lasttwitch = twitch; setAll (0x24, 0x16, 0x28); // সেট টুইচ বেগুনি রঙ #241628 Serial.print (F ("Twitch:")); Serial.println (twitch); // একটি প্রিয় টুইটারের জন্য কোন চেক নেই আমরা শুধুমাত্র একটি WHIZZY_TUBER = true অনুসরণ করি; Serial.println (""); }} // ---------------------------------------------- ------------------------------------------- // এই ফাংশনটি যখনই বলা হয় একটি 'কালার' মেসেজ পাওয়া যায় // যা স্টার্টআপে ডিফল্ট কালার সেট করবে শেষ কালার ফিড ভ্যালু ভয়েড হ্যান্ডেল মেসেজ (AdafruitIO_Data *ডেটা) {// প্রিন্ট RGB মান এবং হেক্স ভ্যালু Serial.print (F ("HEX মান পেয়েছে): ")); Serial.println (data-> মান ()); দীর্ঘ রঙ = ডেটা-> toNeoPixel (); // default_color = রঙ; Serial.print (F ("HEX long:") পেয়েছে); Serial.println (রঙ); জন্য (int i = 0; i <PIXEL_COUNT; ++ i) {pixels.setPixelColor (i, color); } showStrip (); } // ----------------------------------------------- ------------------------------------------ অকার্যকর RunningLights (বাইট লাল, বাইট সবুজ, বাইট নীল, int WaveDelay) {int Position = 0; জন্য (int j = 0; j <NUM_LEDS; j ++) {অবস্থান ++; // = 0; // অবস্থান + হার; জন্য (int i = 0; i <NUM_LEDS; i ++) {setPixel (i, ((sin (i + Position) * 127 + 128) / 255) * লাল, ((sin (i + Position) * 127 + 128) / 255)*সবুজ, ((পাপ (i + অবস্থান)*127 + 128) / 255)*নীল); } showStrip (); বিলম্ব (WaveDelay); }} // ---------------------------------------------- ------------------------------------------- // নিওপিক্সেল রুটিন অকার্যকর বাইট লাল, বাইট সবুজ, বাইট নীল) {জন্য (int i = 0; i getConfigPortalSSID ()); // প্রবেশ করা কনফিগ মোড, নিও পিক্সেলকে বেগুনি #241628 = 2364968 // সেটএল (0x24, 0x16, 0x28) সেট করুন; setAll (0xeb, 0xfb, 0x03); // হলুদ ebfb03}

ধাপ 9: এটি সব একসঙ্গে বিক্রি

সোল্ডারিং ইট অল টুগেদার
সোল্ডারিং ইট অল টুগেদার
সোল্ডারিং ইট অল টুগেদার
সোল্ডারিং ইট অল টুগেদার
সোল্ডারিং ইট অল টুগেদার
সোল্ডারিং ইট অল টুগেদার

এই নকশা সবকিছু একসঙ্গে বিক্রি হয় এবং পরিচালনা করা বেশ সহজ হওয়া উচিত। আমি জিনিসগুলিকে সহজ করার জন্য 3 টি ভিন্ন রঙের তার ব্যবহার করেছি এবং প্রথম জিনিসটি হল WEOS- এ নিওপিক্সেলের জন্য তারের পরিমাপ করা। আমি তাদের plaited এবং তাপ-সঙ্কুচিত একটি ছোট টুকরা রাখা এবং তারপর দেখানো হিসাবে তাদের soldered যাতে এটি লেন্স সমতল রাখা হবে।

বোতামটি পরবর্তী ছিল এবং এটি বেসে স্ন্যাগ হবে। বোতামের একপাশে Gnd যায় এবং এটি নিওপিক্সেলের গ্রাউন্ড তারের সাথে একত্রিত হয়। আমি তখন তাদের টিন করেছিলাম এবং সেগুলিকে WEMOS এর গ্রাউন্ড পিনে বিক্রি করেছি।

নিওপিক্সেলের পাওয়ার লিড 5v PIn এ যায়। নিওপিক্সেলের সিগন্যাল তার, বা ডি (ডেটা ইন) ওয়েমোস পিনকে ডি 1 হিসাবে বিক্রি করা হয়। কিছু সাইট আছে যা এই সিরিজের মধ্যে 300-500 ওহম প্রতিরোধক suggestোকানোর পরামর্শ দেয়, কিন্তু এখনও পর্যন্ত আমার কোন সমস্যা হয়নি তাই এখন এটি একটি সরাসরি সংযোগ।

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

বোতামটির জন্য অন্য তারটি সরাসরি D2 পিন করতে যায়। একটি পুলআপ রোধের কোন প্রয়োজন নেই কারণ সফ্টওয়্যারের মধ্যে এই পিনের বিপরীতে একটি PULLUP কমান্ড রেখে এটি পরিচালনা করা হয়।

মূলত এটিই আছে।

ধাপ 10: 3D মুদ্রণ

এখানে সংযুক্ত STL ফাইলগুলি আমরা দৈত্য LED এর জন্য ব্যবহার করছি। ফাইলগুলি astro73 এর একটি রিমিক্স/পুনর্নির্মাণ এবং আপনি https://www.thingiverse.com/thing:3290837 থেকে সমস্ত ফাইল দখল করতে পারেন।

পা এবং বেসের জন্য আমি একটি সানলু PETG+ ফিলামেন্ট ব্যবহার করেছি যা Prusa i3 তে সত্যিই ভাল কাজ করে এবং আমি 10 বা 20% গাইরয়েড ইনফিল ব্যবহার করেছি।

LED এর জন্যই আমি Sunlu ট্রান্সপারেন্ট PLA ব্যবহার করে আসছি এবং প্রায় 10% ইনফিল কনসেন্ট্রিক টপ এবং বটম লেয়ার ব্যবহার করছি।

প্রত্যেকের সাথে আমি শুধুমাত্র Slic3r- এ স্টক Prusa PET এবং Prusa PLA সেটিংস ব্যবহার করি এবং সেগুলো সব ঠিকঠাক কাজ করেছে। আমি পায়ে কিছুটা স্ট্রিং পেতে পারি, কিন্তু আমি কেবল তাদের উপর একটি ব্লোটারচ ফেলেছি এবং স্ট্রিংটি অদৃশ্য হয়ে গেছে:)

ধাপ 11: দৈত্য LED সমাবেশ

দৈত্য LED সমাবেশ
দৈত্য LED সমাবেশ
দৈত্য LED সমাবেশ
দৈত্য LED সমাবেশ
দৈত্য LED সমাবেশ
দৈত্য LED সমাবেশ

সব টুকরা সত্যিই একসাথে যায়, স্ক্রুকে জিনিসটি একসাথে ধরে রাখার জন্য আপনাকে বেসে একটি M3 বাদাম টিপতে হবে। আপনাকে প্রথমে পায়ের মাধ্যমেও WEMOS- তে NeoPixel- এর ওয়্যার করতে হবে। আমি কিছু কানেক্টর কিভাবে রাখব সে বিষয়ে চিন্তা করছিলাম, কিন্তু সিদ্ধান্ত নিলাম যে এটি ভবিষ্যতে আলাদা হবে না।

লেন্সগুলি পায়ে কেবল একটি ধাক্কা ফিট এবং তারা একক M3x20mm বোল্ট দিয়ে বেসে বোল্ট করা হয়। আপনি বোতাম গর্তের ভিতরে একটি ছুরি চালানোর প্রয়োজন হতে পারে যাতে এটি সুন্দর এবং অবাধে চলে। Wemos 2 M2x8 সকেট বোল্টের সাথে নিচ থেকে স্ক্রু করা আছে।

শেষ করার জন্য, আপনি যদি প্রয়োজন হয় তবে কোনও স্লিপেজ বন্ধ করতে বেসে অনুভূত একটি টুকরা আঠালো করতে পারেন।

ধাপ 12: সেটআপ এবং অপারেটিং নির্দেশাবলী

Image
Image
সেটআপ এবং অপারেটিং নির্দেশাবলী
সেটআপ এবং অপারেটিং নির্দেশাবলী
সেটআপ এবং অপারেটিং নির্দেশাবলী
সেটআপ এবং অপারেটিং নির্দেশাবলী

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

আপনি এই সময়ে Adafruit IO ড্যাশবোর্ডে যেতে পারেন এবং প্রতিটি ফিডে কিছু ডেটা যোগ করতে পারেন এবং লাইটগুলি সতর্কতা মোডে যেতে পারেন।

আনন্দ কর !

ধাপ 13: অন্যথায় জায়ান্ট LED কি করতে পারে

অন্যথায় জায়ান্ট LED কি করতে পারে
অন্যথায় জায়ান্ট LED কি করতে পারে
অন্যথায় জায়ান্ট LED কি করতে পারে
অন্যথায় জায়ান্ট LED কি করতে পারে

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

এছাড়াও বোতামের সাহায্যে আপনি এটি অন্যান্য GIANT LED এর সংকেত দিতে ব্যবহার করতে পারেন, আপনি বিভিন্ন বাড়িতে একটি থাকতে পারেন এবং অন্য দলকে আলো বাতিল করতে বোতাম টিপতে পেতে এটিকে দূরবর্তী নির্দেশক হিসাবে ব্যবহার করতে পারেন।

ফিডে ডেটা পাঠানোর ওয়েবহুক পদ্ধতির একটি দরকারী লিঙ্ক এখানে। এই ক্ষেত্রে এটি একটি IFTTT অ্যাপলেট ব্যবহার করছে কিন্তু আপনি সহজেই পাইথনের সাথে একটি CURL পদ্ধতি ব্যবহার করতে পারেন।

io.adafruit.com/blog/notebook/2018/11/26/f…

আসলে এটি একটি OLED 128x32 বেসের মধ্যে কিছু টেক্সটাল কন্টেন্টের সাথে LED সম্পূরক করার জন্য ফিট করাও সম্ভব এবং আমি বর্তমানে এটি নিয়ে কাজ করছি এবং STL এর আপডেট করব এবং IO ব্যবহার করার জন্য কোডটিও সরবরাহ করব।

প্রস্তাবিত: