جدول المحتويات:

ضوء ذكي منبه معاد تدويره: 8 خطوات (مع صور)
ضوء ذكي منبه معاد تدويره: 8 خطوات (مع صور)

فيديو: ضوء ذكي منبه معاد تدويره: 8 خطوات (مع صور)

فيديو: ضوء ذكي منبه معاد تدويره: 8 خطوات (مع صور)
فيديو: اغرب واحدة شكلها تغير بدون ميكب 2024, شهر نوفمبر
Anonim
المنبه المعاد تدويره الضوء الذكي
المنبه المعاد تدويره الضوء الذكي
المنبه المعاد تدويره الضوء الذكي
المنبه المعاد تدويره الضوء الذكي
المنبه المعاد تدويره الضوء الذكي
المنبه المعاد تدويره الضوء الذكي

في هذا المشروع ، أقوم بإعادة استخدام ساعة منبه معطلة تمامًا. يتم استبدال وجه الساعة بـ 12 مصباح LED مضاء بشريط LED حول حافة الساعة. تخبر المصابيح الـ 12 بالوقت ويتم برمجة شريط LED ليكون بمثابة إنذار ، ويتحول إلى سطوع كامل في الوقت المحدد. يتم التحكم في كل شيء بواسطة Raspberry Pi Zero مما يسمح بإمكانيات تكامل وتوسع لا حصر لها مثل المزامنة التلقائية لإنذار الضوء مع إنذار هاتفك أو وميض مصابيح LED عند تلقي بريد إلكتروني.

يستخدم المشروع مكونات رخيصة نسبيًا أو معاد استخدامها - الشيء الوحيد الذي انتهيت من شرائه هو منظم الجهد. كل شيء آخر حدث لي حوله مثل قطع شريط LED. سيرشدك هذا Instructable إلى كيفية منح حياة جديدة لساعتي المكسورة ، ونأمل أن تلهمك لإعادة تدوير شيء خاص بك.

الخطوة 1: الأجزاء

القطع
القطع
القطع
القطع
القطع
القطع

للتحكم في كل شيء ، سنستخدم Raspberry Pi Zero لأنه صغير ، ويكلف القليل جدًا ويمكن توصيله بشبكة WiFi مما يعني أننا لسنا بحاجة إلى ساعة في الوقت الفعلي ، وبالتالي يمكننا بسهولة تحديث الرمز عن بُعد من جهاز كمبيوتر محمول. ما لم يكن لديك Pi Zero W ، فسنقوم بالاتصال بشبكة WiFi باستخدام دونجل USB WiFi.

فيما يلي قائمة بالأجزاء التي استخدمتها ولكن يمكن استبدال معظم الأشياء ببدائل مناسبة. على سبيل المثال ، بدلاً من Raspberry Pi ، يمكنك استخدام Arduino مع ساعة في الوقت الفعلي للتحكم في المشروع.

الأجزاء المستخدمة

  • منبه قديم
  • 30 سم من شريط LED أبيض دافئ
  • عدد 1 بطاقة Raspberry Pi Zero + micro SD
  • 1x USB WiFi dongle + micro USB to USB Converter
  • 12x المصابيح
  • مقاومات 12 × 330 أوم (استخدم أعلى إذا كنت تريد مصابيح LED باهتة)
  • 1x TIP31a (أو ترانزستور طاقة npn أو MOSFET)
  • 1x 1 كيلو المقاوم
  • 1x LM2596 DC-DC محول باك قابل للتعديل (خطوات لأسفل 12 فولت لـ 5 فولت لـ Raspberry Pi)
  • مصدر طاقة 1 × 12 فولت (+ طريقة الدخول إلى مشروعك)
  • 10 سم × 10 سم من الخشب لوجه الساعة (يجب أن تكون رقيقة بشكل مناسب لتركيب مصابيح LED الخاصة بك)
  • قطع مختلفة من سلك ملون مختلف

أشياء مفيدة لديك

  • لحام الحديد + جندى
  • الغراء الساخن
  • المقياس المتعدد
  • اللوح
  • دبابيس رأس أنثى
  • قارئ أو محول بطاقة Micro SD
  • كمبيوتر
  • محول HDMI صغير + شاشة HDMI إذا كنت تريد استخدام بيئة سطح المكتب في Pi

الخطوة 2: إعداد Raspberry Pi

إعداد Raspberry Pi
إعداد Raspberry Pi
إعداد Raspberry Pi
إعداد Raspberry Pi

نظام التشغيل

نظرًا لأن Raspberry Pi لن يكون متصلاً بشاشة ، فقد اخترت استخدام Raspbian Buster Lite الذي لا يأتي مع بيئة سطح المكتب. إذا كنت أحدث إصدارًا من Raspberry Pi ، فقد ترغب في التمسك بـ Raspbian Buster القياسي الذي يأتي مع سطح مكتب. إذا لم تكن متأكدًا من كيفية تثبيت نظام التشغيل الخاص بك ، فهذا مورد رائع. يمكن تنزيل كلا نظامي التشغيل من موقع Raspberry Pi على الويب.

في الوقت الحالي ، قم بتشغيل Pi عبر مدخل طاقة Micro USB. قم أيضًا بتوصيل دونجل USB WiFi.

التحدث إلى Raspberry Pi

بمجرد تجميع كل شيء ، يصبح من الصعب جدًا الوصول إلى Pi إذا كنت تريد تغيير الرمز وما إلى ذلك. يتيح استخدام SSH استخدام الاتصال بـ Pi والتحكم فيه من كمبيوتر آخر. لا يتم تشغيل هذا افتراضيًا ولكن يمكننا القيام بذلك ببساطة عن طريق إنشاء مجلد يسمى ssh في قسم التمهيد لبطاقة SD الخاصة بك. إذا قمت بالفعل بتسجيل الدخول إلى Pi الخاص بك ، فيمكنك أيضًا القيام بذلك عن طريق كتابة sudo raspi-config في Terminal والانتقال إلى Interfacing Options> SSH واختيار Yes لتمكينه.

يمكنك الآن الاتصال بـ Pi على جهاز كمبيوتر آخر. في نظام التشغيل Mac أو Linux ، يمكنك استخدام التطبيق الطرفي الخاص بك ولكن في معظم إصدارات Windows ، سيتعين عليك تثبيت عميل SSH مثل PuTTY. اتصل بـ Pi عن طريق كتابة ssh pi @ حيث يتم استبدال اسم المضيف باسم مضيف عنوان IP الخاص بـ Pi. اسم المضيف الافتراضي هو raspberrypi.local. سيطلب منك كلمة مرور ، إذا لم تكن قد قمت بتغييرها بعد ، فهي توت العليق.

تركيب الاشياء المطلوبة

تأكد أولاً من تحديث كل شيء عن طريق تشغيل sudo apt update ثم sudo apt full-Upgrade.

للتأكد مما نحتاجه للتحكم في دبابيس GPIO على نوع Pi sudo apt-get install python-rpi.gpio و sudo apt-get install python3-rpi.gpio. يجب أن تكون هذه مثبتة بالفعل على النسخة الكاملة من Raspbian.

الرمز

إليك الكود المطلوب تنزيله لتشغيله بالكامل. إذا كنت تستخدم بيئة سطح مكتب ، فقم بلصقها في مجلد المستندات.

إذا كنت تستخدم سطر أوامر SSH ، فانتقل إلى المجلد الرئيسي عن طريق كتابة cd ~ / Documents والضغط على enter. قم بإنشاء ملف جديد يسمى test1.py باستخدام nano test1.py. سيؤدي هذا إلى فتح محرر نصوص nano حيث يمكنك لصق رمز ملف test1.py الذي تم تنزيله. CTRL-O واضغط على Enter لحفظ الملف و CTRL-X لإنهاء المحرر. كرر العملية للملفات المتبقية.

الخطوة 3: تثبيت شريط LED

تركيب شريط LED
تركيب شريط LED
تركيب شريط LED
تركيب شريط LED

قم أولاً بفتح شريط LED في الساعة لترى المقدار الذي ستحتاج إليه ، وحدد هذا الطول وقم بقص الشريط عند نقطة القطع التالية كما هو موضح. من الأسهل بكثير لحام الأسلاك بالشريط قبل أن يعلق الشريط في مكانه. هذا دليل جيد جدًا حول كيفية القيام بذلك ، ولكن إذا لم تكن متأكدًا ، فسأقوم فقط بالتدرب على اللحام الذي ينضم إلى القطعة التي قطعت الشريط منها للتو. قم بتوصيل سلك واحد بنقطة اللحام الموجبة وسلك واحد بالسالب. تأكد من اختبار شريط LED الخاص بك قبل أن تضعه في ساعتك.

منذ أن تم استخدام شريط LED الذي استخدمته قبل أن يفقد دعمه اللاصق الذاتي ، لذلك اضطررت إلى استخدام الغراء الساخن لإصلاح الشريط حول حافة حافة الساعة. إذا كان لديك طول زائد ، فقم بتغطية النقطة التي يتم فيها توصيل الأسلاك. قد ترغب في تثبيت الشريط لاحقًا ولكني وجدت أنه من الأسهل وضعه بعيدًا في الساعة.

الخطوة 4: التحكم في شريط LED

التحكم في شريط LED
التحكم في شريط LED

توصيل شريط LED

يعمل شريط LED على 12 فولت لذا لا يمكن تشغيله من Pi مباشرة. من أجل التحكم فيها ، سنستخدم ترانزستور طاقة (مثل TIP31a) متصل بـ Pi كما هو موضح أعلاه. أوصي أولاً بالتحقق من كل هذا يعمل على لوح التجارب.

  • قم بتوصيل GPIO 19 بالقاعدة من خلال المقاوم 1k
  • يجب توصيل الباعث بـ GND
  • قم بتوصيل المجمع بالطرف السالب لشريط LED
  • قم بتوصيل طرف شريط LED الموجب بـ + 12V

اختبارات

في سطر الأوامر ، قم بالضغط على مجلد المستندات (cd ~ / Documents) واكتب python test1.py وأدخل. يجب أن ترى شريط LED يزداد وينخفض في السطوع. لإنهاء البرنامج اضغط CTRL-C. يمكنك تحرير ملف (nano test1.py) لتغيير السرعة والسطوع في البرنامج.

استيراد RPi. GPIO كوقت استيراد GPIO.setmode (GPIO. BCM) # استخدم BCM pinout GPIO.set warnings (False) # تجاهل التحذيرات حول استخدام المسامير لأشياء أخرى ledStripPin = 19 # يتم تشغيل شريط LED من هذا الدبوس GPIO.setup (ledStripPin، GPIO. OUT) # اضبط ledStripPin كإخراج pwm = GPIO. PWM (ledStripPin ، 100) # PWM على ledStripPin مع تردد 100 هرتز dutyCycle = 0 # السطوع الأولي كنسبة مئوية pwm.start (دورة العمل) حاول: بينما True: لـ دورة العمل في النطاق (0 ، 101 ، 1): # Fade up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0.05) للتيار المستمر في النطاق (95 ، -1 ، -1): # Fade down pwm..sleep (0.05) باستثناء KeyboardInterrupt: # اضغط CTRL-C للإنهاء ، ثم: pwm.stop () # Stop the pwm GPIO.cleanup () # تنظيف دبابيس GPIO

الخطوة 5: جعل وجه الساعة

صنع وجه الساعة
صنع وجه الساعة
صنع وجه الساعة
صنع وجه الساعة
صنع وجه الساعة
صنع وجه الساعة

قم بقص قطعة الخشب لتتناسب مع حجم ساعتك بحيث تناسب حجم ساعتك. لقد جعلت المنجم يرتاح على بعد حوالي 3 سم من الأمام. حفر 12 حفرة بقطر المصابيح الخاصة بك (عادة 3 مم أو 5 مم) متباعدة 30 درجة عن بعضها البعض. صنفر الوجه الأمامي لأسفل وقم بوضع اللمسة النهائية التي تختارها. من الجانب الخلفي ضع مصابيح LED بحيث تشير إلى الأمام. لقد استخدمت الغراء الساخن لإبقاء مصابيح LED في مكانها مع مواجهة الطرف الموجب (سلك أطول) للداخل. كان حجم وجه الساعة الخاص بي يعني أنه يمكنني لحام جميع الأطراف السالبة معًا (انظر أعلاه) ، لذلك كانت هناك حاجة لسلك واحد فقط لتوصيل جميع المصابيح الـ 12 بـ GND. بعد ذلك ، قم بتوصيل سلك لكل مؤشر LED.

إذا كنت ترغب في اختبار ذلك على لوح التجارب ، فتذكر أولاً استخدام المقاوم (330 أوم قياسي جدًا) في سلسلة مع كل مؤشر LED قبل توصيله بأحد دبابيس Pi GPIO. تلاعب بقيمة المقاوم الذي تستخدمه للحصول على مستوى سطوع يرضيك. يعد t-cobbler مفيدًا حقًا في كسر دبابيس Pi على لوح التجارب على الرغم من أنك ستحتاج إلى لحام دبابيس الرأس لهذا الغرض. استخدم test2.py (تشغيل باستخدام python test2.py) ولكن تأكد من تحرير البرنامج أولاً وإدخال دبابيس GPIO الخاصة بـ Pi التي استخدمتها لكل مؤشر LED.

استيراد RPi. GPIO كـ GPIO

وقت الاستيراد GPIO.setmode (GPIO. BCM) # استخدم BCM pinout GPIO.setwarnings (False) # تجاهل التحذيرات حول استخدام الدبابيس لأشياء أخرى # استبدل واحد ، اثنان ، … برقم الدبوس المقابل hourPin = [واحد ، اثنان ، ثلاثة ، أربعة ، خمسة ، ستة ، سبعة ، ثمانية ، تسعة ، عشرة ، أحد عشر ، اثنا عشر] # المسامير المتصلة بمصابيح LED من 1 إلى 12 لأني في النطاق (0 ، 12): GPIO.setup (hourPin ، GPIO. OUT) # اضبط كل دبابيس الساعة كمخرجات GPIO.output (hourPin ، 0) # تأكد من إيقاف تشغيل جميع مؤشرات LED ، جرب: بينما True: لـ i في النطاق (0 ، 12) GPIO.output (hourPin ، 1): time.sleep (0.05) لـ i في النطاق (0 ، 12) GPIO.output (hourPin ، 0): time.sleep (0.05) باستثناء KeyboardInterrupt: # اضغط CTRL-C للإنهاء ، و ثم: GPIO.cleanup () # نظف دبابيس GPIO

الخطوة 6: تشغيل Pi

تشغيل Pi
تشغيل Pi

نحتاج إلى طريقة سهلة لتوصيل 5 فولت إلى Pi Zero حتى نتمكن من التخلص من كابل micro USB الذي كنا نستخدمه لتشغيله حتى الآن. هناك عدد من الحلول التي تنخفض من 12 فولت إلى 5 فولت مثل منظم الجهد الخطي LM7805 ولكن هذه ليست فعالة للغاية ، لذا اخترت بدلاً من ذلك استخدام محول باك القابل للتعديل الأكثر كفاءة باستخدام شريحة LM2596. ملحوظة مع هذا سوف تضطر إلى تحريف مقياس الجهد حتى يتم تقليل جهد الخرج إلى 5 فولت كما هو مطلوب ، لذا ستحتاج إلى طريقة ما لقياس الجهد.

يعد استخدام LM2596 أمرًا بسيطًا: قم بتوصيل + 12V بـ IN + ، والأرضي بـ IN-. يمكن توصيل Pi مباشرة بـ 5V عن طريق توصيل OUT + بأحد دبابيس Pi 5V ولكن تأكد من أنك قمت بتغيير جهد الخرج إلى 5V قبل القيام بذلك أو ستقلي Pi!

الخطوة 7: أكمل الدائرة والتغليف

أكمل الدائرة والتغليف
أكمل الدائرة والتغليف
أكمل الدائرة والتغليف
أكمل الدائرة والتغليف
أكمل الدائرة والتغليف
أكمل الدائرة والتغليف
أكمل الدائرة والتغليف
أكمل الدائرة والتغليف

لقد غطينا الآن جميع العناصر الثلاثة للدائرة والتي تظهر معًا في الدائرة الكلية أعلاه. لتوفير مساحة وجعل الدائرة أكثر إتقانًا ، ضع دائرتك على لوحة الشريط أو لوحة النموذج الأولي. قم أولاً بلحام أصغر المكونات ، والمقاومات ، ثم ترانزستور الطاقة ، وأي موصلات ، وأخيراً الأسلاك. قم بتخطيط دائرتك قبل اللحام للتأكد من أن لديك مساحة لكل شيء.

لقد قمت بتوصيل كل شيء على نموذج أولي ثنائي الفينيل متعدد الكلور واستخدمت دبابيس رأس أنثى حتى يمكن تثبيت Pi مباشرة على ثنائي الفينيل متعدد الكلور. يتم توصيل مصابيح LED الموجودة على وجه الساعة من خلال مقاومات على جانب واحد من اللوحة وقد احتفظت بمساحة على الجانب الآخر من اللوحة لترانزستور الطاقة وخالية من أي دوائر أخرى قد أرغب في إضافتها لاحقًا.

اربط وجه الساعة بالساعة وتأكد من أن جميع الأجهزة الإلكترونية مناسبة تمامًا. كان كل شيء مناسبًا تمامًا بالنسبة لي ، لذا قد تحتاج إلى إجراء بعض إعادة الترتيب. قم بتوصيل مصدر الطاقة وتشغيل test1.py و test2.py من SSH للتحقق من أن كل شيء يعمل قبل توصيل الجزء الخلفي.

الخطوة 8: قم بتحميل الكود + إنهاء

قم بتحميل الكود + إنهاء
قم بتحميل الكود + إنهاء
قم بتحميل الكود + إنهاء
قم بتحميل الكود + إنهاء
قم بتحميل الكود + إنهاء
قم بتحميل الكود + إنهاء

الرمز

أخيرًا ، إذا لم تكن قد قمت بذلك بالفعل ، فقم بتحميل الكود وقم بتكييفه كما تريد (باستخدام nano filename.py). تتمثل فائدة الاتصال بـ Pi عبر SSH في أنه يمكنك تحديث الكود دون فتح الساعة.

تقوم برامج Python هذه من الخطوة 2 بما يلي:

  • light_clock_simple.py يعرض ببساطة الساعة على مصابيح LED ويتلاشى لأعلى وأسفل شريط LED في أوقات معينة
  • light_clock_pwm.py هو نفسه كما هو مذكور أعلاه ولكنه يسمح أيضًا بتقليل سطوع مصابيح LED ويعرض الدقائق بسطوع مختلف عن الساعات. ستحتاج إلى التلاعب بمستويات السطوع لكليهما حتى يكون التباين بين الاثنين ملحوظًا

يجب أن توفر هذه أساسًا قويًا للإضافة إلى الشفرة ، على سبيل المثال قد ترغب في إضافة زر لتأجيل المنبه الضوئي.

لبدء تشغيل البرنامج عند تشغيل Pi ، نحتاج إلى إضافة "reboot nohup python light_clock_pwm.py &" إلى نهاية ملف crontab الذي يمكن فتحه من الجهاز الطرفي باستخدام crontab -e. أعد تشغيل Raspberry Pi للتحقق من أنه يعمل مع sudo shutdown -r الآن.

الإضافات المحتملة

فيما يلي بعض الأفكار حول الوظائف الإضافية التي يمكن إضافتها

  • إضافة زر غفوة
  • إضافة وضع المصباح
  • الاتصال بـ IFTTT (على سبيل المثال ، يمكن أن يضيء الضوء عندما ينطفئ تنبيه الهاتف / يومض عند استلام البريد الإلكتروني)
  • إضافة القدرة على اللمس ، أي تحويل الساعة إلى مصباح يعمل باللمس

قد تلاحظ عند استخدام PWM أنه في بعض الأحيان ، خاصة مع انخفاض السطوع ، يومض LED قليلاً. هذا لأن Pi يستخدم برنامج PWM لذلك يمكن أن تؤثر عمليات وحدة المعالجة المركزية على دورة العمل. يساعد وجود عدد أقل من العمليات في هذا الأمر ، لذا فقد استخدمت نظام التشغيل المقلص Raspbian Lite. يتوفر أيضًا PWM للأجهزة على عدد قليل من المسامير ، لذا إذا كان الوميض يثبت وجود مشكلة ، فقد يكون هذا شيئًا يجب النظر فيه.

آمل أن تكون قد وجدت هذه المعلومات Instructable وأن تشعر بالإلهام لإعادة تدوير ساعة منبه قديمة أو استخدام عناصر من الكود لمشروعك الخاص.

تحدي سرعة شريط LED
تحدي سرعة شريط LED
تحدي سرعة شريط LED
تحدي سرعة شريط LED

الجائزة الثانية في تحدي سرعة شريط LED

موصى به: