সুচিপত্র:

আমাকে জাগান - একটি স্মার্ট এলার্ম ঘড়ি: 6 টি ধাপ
আমাকে জাগান - একটি স্মার্ট এলার্ম ঘড়ি: 6 টি ধাপ

ভিডিও: আমাকে জাগান - একটি স্মার্ট এলার্ম ঘড়ি: 6 টি ধাপ

ভিডিও: আমাকে জাগান - একটি স্মার্ট এলার্ম ঘড়ি: 6 টি ধাপ
ভিডিও: Amazon Echo Show 5 Complete Setup Guide With Demos 2024, নভেম্বর
Anonim
আমাকে জাগান - একটি স্মার্ট এলার্ম ঘড়ি
আমাকে জাগান - একটি স্মার্ট এলার্ম ঘড়ি

আমাকে জাগান একটি স্মার্ট অ্যালার্ম ঘড়ি যা স্মার্ট লাইট হিসাবেও ব্যবহার করা যেতে পারে।

অন্তর্নির্মিত LEDstrip আপনার রুমে আসা প্রাকৃতিক আলো অনুকরণ করে। এটি আপনার দিন শুরু করার জন্য একটি শান্ত, প্রাকৃতিক উপায় সক্ষম করে।

অ্যালার্ম ঘড়িটি সময় পড়ার জন্য 4*7 সেগমেন্ট ডিসপ্লে, আপনার পছন্দের সঙ্গীত দিয়ে ঘুম থেকে ওঠার জন্য স্পিকার, একটি টাচবাটন, লেডস্ট্রিপের উজ্জ্বলতা মানিয়ে নেওয়ার জন্য একটি এলডিআর এবং একটি তাপমাত্রা সেন্সর যা আপনি দেখতে ব্যবহার করতে পারেন। আপনার ঘরের তাপমাত্রা

সরবরাহ

আমার দেওয়া সঠিক মূল্যগুলির একটি তালিকা এখানে পাওয়া যাবে:

মাইক্রোকন্ট্রোলার এবং কম্পিউটার:

রাস্পবেরি পাই 4 আমি রাস্পবেরি পাই 4 4 জিবি ব্যবহার করেছি, তবে যে কোনও রাস্পবেরি পাই মডেল 3+ ভাল হওয়া উচিত।

আরডুইনো উনো

Arduino 4*7 সেগমেন্ট ঘড়ি প্রদর্শন নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

সেন্সর:

  • TMP36: তাপমাত্রা সেন্সর
  • এলডিআর: হালকা নির্ভরশীল প্রতিরোধক

Actuators:

  • WS2801: ব্যক্তিগতভাবে adressable ledstrip
  • এলসিডি ডিসপ্লে: একটি 16*2 এলসিডি ডিসপ্লে।
  • 4*7 সেগমেন্ট ঘড়ি প্রদর্শন

আইসি এর:

  • 74HC595: এলসিডি ডিসপ্লের জন্য Shiftregister
  • MCP3008: 8-বিট এনালগ টু ডিজিটাল কনভার্টার
  • লজিক লেভেল কনভার্টার: রাস্পি এবং আরডুইনো এর মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়

অন্যান্য উপাদান:

  • একটি adafruit MAX9744 পরিবর্ধক স্পিকার শক্তি
  • কোন স্পিকার, আমি একটি Visaton 4Ohm 8Watt পূর্ণ পরিসরের স্পিকার ব্যবহার করেছি (আর্ট নং 2240)
  • পরিবর্ধককে পাওয়ার জন্য একটি 9 ভোল্ট পাওয়ার সাপ্লাই
  • একটি 5volt পাওয়ার সাপ্লাই LEDstrip এবং অন্যান্য উপাদান সরবরাহ করার জন্য মনে রাখবেন যে LEDstrip প্রতিটি নেতৃত্বে 60mA ড্রো করতে পারেন তাই নিশ্চিত করুন যে আপনার পাওয়ার সাপ্লাই যথেষ্ট।
  • কিছু 220Ohm প্রতিরোধক
  • আপনার ক্ষেত্রে রাখার জন্য একটি ছোট ব্রেডবোর্ড।

সরঞ্জাম:

  • একটি সোল্ডারিং লোহা।
  • কেসটি তৈরি করার জন্য কিছু

ধাপ 1: রাস্পবেরি পাই সেট আপ করা

রাস্পবেরি পাই আমাদের প্রধান মাইক্রো কন্ট্রোলার।

রাস্পবেরি পাই আমাদের স্থানীয় ওয়েব সার্ভার, ডাটাবেস চালায়, লিডস্ট্রিপ, স্পিকার নিয়ন্ত্রণ করে …

পর্ব 1: রাস্পবিয়ান ইনস্টল করা

রাস্পবিয়ান ইনস্টল করতে এই টিউটোরিয়ালটি ব্যবহার করুন:

নিশ্চিত করুন যে SSH সক্ষম করা আছে

পার্ট 2: সংযুক্ত করা হচ্ছে

ইন্টারনেটের সাথে সংযুক্ত হওয়ার জন্য, আপনাকে আপনার রাস্পবেরি পাই এর টার্মিনালে প্রবেশ করতে হবে। আমি পুটি ব্যবহার করার পরামর্শ দিই। টার্মিনাল প্রকারে:

wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf

"YourNetwork" হল আপনার ওয়াইফাই নেটওয়ার্কের নাম এবং "YourSSID" হল নেটওয়ার্কের পাসওয়ার্ড।

একবার আপনি নেটওয়ার্ক যোগ করলে রাস্পবেরি পাই পুনরায় বুট করার চেষ্টা করুন।

'পিং 8.8.8.8' কমান্ডটি টাইপ করুন এটি গুগল সার্ভারে একটি প্যাকেট পাঠাবে যদি আপনি সাড়া পান আপনার নেটওয়ার্ক সেট আপ এবং কাজ করছে!

পার্ট 3: প্রয়োজনীয় প্রোগ্রাম ইনস্টল করুন

এই প্রকল্পটি চালু এবং চালানোর জন্য আমাদের কিছু অতিরিক্ত প্রোগ্রাম ইনস্টল করতে হবে।

আমরা শুরু করার আগে সবকিছু আপগ্রেড করা হয়েছে তা নিশ্চিত করার জন্য এই 2 টি কমান্ড চালান।

sudo apt আপডেট

sudo apt আপগ্রেড

এতে একটু সময় লাগতে পারে।

অ্যাপাচি

sudo apt apache2 -y ইনস্টল করুন

sudo apt php libapache2-mod-php -y ইনস্টল করুন

মারিয়াডিবি

sudo apt mariadb-server mariadb-client -y ইনস্টল করুন

sudo apt php -mysql -y ইনস্টল করুন

PHPMyAdmin

sudo apt phpmyadmin -y ইনস্টল করুন

পাইথন পিপ

কিছু পাইথন লাইব্রেরি সক্ষম করতে আমাদের পিপ ইনস্টল করতে হবে

pip3 mysql-connector-python ইনস্টল করুন

pip3 ফ্লাস্ক-সকেটিও ইনস্টল করুন

pip3 ফ্লাস্ক-কোর ইনস্টল করুন

pip3 gevent ইনস্টল করুন

pip3 gevent-websocket ইনস্টল করুন

ধাপ 2: ইলেকট্রনিক্স সংযোগ

ইলেকট্রনিক্স সংযোগ
ইলেকট্রনিক্স সংযোগ
ইলেকট্রনিক্স সংযোগ
ইলেকট্রনিক্স সংযোগ

আমি 2 টি স্কিম যোগ করেছি, 1 হল পরীক্ষার উদ্দেশ্যে একটি ব্রেডবোর্ড স্কিম। আমি প্রথম স্কিম তৈরির পরামর্শ দিচ্ছি এবং কোডটি কাজ করার চেষ্টা করছি।

আমি নীচের fritzing ফাইল যোগ করেছি।

ধাপ 3: ডাটাবেস ডিজাইন

ডাটাবেস ডিজাইন
ডাটাবেস ডিজাইন

এটি আমার তৈরি ডাটাবেস স্কিম। শব্দগুলি ডাচ ভাষায় আছে কিন্তু আমি প্রতিটি টেবিলের বিস্তারিত ব্যাখ্যা করব।

টেবিল 1: tblMuziek

এটি একটি সুন্দর মৌলিক টেবিল। এটি শিল্পীর নাম, গানের নাম এবং একটি গানের ফাইলের নাম সংরক্ষণ করে।

টেবিল 2: tblLedstrip

এই টেবিলটি লেডস্ট্রিপের বর্তমান অবস্থার উপর নজর রাখে এটি লিডস্ট্রিপের অবস্থা সংরক্ষণ করে। স্মার্টলাইট ফাংশনের জন্য আমাদের এটি দরকার।

টেবিল 3: tblSensoren

এই টেবিলটি আমাদের অ্যালার্মে সেন্সরগুলির ট্র্যাক রাখে। আমরা সেন্সর এবং MCP3008 এর চ্যানেলের নাম সংরক্ষণ করি

টেবিল 4: tblMeting

এই টেবিলটি আমাদের সেন্সরের মানগুলিকে তাদের সময়ের সাথে সংরক্ষণ করে।

টেবিল 5: tblWekker

এই টেবিলটি আপনার অ্যালার্ম ঘড়ির পাসওয়ার্ড এবং নাম সংরক্ষণ করে (যেমন শয়নকক্ষ) এই টেবিলটি বাধ্যতামূলক নয় কিন্তু আমি এটি যুক্ত করেছি কারণ আমি ধরে নিচ্ছি যে আপনার বাড়িতে 1 টিরও বেশি অ্যালার্ম ঘড়ি থাকবে।

টেবিল 6: tblAlarm

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

ধাপ 4: Arduino সেটআপ

এই ধাপটি খুবই সহজ। পরবর্তী ধাপে আমার গিথুবের একটি লিঙ্ক থাকবে যেখানে আপনি আরডুইনো ফাইলটি ডাউনলোড করতে পারেন।

প্রোগ্রাম কি করে?

প্রোগ্রামটি পাই থেকে সিরিয়াল ডেটা আসার জন্য অপেক্ষা করে।

যত তাড়াতাড়ি তথ্য প্রাপ্ত করা হয় এটি স্ট্রিং মাধ্যমে বিশ্লেষণ করে এবং পাইকে একটি নিশ্চিতকরণ ফেরত পাঠায়।

স্ট্রিংটি এরকম কিছু হবে: '1201' এর অর্থ হল এটি 12:01। আমি একটি সাধারণ অ্যানোড 7 সেগমেন্ট ডিসপ্লে ব্যবহার করেছি এর মানে হল যে সংখ্যাগুলি উচ্চ হওয়া উচিত এবং এগুলি চালু করতে A, B, C, D, E, F, G এবং DP কম হওয়া উচিত। আপনি যদি একটি সাধারণ ক্যাথোড ব্যবহার করেন তবে আপনাকে কেবল উচ্চ থেকে নিম্ন এবং নিম্ন থেকে উচ্চতে পরিবর্তন করতে হবে।

7 সেগমেন্ট ডিসপ্লে কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের সাথে এখানে একটি লিঙ্ক রয়েছে। (লাইব্রেরি ব্যবহারের সাথে):

www.instructables.com/id/Using-a-4-digit-7…

এখানে একটি লাইব্রেরি ব্যবহার না করে 7 সেগমেন্ট ডিসপ্লে সম্পর্কে একটি লিঙ্ক দেওয়া হল:

create.arduino.cc/projecthub/SAnwandter1/p…

ধাপ 5: রাস্পবেরি পাই ব্যাকএন্ড

রাস্পবেরি পাই ব্যাকএন্ড
রাস্পবেরি পাই ব্যাকএন্ড

আপনি Github ব্যবহার করে আমার কোড ডাউনলোড করতে পারেন। (https://github.com/VanHevelNico/WakeMeUp)

প্রোগ্রামটি কিভাবে ইনস্টল করবেন:

ফ্লাস্ক ব্যবহার করে ব্যাকএন্ড পাইথনে লেখা আছে। আপনি এমন একটি পরিষেবা তৈরি করতে পারেন যা এই প্রোগ্রাম (app.py) স্বয়ংক্রিয়ভাবে শুরু করে।

আপনি আগে ডাউনলোড করা অ্যাপাচি সার্ভারের এইচটিএমএল ফাইলে ফ্রন্টএন্ড কোডটি রাখবেন। (/var/html)

প্রোগ্রাম কিভাবে কাজ করে?

যখন অ্যালার্ম ঘড়ি চালু হয় আপনার ঘড়ির আইপি ঠিকানায় যান (এটি এলসিডিতে প্রদর্শিত হবে)

যত তাড়াতাড়ি আপনি আপনার ব্রাউজারে সেই আইপি ঠিকানায় যান আপনার কম্পিউটার ব্যাক -এন্ডে একটি socket.io রিকোয়েস্ট পাঠাবে যে একজন ক্লায়েন্ট কানেক্ট হয়েছে। যখন ব্যাকএন্ড এটি গ্রহণ করে তখন কয়েকটি থ্রেড শুরু হবে যা আমি নীচে ব্যাখ্যা করব।

সেটআপ

এটি প্রয়োজনীয় সমস্ত বস্তুর অন্তর্নিহিত করে।

GetTemp

এটি mcp3008 চ্যানেল 0 পড়ে এবং বাইনারি ডেটাকে প্রকৃত তাপমাত্রায় রূপান্তর করে এবং বর্তমান তারিখ এবং ঘন্টার সাথে ডাটাবেসে রাখে।

GetTempGrafiek

এটি তাপমাত্রা সেন্সরের অতীত 20 টি মান পায় এবং এটিকে ফ্রন্টএন্ডে নির্গত করে।

tijd_sturen

এই পদ্ধতিটি বর্তমান সময় পায় এবং মিনিট পরিবর্তন হয়েছে কিনা তা পরীক্ষা করে। যদি এটি পরিবর্তিত হয় তবে প্রোগ্রামটি সিরিয়াল যোগাযোগ ব্যবহার করে আরডুইনোতে নতুন সময় পাঠায়

অ্যালার্মেন চেক করুন

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

অবস্থা আলো

এই পদ্ধতিটি LEDstrip এর মান নির্গত করে এবং প্রয়োজন হলে LEDstrip চালু করে।

lichtAanpassen

LEDstrip এবং অ্যালার্ম লাইট দ্বন্দ্ব না করে তা নিশ্চিত করার জন্য এটি একটি অতিরিক্ত পদ্ধতি।

ধাপ 6: কেস

কেস
কেস
কেস
কেস
কেস
কেস

আমার ফাইলের লিঙ্ক এখানে পাওয়া যাবে:

কেসিং প্রিন্ট করার জন্য আমি একটি 3 ডি প্রিন্টার ব্যবহার করেছি। এটি 4 টি ভিন্ন অংশে মুদ্রিত:

  1. স্পিকারের জন্য ছিদ্রযুক্ত সামনের প্লেট এবং 7 সেগমেন্ট ডিসপ্লের জন্য কিছু দেয়াল
  2. ট্রান্সপারেন্ট পিইটিজিতে লিডস্ট্রিপের বাইরের রিং।
  3. মাঝের অংশ
  4. এলসিডির জন্য একটি গর্ত এবং তারের জন্য একটি গর্ত সহ ব্যাকপ্লেট।

আসল মডেলে 7 সেগমেন্ট ডিসপ্লের জন্য কোন গর্ত ছিল না তবে এটি প্রয়োজন কারণ অন্যথায় 7 সেগমেন্ট ডিসপ্লের আলো জ্বলবে না।

সমস্ত উপাদান রাখার পরে আপনি দেখতে পাচ্ছেন যে আমি শেষ ফলাফলটি আরও ভাল করার জন্য কাঠের চেহারা সহ ভিনাইল স্টিকার ব্যবহার করেছি। ঘড়ির প্রদর্শন স্টিকারের মাধ্যমে জ্বলজ্বল করে যা একটি খুব সুন্দর দেখতে প্রভাব তৈরি করে।

প্রস্তাবিত: