সুচিপত্র:

মুড প্রজেক্টর (জিএসআর সহ হ্যাকড ফিলিপস হিউ লাইট) TfCD: 7 টি ধাপ (ছবি সহ)
মুড প্রজেক্টর (জিএসআর সহ হ্যাকড ফিলিপস হিউ লাইট) TfCD: 7 টি ধাপ (ছবি সহ)

ভিডিও: মুড প্রজেক্টর (জিএসআর সহ হ্যাকড ফিলিপস হিউ লাইট) TfCD: 7 টি ধাপ (ছবি সহ)

ভিডিও: মুড প্রজেক্টর (জিএসআর সহ হ্যাকড ফিলিপস হিউ লাইট) TfCD: 7 টি ধাপ (ছবি সহ)
ভিডিও: মোবাইল ফ্ল্যাশ লাইট দিয়ে প্রজেক্টর তৈরি করা সম্ভব!!! Mobile Flashlight Projector 2024, জুলাই
Anonim
Image
Image
হিউ লাইট আলাদা করুন
হিউ লাইট আলাদা করুন

লরা আহসমান এবং মাইকে ওয়েবারের দ্বারা

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

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

আইডিয়া: যদি আমরা দ্রুত স্ট্রেস বা মেজাজ সনাক্ত করতে পারি এবং রঙিন আলো এবং সঙ্গীত দিয়ে এটি উপস্থাপন করতে পারি? একটি জিএসআর সিস্টেম এটি করতে পারে। এই নির্দেশনায়, আমরা এটি করার জন্য একটি Arduino ভিত্তিক সিস্টেম তৈরি করব! Arduino সফটওয়্যার এবং প্রসেসিং সফটওয়্যার উভয় দ্বারা পরিচালিত, এটি একটি নির্দিষ্ট রঙের আলো এবং একটি নির্দিষ্ট ধরনের সঙ্গীতে ত্বকের পরিবাহিতা মানকে অনুবাদ করবে।

তোমার কি দরকার?

  • আরডুইনো উনো
  • তারের
  • ফিলিপস হিউ লাইট (লিভিং কালারস)
  • তিনটি 100 ওহম প্রতিরোধক (RGB LED এর জন্য)
  • একটি 100 KOhm প্রতিরোধক (GSR সেন্সরের জন্য)
  • অ্যালুমিনিয়াম ফয়েলের মতো কন্ডাকশন সেন্সর হিসেবে কাজ করার মতো কিছু
  • Arduino সফটওয়্যার
  • প্রসেসিং সফটওয়্যার (আমরা v2.2.1 ব্যবহার করেছি, নতুনরা ক্র্যাশ করতে থাকে)
  • সলিডওয়ার্কস, আবাসন ডিজাইন করার জন্য (alচ্ছিক)
  • একটি সিএনসি মিল অ্যাক্সেস (alচ্ছিক)
  • সবুজ মডেলিং ফোম (ইপিএস)
  • ব্রেডবোর্ড (alচ্ছিক, ঝালও হতে পারে)

ধাপ 1: হিউ লাইট আলাদা করুন

এই ধাপটি সহজ, শুধু কিছু শক্তি ব্যবহার করুন (বা একটি স্ক্রু ড্রাইভার) হারাতে দিন এবং আলো খুলুন। কিছু স্ন্যাপ সংযোগ পণ্যটিকে একসাথে ধরে রাখে, তাই এটি আলাদা করা সহজ।

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

পদক্ষেপ 2: হার্ডওয়্যার প্রস্তুত করা

হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে

এই প্রকল্পের জন্য, আমরা একটি ফিলিপস হিউ লাইট ব্যবহার করেছি, যাতে মূর্তিকে সুন্দর এবং দ্রুততর করা যায়। তবে আপনি একটি নিয়মিত RGB LED ব্যবহার করতে পারেন, যেমনটি ব্রেডবোর্ড সহ ছবিতে দেখানো হয়েছে।

আরজিবি এলইডি চালানোর জন্য, পিনগুলিকে আরডুইনো এর তিনটি ভিন্ন পিডব্লিউএম পোর্টে সংযুক্ত করুন (নির্দেশিত ba a ~)। এই সংযোগের জন্য 100Ohm প্রতিরোধক ব্যবহার করুন। Arduino এর 5V আউটপুটে দীর্ঘতম পিন সংযুক্ত করুন। কোন পিনের সাথে কোন রঙের মিল আছে তা দেখতে, এই ধাপের শেষ ছবিটি দেখুন।

হিউ লাইটের জন্য, একই ধাপগুলি চলে। নির্ধারিত স্লটগুলিতে তারের সোল্ডারিংয়ের মাধ্যমে LED সহজেই Arduino এর সাথে সংযুক্ত হয়, এই ধাপে তৃতীয় ছবিটি দেখুন। স্লটগুলির একটি R, G এবং B রয়েছে, যা নির্দেশ করে যে কোন তারটি কোথায় যেতে হবে। এটি একটি + এবং একটি - স্লট আছে, যথাক্রমে Arduino এর 5V এবং Arduino এর স্থানের সাথে সংযুক্ত হতে হবে। একবার আপনি LED হুক আপ, আপনি হাউজিং মধ্যে ফিরে স্ক্রু করতে পারেন।

অ্যালুমিনিয়াম ফয়েল (বা টিলাইটের অ্যালুমিয়াম পাত্রে ব্যবহার করুন, যা দেখতে একটু সুন্দর) ব্যবহার করে তৈরি জিএসআর সেন্সরগুলিকে সংযুক্ত করতে, সোল্ডার বা তারের সাথে টেপ করুন এবং একটিকে 5V এর সাথে সংযুক্ত করুন। অন্যটিকে 100KOhm এর প্রতিরোধক এবং 0, 1mF (সমান্তরাল) এর একটি ক্যাপাসিটরের সাথে সংযুক্ত করুন, যা তারপর মাটিতে এবং Arduino এ A1 স্লটের সাথে সংযুক্ত হওয়া উচিত। এটি স্ট্রেস লেভেলের আউটপুট দেবে, যা তখন হালকা রঙ এবং সঙ্গীতের ইনপুট হিসেবে ব্যবহৃত হবে। তবে সতর্ক থাকুন যে সেন্সরগুলি স্পর্শ করছে না!

শেষ ছবিটি দেখায় কিভাবে এটি একটি ব্রেডবোর্ড ছাড়া করা যায়।

ধাপ 3: স্ট্রেস লেভেল পরিমাপ করা

স্ট্রেসলেভাল পরিমাপ করা
স্ট্রেসলেভাল পরিমাপ করা

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

GSR মাত্রা পরিমাপ করার জন্য, আমরা Arduino পরিবেশে নিম্নলিখিত কোডটি ব্যবহার করব। কম ওঠানামার পরিমাপের জন্য, প্রতি 10 টি রিডিংয়ের জন্য একটি অ্যাভারেজ নেওয়া হয়।

const int numReadings = 10; int রিডিং [numReadings]; // A1 int সূচক = 0 থেকে ইনপুট; // বর্তমান পড়ার সূচক int মোট = 0; // চলমান মোট স্বাক্ষরবিহীন দীর্ঘ গড় = 0; // গড়

int inputPin = A1;

অকার্যকর সেটআপ জিএসআর ()

{// সমস্ত রিডিং 0 এ সেট করুন:

জন্য (int i = 0; i <numReadings; i ++) রিডিং = 0; }

স্বাক্ষরবিহীন দীর্ঘ রান জিএসআর () {

মোট = মোট - রিডিং [সূচক]; // জিএসআর সেন্সর রিডিং থেকে পড়ুন [সূচক] = এনালগ রিড (ইনপুটপিন); // মোট মোট = মোট + রিডিং [সূচী] নতুন পড়া যোগ করুন; // অ্যারে সূচকের পরবর্তী অবস্থান = সূচক + 1;

// অ্যারের পরীক্ষা শেষ

যদি (সূচক> = numReadings) // এবং সূচী = 0 দিয়ে শুরু হয়;

// গড় কি?

গড় = মোট / numReadings; // এটি ASCII ডিজিট রিটার্ন এভারেজ হিসাবে কম্পিউটারে পাঠান;

}

অন্য ট্যাবে (জিনিসগুলি সংগঠিত রাখার জন্য), আমরা পরিমাপের প্রতিক্রিয়া জানাতে কোডটি তৈরি করব, পরবর্তী ধাপ দেখুন!

ধাপ 4: লাইট পরিচালনা করা

লাইট ম্যানেজ করা
লাইট ম্যানেজ করা
লাইট ম্যানেজ করা
লাইট ম্যানেজ করা
লাইট ম্যানেজ করা
লাইট ম্যানেজ করা

লাইটগুলি পরিচালনা করার জন্য, আমাদের প্রথমে পরিমাপগুলি ক্যালিব্রেট করতে হবে। সিরিয়াল মনিটর খোলার মাধ্যমে আপনার পরিমাপের উচ্চতরতা কী তা পরীক্ষা করুন। আমাদের জন্য পরিমাপ 150 (যখন আমরা সত্যিই শিথিল করার চেষ্টা করেছি) এবং 300 (যখন আমরা খুব চাপ দেওয়ার চেষ্টা করেছি) এর মধ্যে কিছু ছিল।

তারপরে, সিদ্ধান্ত নিন কোন রঙটি কী চাপের স্তরের প্রতিনিধিত্ব করবে। আমরা এটি তৈরি করেছি যাতে:

1. নিম্ন চাপ স্তর: সাদা আলো, ক্রমবর্ধমান চাপের সাথে সবুজ আলোতে পরিবর্তিত হচ্ছে

2. মধ্যম চাপ স্তর: সবুজ আলো, ক্রমবর্ধমান চাপের সাথে নীল আলোতে পরিবর্তিত হচ্ছে

3. উচ্চ চাপ স্তর: নীল আলো, ক্রমবর্ধমান চাপের সাথে লাল হয়ে যায়

নিম্নলিখিত কোডটি পরিমাপ প্রক্রিয়া করার জন্য এবং LED তে পাঠানোর জন্য তাদের মানগুলিতে পরিণত করতে ব্যবহৃত হয়েছিল:

// মাস্টার #ডিবাগ 0 নির্ধারণ করুন

// GSR = A1

int gsrVal = 0; // সেন্সর থেকে ইনপুট সংরক্ষণ করার জন্য পরিবর্তনশীল

// উল্লিখিত হিসাবে, পালস-প্রস্থ মডুলেশন (PWM) পিন ব্যবহার করুন

int redPin = 9; // লাল LED, ডিজিটাল পিন 9 int grnPin = 9 এর সাথে সংযুক্ত; // সবুজ LED, ডিজিটাল পিন 10 int bluPin = 5 এর সাথে সংযুক্ত; // নীল LED, ডিজিটাল পিন 11 এর সাথে সংযুক্ত

// প্রোগ্রাম ভেরিয়েবল

int redVal = 0; // ভেরিয়েবলগুলি পিনগুলিতে পাঠানোর মান সংরক্ষণ করতে int grnVal = 0; int bluVal = 0;

স্বাক্ষরবিহীন দীর্ঘ gsr = 0;

অকার্যকর সেটআপ()

{পিনমোড (ব্লুপিন, আউটপুট); pinMode (grnPin, OUTPUT); পিনমোড (রেডপিন, আউটপুট); পিনমোড (এ 1, ইনপুট);

Serial.begin (9600);

সেটআপ জিএসআর (); }

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

{gsrVal = gsr; যদি (gsrVal <150) // gsr পরিসরের সর্বনিম্ন তৃতীয় (0-149) {gsr = (gsrVal /10) * 17; // 0-255 redVal = gsrVal এ স্বাভাবিক করুন; // সম্পূর্ণ grnVal = gsrVal থেকে বন্ধ; // সবুজ বন্ধ থেকে সম্পূর্ণ bluVal = gsrVal; // সম্পূর্ণ নীল বন্ধস্ট্রিং সাউন্ডএ = "এ"; Serial.println (SoundA); // অপারেটিং মিউজিকে পরে ব্যবহারের জন্য} অন্যথায় যদি (gsrVal <250) // gsr পরিসরের মধ্যভাগ (150-249) {gsrVal = ((gsrVal-250) /10) * 17; // 0-255 redVal = 1 এ স্বাভাবিক করুন; // লাল বন্ধ grnVal = gsrVal; // সবুজ থেকে সম্পূর্ণ ব্লুভাল = 256 - gsrVal; // নীল থেকে সম্পূর্ণ স্ট্রিং সাউন্ডবি = "বি"; Serial.println (SoundB); } else // gsr পরিসরের thirdর্ধ্ব তৃতীয়াংশ (250-300) {gsrVal = ((gsrVal-301) /10) * 17; // 0-255 redVal = gsrVal এ স্বাভাবিক করুন; // লাল থেকে সম্পূর্ণ grnVal = 1; // সবুজ থেকে সম্পূর্ণ ব্লুভাল = 256 - gsrVal; // নীল থেকে ফুল থেকে স্ট্রিং সাউন্ডসি = "সি"; Serial.println (SoundC); }

analogWrite (redPin, redVal); // LED পিন analogWrite (grnPin, grnVal) মান লিখুন; analogWrite (bluPin, bluVal); gsr = runGSR (); বিলম্ব (100); }

তাই এখন LED আপনার স্ট্রেস লেভেলের প্রতিক্রিয়া জানাচ্ছে, আসুন পরবর্তী ধাপে আপনার মেজাজের প্রতিনিধিত্ব করার জন্য কিছু সঙ্গীত যোগ করি।

ধাপ 5: সঙ্গীত পরিচালনা

সঙ্গীত পরিচালনা
সঙ্গীত পরিচালনা

আমরা নিম্নলিখিত সংগীতের সাথে 3 টি স্ট্রেস লেভেলের প্রতিনিধিত্ব করতে বেছে নিয়েছি:

1. নিম্ন স্তরের (A): গানের বাটি এবং পাখির কিচিরমিচির, খুব হালকা শব্দ

2. মাঝারি স্তর (বি): একটি বিষণ্ন পিয়ানো, একটু বেশি ভারী শব্দ

3. উচ্চ চাপ স্তর (C): একটি বজ্রঝড়, একটি অন্ধকার শব্দ (যদিও বেশ আরামদায়ক)

কোডটি প্রক্রিয়াকরণে লেখা, একটি সফটওয়্যার যা Arduino- এর সফটওয়্যার প্রতিক্রিয়া অংশ প্রদান করে:

আমদানি প্রক্রিয়াকরণ সিরিয়াল।*; আমদানি ddf.minim।*;

মিনিম মিনিম;

অডিওপ্লেয়ার খেলোয়াড়;

int lf = 10; // ASFII তে লাইনফিড

স্ট্রিং myString = null; সিরিয়াল myPort; // সিরিয়াল পোর্ট int sensorValue = 0;

অকার্যকর সেটআপ() {

// সমস্ত উপলব্ধ সিরিয়াল পোর্টগুলির তালিকা করুন printArray (Serial.list ()); // Arduino myPort = নতুন সিরিয়াল (এই, Serial.list () [2], 9600) এর সমান হারে আপনি যে পোর্টটি ব্যবহার করছেন তা খুলুন; myPort.clear (); // পরিষ্কার পরিমাপ myString = myPort.readStringUntil (lf); myString = শূন্য; // আমরা এটি মিনিমকে পাস করি যাতে এটি minim = new Minim (this) ফাইল লোড করতে পারে; খেলোয়াড় = নতুন অডিওপ্লেয়ার [3]; // এখানে অডিও ফাইলের নাম পরিবর্তন করুন এবং লাইব্রেরির প্লেয়ারে যোগ করুন [0] = minim.loadFile ("Singing-bowls-and-bird-chirping-sleep-music.mp3"); খেলোয়াড় [1] = minim.loadFile ("Melancholic-piano-music.mp3"); খেলোয়াড় [2] = minim.loadFile ("Storm-sound.mp3"); }

অকার্যকর ড্র () {

// একটি নতুন মান আছে কিনা তা পরীক্ষা করুন (myPort.available ()> 0) {// myString myString = myPort.readString (); // আমাদের সত্যিই কিছু আছে কিনা তা পরীক্ষা করে দেখুন (myString! = null) {myString = myString.trim (); // কিছু আছে কিনা তা পরীক্ষা করে দেখুন (myString.length ()> 0) {println (myString); চেষ্টা করুন {sensorValue = Integer.parseInt (myString); } ধরা (ব্যতিক্রম e) {} if (myString.equals ("A")) // দেখুন এটা কি চাপের স্তর মাপছে {খেলোয়াড় [0].প্লে (); // সঙ্গীত অনুযায়ী বাজান} অন্য {প্লেয়ার [0]। বিরতি (); // যদি এটি নিম্ন চাপের স্তর পরিমাপ না করে, তাহলে সেই গানটি না বাজান} যদি (myString.equals ("B")) {খেলোয়াড় [1].প্লে (); } অন্য {খেলোয়াড় [1]। বিরতি (); } যদি (myString.equals ("C")) {খেলোয়াড় [2].play (); } অন্য {খেলোয়াড় [2]। বিরতি (); }}}}}

এই কোডটি আমাদের ল্যাপটপ স্পিকারের স্ট্রেস লেভেল অনুযায়ী সঙ্গীত বাজানো উচিত।

ধাপ 6: এমবডিমেন্ট ডিজাইন করুন

Image
Image
এমবডিমেন্ট ডিজাইন করুন
এমবডিমেন্ট ডিজাইন করুন

আমরা ফিলিপস হিউ লাইটের উপরের অংশটি ব্যবহার করেছি, কিন্তু একটি গ্রীনফোম নীচে cnc'd করেছি। SolidWorksfile এখানে আছে, কিন্তু এটি প্রদীপ নিজে পরিমাপ করা এবং আপনার স্বাদে কিছু ডিজাইন করাও মজার হতে পারে!

আমরা SW- এ একটি আন্ডারলেয়ার হিসাবে প্রদীপের উপরের অংশের একটি ছবি ব্যবহার করেছি, যাতে নীচের আকৃতি উপরের বক্ররেখা অনুসরণ করে (প্রথম ছবি দেখুন)।

মডেলটি cnc'd করার জন্য, এটি একটি STL ফাইল হিসাবে সংরক্ষণ করুন এবং আপনার স্থানীয় মিলার (উদাহরণস্বরূপ ইউনি তে) খুঁজুন।

ধাপ 7: সূত্র

আপনি যদি এই বিষয়ে আরো তথ্য চান, অথবা চাপ পরিমাপের জন্য আরো বিস্তৃত কোড দেখুন, তাহলে নিচের ওয়েবসাইট এবং প্রকল্পগুলি দেখুন:

  • প্রক্রিয়াকরণে অডিওফাইলের ট্রিগার সম্পর্কে আরও ব্যাখ্যা (যা আমরা ব্যবহার করেছি)
  • GSR- এ চমৎকার হ্যান্ডবুক
  • মেজাজ প্রজেক্ট করার জন্য ভিন্ন ভিন্ন পদ্ধতি
  • একাধিক সেন্সর সহ সত্যিই দুর্দান্ত স্ট্রেস ডিটেক্টর (এই প্রকল্পের বড় অনুপ্রেরণা)
  • আরজিবি এলইডি সহ সাউন্ড (স্ট্রেসের পরিবর্তে) প্রজেক্টর
  • জিএসআর সম্পর্কে ভাল নিবন্ধ

প্রস্তাবিত: