فهرست مطالب:

بیدارم کن - یک ساعت زنگ دار هوشمند: 6 مرحله
بیدارم کن - یک ساعت زنگ دار هوشمند: 6 مرحله

تصویری: بیدارم کن - یک ساعت زنگ دار هوشمند: 6 مرحله

تصویری: بیدارم کن - یک ساعت زنگ دار هوشمند: 6 مرحله
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, نوامبر
Anonim
بیدارم کن - یک ساعت زنگ دار هوشمند
بیدارم کن - یک ساعت زنگ دار هوشمند

Wake me up یک ساعت زنگ دار هوشمند است که می تواند به عنوان چراغ هوشمند نیز مورد استفاده قرار گیرد.

نوار LED داخلی نور طبیعی را که به اتاق شما وارد می شود شبیه سازی می کند. این یک راه آرام و طبیعی را برای شروع روز شما امکان پذیر می کند.

ساعت زنگ دار همچنین مجهز به صفحه نمایش 4*7 برای خواندن زمان ، بلندگوها برای بیدار شدن با موسیقی مورد علاقه شما ، دکمه لمسی ، ldr برای تنظیم روشنایی نوار چراغ و سنسور دما است که می توانید برای مشاهده دمای اتاق شما

تدارکات

لیست قیمتهای دقیق پرداخت شده را می توانید در اینجا پیدا کنید:

میکروکنترلرها و رایانه ها:

Raspberry Pi 4I از رزبری pi 4 4GB استفاده می کرد ، با این حال ، هر رزبری pi مدل 3+ باید خوب باشد

آردوینو اونو

آردوینو برای کنترل صفحه نمایش ساعت 4*7 استفاده می شود.

سنسورها:

  • TMP36: سنسور دما
  • LDR: مقاومت وابسته به نور

محرک ها:

  • WS2801: نوار LED قابل تنظیم به صورت جداگانه
  • صفحه نمایش LCD: صفحه نمایش LCD 16*2.
  • صفحه نمایش ساعت 4*7 بخش

IC ها:

  • 74HC595: Shiftregister برای صفحه LCD
  • MCP3008: مبدل آنالوگ به دیجیتال 8 بیتی
  • مبدل سطح منطقی: برای برقراری ارتباط بین raspi و arduino استفاده می شود

باقی مسایل:

  • تقویت کننده adafruit MAX9744 برای تغذیه بلندگوها
  • از هر بلندگو ، من از بلندگوی Visaton 4Ohm 8Watt با برد کامل استفاده کردم (هنر شماره 2240)
  • منبع تغذیه 9 ولت برای تغذیه تقویت کننده
  • منبع تغذیه 5 ولت برای تامین نوار led و سایر قطعات. به خاطر داشته باشید که هر یک از led ها در ledstrip می توانند 60 میلی آمپر کاهش دهند ، بنابراین مطمئن شوید منبع تغذیه شما کافی است.
  • چند مقاومت 220 اهم
  • یک تخته نان کوچک برای قرار دادن در کیف خود.

ابزارها:

  • آهن لحیم کاری.
  • نکته ای مهم (من از چاپگر سه بعدی با PLA و PETG و چند برچسب وینیل برای به دست آوردن جلوه چوبی استفاده کردم.)

مرحله 1: راه اندازی رزبری پای

تمشک پی ریز کنترلر اصلی ما است.

raspberry pi وب سرور محلی ما ، پایگاه داده را کنترل می کند ، ledstrip را کنترل می کند ، بلندگوها ،…

قسمت 1: نصب Raspbian

از این آموزش برای نصب raspbian استفاده کنید:

مطمئن شوید SSH فعال است

قسمت دوم: اتصال

برای اتصال به اینترنت ، باید به پایانه تمشک pi خود دسترسی پیدا کنید. من توصیه می کنم از بتونه استفاده کنید. در نوع ترمینال:

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

"YourNetwork" نام شبکه wifi شما و "YourSSID" رمز شبکه است.

پس از افزودن شبکه سعی کنید Raspberry Pi را راه اندازی مجدد کنید.

در صورت دریافت پاسخ شبکه شما راه اندازی شده و کار می کند ، دستور 'ping 8.8.8.8' را وارد کنید تا بسته ای را به سرورهای Google ارسال کنید!

قسمت 3: برنامه های مورد نیاز را نصب کنید

برای راه اندازی این پروژه به برخی برنامه های اضافی نیاز داریم.

قبل از شروع ، این 2 دستور را اجرا کنید تا مطمئن شوید همه چیز به روز شده است.

به روز رسانی sudo apt

sudo apt ارتقا دهید

این ممکن است مدتی طول بکشد.

آپاچی

sudo apt install apache2 -y

sudo apt php libapache2-mod-php -y را نصب کنید

MariaDB

sudo apt install mariadb-server mariadb-client -y

sudo apt php -mysql -y را نصب کنید

PHPMyAdmin

sudo apt phpmyadmin -y را نصب کنید

پیپ پایتون

برای فعال کردن برخی از کتابخانه های پایتون ، باید pip را نصب کنیم

pip3 mysql-connector-python را نصب کنید

pip3 flask-socketio را نصب کنید

pip3 flask-cors را نصب کنید

pip3 gevent را نصب کنید

pip3 gevent-websocket را نصب کنید

مرحله 2: اتصال دستگاه های الکترونیکی

اتصال دستگاه های الکترونیکی
اتصال دستگاه های الکترونیکی
اتصال دستگاه های الکترونیکی
اتصال دستگاه های الکترونیکی

من 2 طرح اضافه کردم ، 1 یک طرح تخته نان برای اهداف آزمایش است. من توصیه می کنم اولین طرح را بسازید و سعی کنید کد کار کند.

فایلهای جالب را در زیر اضافه کرده ام.

مرحله 3: طراحی پایگاه داده

طراحی پایگاه داده
طراحی پایگاه داده

این طرح پایگاه داده ای است که من ساخته ام. کلمات به زبان هلندی هستند ، اما من هر جدول را با جزئیات توضیح خواهم داد.

جدول 1: tblMuziek

این یک جدول بسیار اساسی است این نام هنرمند ، نام آهنگ و نام فایل یک آهنگ را ذخیره می کند.

جدول 2: tblLedstrip

این جدول وضعیت فعلی نوار led را ذخیره می کند و وضعیت نوار led را ذخیره می کند. ما برای عملکرد چراغ هوشمند به این نیاز داریم.

جدول 3: tblSensoren

این جدول سنسورهای موجود در زنگ هشدار ما را نگه می دارد. ما نام سنسور و کانال MCP3008 را ذخیره می کنیم

جدول 4: tblMeting

این جدول ارزش سنسورهای ما را به همراه زمان آنها ذخیره می کند.

جدول 5: tblWekker

این جدول رمز و نام ساعت زنگ دار شما را ذخیره می کند (به عنوان مثال اتاق خواب) این جدول اجباری نیست اما من آن را اضافه کردم زیرا فرض می کنم که شما بیش از 1 ساعت زنگ دار در خانه خود دارید.

جدول 6: tblAlarm

این احتمالاً مهمترین جدول است. این برنامه زنگ هشدار تنظیم شده و ساعت را باید انجام دهد (کدام آهنگ را پخش کند ، کدام سکانس را رهبری کند ، در چه روزهایی باید خاموش شود ،…). پیگیری 2 خرما بسیار مهم است. 1 تاریخ برای ذخیره ساعت استفاده از زنگ هشدار استفاده می شود. مورد دیگر آخرین باری که زنگ ساعت به صدا در آمد را پیگیری می کند. برای اینکه بدانم چه روز هفته ای باید خاموش شود ، از یک varchar استفاده کردم که شامل 7 رقم است. اولین رقم دوشنبه است ، سه شنبه دوم ، … اگر 1 است ، باید خاموش شود ، اگر صفر است نباید باشد. مثال: 1111100 به این معنی است که این زنگ هشدار باید دوشنبه ، سه شنبه ، چهارشنبه ، پنجشنبه و جمعه خاموش شود.

مرحله 4: راه اندازی Arduino

این مرحله بسیار آسان است. در مرحله بعدی پیوندی به github من وجود دارد که می توانید فایل arduino را بارگیری کنید.

برنامه چه کار می کند؟

برنامه منتظر است تا داده های سریال از pi وارد شود.

به محض دریافت داده ها ، از طریق رشته تجزیه می شود و تأییدی را برای pi ارسال می کند.

این رشته چیزی شبیه به این خواهد بود: '1201' یعنی 12:01 است. من از صفحه نمایش آند 7 سگمنت معمولی استفاده کردم ، این بدان معناست که ارقام باید زیاد باشند و A ، B ، C ، D ، E ، F ، G و DP برای روشن شدن آنها باید کم باشد. اگر از کاتد معمولی استفاده می کنید ، فقط باید HIGH را به LOW و LOW را به HIGH تغییر دهید.

در اینجا پیوندی با اطلاعات بیشتر در مورد نحوه عملکرد نمایشگرهای 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) را به طور خودکار شروع می کند.

شما باید کد frontend را در فایل html سرور apache که قبلاً بارگیری کرده ایم قرار دهید. (/var/html)

برنامه چگونه کار می کند؟

هنگامی که ساعت زنگ دار روشن است به آدرس IP ساعت خود بروید (در LCD نمایش داده می شود)

به محض مراجعه به آدرس IP در مرورگر ، رایانه شما درخواست socket.io را به پشتیبان ارسال می کند و می گوید که مشتری متصل شده است. هنگامی که پشتیبان این را دریافت می کند چند موضوع شروع می شود که در زیر توضیح خواهم داد.

برپایی

این باعث می شود تمام اشیاء مورد نیاز را وارد کنید.

GetTemp

این کانال mcp3008 0 را می خواند و داده های دودویی را به دمای واقعی تبدیل می کند و با تاریخ و ساعت فعلی در پایگاه داده قرار می دهد.

GetTempGrafiek

این 20 مقدار گذشته سنسور دما را دریافت می کند و آن را به نمای جلو منتقل می کند.

tijd_sturen

این روش زمان فعلی را دریافت می کند و بررسی می کند که آیا دقیقه تغییر کرده است. اگر برنامه تغییر کرده است ، زمان جدید را با استفاده از ارتباط سریال به آردوینو ارسال می کند

checkAlarmen

این مهمترین روش است. تمام زنگ هشدارهای روشن شده را دریافت می کند و بررسی می کند که آیا هریک از این آلارم ها باید از الان تا 5 دقیقه قبل فعال شوند (این یک بافر است تا مطمئن شوید هر زنگ هشدار در مواقع لازم به صدا در می آید). اگر زنگ هشدار باید خاموش شود ، موسیقی را شروع می کنیم ، نوار چراغ ، … ما مقاومت حساس به نیرو را به طور مداوم می خوانیم و وقتی مقدار به زیر 1000 می رسد (fsr فشار داده می شود) زنگ را می چرخانیم و زنگ هشدار را در پایگاه داده ما تاریخ آخرین زنگ هشدار را به تاریخ فعلی تنظیم کردیم.

statusLight

این روش مقدار نوار led را ساطع می کند و در صورت نیاز نوار led را روشن می کند.

lichtAanpassen

این یک روش اضافی است تا مطمئن شوید نوار LED و چراغ هشدار با هم تضاد ندارند.

مرحله 6: مورد

مورد
مورد
مورد
مورد
مورد
مورد

پیوند فایل های من را می توانید در اینجا پیدا کنید:

من از چاپگر سه بعدی برای چاپ محفظه استفاده کردم. در 4 قسمت مختلف چاپ شده است:

  1. صفحه جلویی دارای سوراخ هایی برای بلندگو و برخی دیوارها برای صفحه نمایش 7 سگمنت است
  2. حلقه بیرونی برای نوار led در PETG شفاف.
  3. قسمت میانی
  4. صفحه پشتی دارای یک سوراخ برای LCD و یک سوراخ برای کابل ها است.

در مدل اصلی هیچ حفره ای برای صفحه نمایش 7 سگمنت وجود نداشت اما این مورد نیاز است زیرا در غیر این صورت نور صفحه 7 سگمنت از بین نمی رود.

همانطور که می بینید بعد از قرار دادن همه اجزا در من ، از برچسب های وینیل با ظاهر چوبی استفاده کردم تا نتیجه نهایی بهتر به نظر برسد. صفحه ساعت از طریق برچسب می درخشد که جلوه ای بسیار زیبا ایجاد می کند.

توصیه شده: