সুচিপত্র:

পরিধানযোগ্য - চূড়ান্ত প্রকল্প: 7 টি ধাপ
পরিধানযোগ্য - চূড়ান্ত প্রকল্প: 7 টি ধাপ

ভিডিও: পরিধানযোগ্য - চূড়ান্ত প্রকল্প: 7 টি ধাপ

ভিডিও: পরিধানযোগ্য - চূড়ান্ত প্রকল্প: 7 টি ধাপ
ভিডিও: Class 7 Digital Projukti Annual Answer | ৭ম শ্রেণির ডিজিটাল প্রযুক্তি বার্ষিক পরীক্ষা উত্তর ২০২৩ 2024, জুন
Anonim
পরিধানযোগ্য - চূড়ান্ত প্রকল্প
পরিধানযোগ্য - চূড়ান্ত প্রকল্প

ভূমিকা

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

মার্ক ভিলা, গিলার্মো স্টাফচার এবং পাউ কার্সেলির প্রকল্প

ধাপ 1: উপাদান এবং উপাদান

উপাদান এবং উপাদান
উপাদান এবং উপাদান

নির্মাণ সামগ্রী:

- 3 ডি মুদ্রিত রিস্টব্যান্ড

- এম 3 স্ক্রু (x8)

- এম 3 বাদাম (x12)

- ফ্যানি প্যাক

ইলেকট্রনিক উপকরণ:

হার্ট রেট সেন্সর বিপিএম

- বোতাম (x2)

- পোটেন্টিওমিটার

- এলসিডি সি 1602 মডিউল

- মডিউল DFPLAYER MINI MP3

- 3.5 মিমি জ্যাক স্টিরিও টিআরআরএস হেডসেট

- মাইক্রোএসডি কার্ড

- Arduino Uno প্লেট

- ওয়েল্ডার

- বাকেলাইট প্লেট

ধাপ 2: একটি রিস্টব্যান্ড ডিজাইন করুন

একটি রিস্টব্যান্ড ডিজাইন করুন
একটি রিস্টব্যান্ড ডিজাইন করুন
একটি রিস্টব্যান্ড ডিজাইন করুন
একটি রিস্টব্যান্ড ডিজাইন করুন

প্রথমে আমরা রিস্টব্যান্ডের বিভিন্ন উপাদানগুলি সংগঠিত করার জন্য বেশ কয়েকটি স্কেচ তৈরি করি।

স্পষ্ট ধারণা নিয়ে, আমরা গ্রুপের সদস্যদের তিনটি বাহুর পরিমাপ নিয়েছিলাম, তারপর আমরা নকশাটির জন্য সর্বোত্তম পরিমাপ খুঁজে বের করার জন্য গড় তৈরি করেছি। পরিশেষে আমরা একটি 3 ডি প্রোগ্রাম দিয়ে পণ্য ডিজাইন করি এবং এটি একটি 3D প্রিন্টার দিয়ে প্রিন্ট করি।

আপনি এখানে. STL ফাইল ডাউনলোড করতে পারেন।

ধাপ 3: বৈদ্যুতিন সংযোগ

বৈদ্যুতিন সংযোগ
বৈদ্যুতিন সংযোগ

আমরা আমাদের 3 ডি ডিজাইনের প্রয়োজনীয় চেকগুলি চালিয়ে যাচ্ছি, আমরা প্রোটোটাইপের সমস্ত উপাদানগুলির একটি প্রথম সমাবেশ করেছি যাতে পরিমাপ সঠিক ছিল।

আরডুইনো বোর্ডে সমস্ত উপাদান সংযুক্ত করার জন্য, আমরা 0, 5 মিটার কেবল ব্যবহার করে উপাদানগুলি থেকে বিভিন্ন সংযোগ তৈরি করেছি, এইভাবে আমরা বোর্ডের দৃশ্যমানতা হ্রাস করি এবং আমরা প্রোটোটাইপকে আরও ভালভাবে সংগঠিত করি।

ধাপ 4: কোড

কোড
কোড
কোড
কোড
কোড
কোড

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

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

int SetResUp = 11; // তীব্রতা বৃদ্ধির বোতাম সহ Arduino এর 10 পিন। SetResDown = 12; // তীব্রতা হ্রাস বোতাম সহ Arduino এর 11 পিন

int ResButtonCounter = 0; // বার কাউন্টার যা প্রতিরোধের সেটিং বাড়ায় বা কমায়, 0 এর প্রাথমিক মান ResButtonUpState = 0; // তীব্রতা বৃদ্ধি বাটনের বর্তমান অবস্থা int ResButtonDownState = 0; // তীব্রতা হ্রাস বাটনের বর্তমান অবস্থা int lastResButtonUpState = 0; // তীব্রতা বৃদ্ধি বাটনের শেষ অবস্থা int lastResButtonDownState = 0; // তীব্রতা হ্রাস বোতামের শেষ অবস্থা

int pulsePin = 0; // পোর্ট A0 পোর্টে সংযুক্ত পালস সেন্সর // এই ভেরিয়েবলগুলি অস্থিতিশীল কারণ সেগুলি দ্বিতীয় ট্যাবে ইন্টারাপ্ট রুটিনের সময় ব্যবহৃত হয়। উদ্বায়ী int BPM; // বিট প্রতি মিনিটে উদ্বায়ী int সংকেত; // পালস সেন্সর ডেটা ইনপুট উদ্বায়ী int IBI = 600; // পালস সময় উদ্বায়ী বুলিয়ান পালস = মিথ্যা; // সত্য যখন পালস তরঙ্গ উচ্চ হয়, মিথ্যা যখন এটি কম উদ্বায়ী বুলিয়ান QS = মিথ্যা;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acepledge 0x00 // কমান্ড 0x41 দিয়ে তথ্য প্রদান করে [0x01: info, 0x00: no info]

// PANTALLA #অন্তর্ভুক্ত // LCD স্ক্রিনের ফাংশনগুলির জন্য লাইব্রেরি আপলোড করুন #অন্তর্ভুক্ত #অন্তর্ভুক্ত করুন

লিকুইডক্রিস্টাল এলসিডি (7, 6, 5, 4, 3, 2); // LCD সংযুক্ত আছে এমন পোর্টগুলি ঘোষণা করুন

// LECTOR #include #include // মডিউল dfplayer mini MP3 এর কার্যকারিতার জন্য লাইব্রেরি আপলোড করুন।

char serialData; int nsong; int v;

সফটওয়্যার সিরিয়াল কম (9, 10); // DFPlayer সংযুক্ত DFRobotDFPlayerMini mp3 বন্দরগুলি ঘোষণা করুন;

অকার্যকর সেটআপ () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);

// LCD (16x2) lcd.begin (16, 2) এর মাত্রা নির্ধারণ করুন; // আমরা নির্বাচন করি কোন কলামে এবং কোন লাইনে লেখা দেখানো শুরু হয় // LECTOR comm.begin (9600);

mp3.begin (comm); // কম্পোনেন্ট শুরু হয় serialData = (char) (('')); mp3.start (); Serial.println ("প্লে"); // একটি গান mp3.volume (25) বাজান; // ভলিউম নির্ধারণ করুন}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // যদি বোতাম টিপলে গানটি পাস হয়} if (digitalRead (12) == LOW) {mp3.previous (); // যদি বোতাম টিপে থাকে, আগের গান} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // অ্যানালগ পোর্ট A0 এর সাথে সংযুক্ত হার্ট রেট মনিটরের মান পড়ুন

Serial.println (পালসো/6); যদি (QS == সত্য) {// পতাকা কোয়ান্টিফাইড সেলফের মতো সত্য হয় যেমন arduino অনুসন্ধান BPM QS = false; // Quantified Self এর পতাকা পুনরায় সেট করুন}

lcd.setCursor (0, 0); // পছন্দসই পাঠ্য দেখান lcd.print ("BPM:"); lcd.setCursor (0, 1); // পছন্দসই পাঠ্য দেখান lcd.print ("INT:"); lcd.setCursor (5, 0); // পছন্দসই পাঠ্য দেখান lcd.print (পালসো); lcd.setCursor (5, 1); // পছন্দসই পাঠ্য দেখান lcd.print (ResButtonCounter); বিলম্ব (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// TempButtonState এর আগের অবস্থার সাথে তুলনা করুন

যদি (ResButtonUpState! = lastResButtonUpState এবং

ResButtonCounter ++; }

// বর্তমান অবস্থাটিকে শেষ অবস্থা হিসাবে সংরক্ষণ করুন, // পরের বার লুপটি শেষ করা হয় lastResButtonUpState = ResButtonUpState;

// বোতামের অবস্থা (বৃদ্ধি বা হ্রাস) শেষ অবস্থার সাথে তুলনা করুন

যদি (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {

// যদি শেষ অবস্থা পরিবর্তন হয়, কাউন্টার হ্রাস করুন

ResButtonCounter--; }

// বর্তমান অবস্থাটিকে শেষ অবস্থা হিসাবে সংরক্ষণ করুন, // পরেরবার লুপটি শেষ করা হবে lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

যদি (ResButtonCounter> = 10) {ResButtonCounter = 10; }

যদি (ResButtonCounter <1) {ResButtonCounter = 1; }

}

}

ধাপ 5: মোট সমাবেশ

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

ধাপ 6: ভিডিও

ধাপ 7: উপসংহার

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

এটি একটি অত্যন্ত সমৃদ্ধ প্রকল্প যার মধ্যে আমরা Arduino হার্ডওয়্যার এবং সফটওয়্যার অপশনের বিস্তৃত স্পর্শ করেছি।

প্রস্তাবিত: