فهرست مطالب:
- مرحله 1: قطعات
- مرحله 2: راه اندازی رزبری پای
- مرحله 3: نصب نوار LED
- مرحله 4: کنترل نوار LED
- مرحله 5: ساختن صورت ساعت
- مرحله 6: تغذیه Pi
- مرحله 7: مدار و بسته بندی را تکمیل کنید
- مرحله 8: بارگذاری کد + پایان
تصویری: ساعت هوشمند ساعت زنگ دار Upcycled: 8 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
در این پروژه من یک ساعت زنگ دار کاملاً خراب را به صورت کامل سوار می کنم. صفحه ساعت با 12 LED جایگزین شده است که توسط یک نوار LED در اطراف لبه ساعت روشن شده است. 12 LED زمان را نشان می دهد و نوار LED طوری برنامه ریزی شده است که به عنوان زنگ خطر عمل کند و در زمان تنظیم شده به روشنایی کامل برسد. همه چیز توسط Raspberry Pi Zero کنترل می شود که امکان ادغام و توسعه بی شمار را فراهم می کند مانند همگام سازی خودکار زنگ چراغ با زنگ تلفن شما یا چشمک زدن LED ها هنگام دریافت ایمیل.
این پروژه از قطعات نسبتاً ارزان یا استفاده مجدد استفاده می کند - تنها چیزی که در نهایت خریداری کردم تنظیم کننده ولتاژ بود. بقیه مواردی که اتفاق افتاده بود مانند برش نوار LED. این دستورالعمل شما را راهنمایی می کند که چگونه به ساعت شکسته ام زندگی جدیدی دادم و امیدوارم که بتواند شما را تشویق کند تا چیزی از خودتان را بازیافت کنید.
مرحله 1: قطعات
برای کنترل همه چیز ما از Raspberry Pi Zero به عنوان کوچک استفاده می کنیم ، هزینه بسیار کمی دارد و می توان به WiFi متصل شد ، این بدان معناست که ما به ساعت واقعی نیاز نداریم و بنابراین می توانیم به راحتی کد را از راه دور از طریق لپ تاپ به روز کنیم. مگر اینکه Pi Zero W داشته باشید ، ما با استفاده از دانگل USB WiFi به شبکه WiFi متصل می شویم.
در اینجا لیستی از قطعاتی که استفاده کردم وجود دارد ، اما اکثر موارد را می توان با جایگزین های مناسب جایگزین کرد. به عنوان مثال به جای رزبری پای می توانید از آردوینو با ساعت واقعی برای کنترل پروژه استفاده کنید.
قطعات مورد استفاده
- یک ساعت زنگ دار قدیمی
- 30 سانتی متر نوار LED سفید گرم
- 1 برابر Raspberry Pi Zero + micro SD card
- 1x دانگل USB WiFi + مبدل میکرو USB به USB
- 12 برابر LED
- مقاومتهای 12x 330 اهم (در صورت تمایل به LED های کم نورتر از بالاتر استفاده کنید)
- 1x TIP31a (یا ترانزیستور قدرت دیگر npn یا MOSFET)
- مقاومت 1x 1k
- 1x LM2596 DC-DC مبدل باک قابل تنظیم (12 ولت برای 5 ولت برای رزبری پای)
- منبع تغذیه 1x 12v (+ راه ورود به پروژه)
- 10 سانتی متر در 10 سانتی متر چوب برای صفحه ساعت (برای نصب LED های شما باید باریک باشد)
- قطعات مختلف سیم رنگ مختلف
داشتن چیزهای مفید
- لحیم کاری + لحیم کاری
- چسب گرم
- مولتی متر
- تخته نان
- پین هدر زنانه
- کارت خوان یا مبدل Micro SD
- یک کامپیوتر
- اگر می خواهید از محیط دسکتاپ Pi استفاده کنید ، مینی آداپتور HDMI + صفحه HDMI
مرحله 2: راه اندازی رزبری پای
سیستم عامل
از آنجا که Raspberry Pi به صفحه ای متصل نمی شود ، من استفاده از Raspbian Buster Lite را انتخاب کردم که دارای محیط دسکتاپ نیست. اگر با Raspberry Pi جدیدتر هستید ، ممکن است بخواهید از Raspbian Buster استاندارد استفاده کنید که همراه با یک دسکتاپ ارائه می شود. اگر از نحوه نصب سیستم عامل خود مطمئن نیستید ، این یک منبع عالی است. هر دو سیستم عامل را می توان از وب سایت Raspberry Pi بارگیری کرد.
در حال حاضر ، Pi را از طریق ورودی میکرو USB تغذیه کنید. همچنین دانگل USB WiFi را وصل کنید.
صحبت با رزبری پای
هنگامی که همه چیز بسته بندی شد ، دسترسی به Pi بسیار دشوار است اگر می خواهید کد را تغییر دهید و غیره. با استفاده از SSH می توانید از Pi به هم متصل شوید و آن را از رایانه دیگری کنترل کنید. این به طور پیش فرض روشن نیست ، اما ما می توانیم به سادگی یک پوشه به نام ssh در پارتیشن بوت کارت SD خود بسازیم. اگر قبلاً به Pi خود وارد شده اید ، می توانید این کار را با تایپ sudo raspi-config در ترمینال و رفتن به گزینه های Interfacing> SSH و انتخاب Yes برای فعال کردن آن انجام دهید.
اکنون می توانید از طریق رایانه دیگری به Pi خود متصل شوید. در مک یا لینوکس می توانید از برنامه پایانه خود استفاده کنید اما در اکثر نسخه های ویندوز باید یک سرویس گیرنده SSH مانند PuTTY را نصب کنید. با تایپ ssh pi@ در جایی که نام میزبان با نام میزبان آدرس IP Pi شما جایگزین می شود ، به Pi متصل شوید. نام میزبان پیش فرض raspberrypi.local است. این رمز عبور از شما می خواهد که اگر هنوز آن را تغییر نداده اید تمشک است.
نصب وسایل مورد نیاز
ابتدا از اجرای sudo apt update و سپس sudo apt full-up مطمئن شوید که همه چیز به روز است.
برای اطمینان از آنچه برای کنترل پین های GPIO در Pi از نوع sudo apt-get install python-rpi.gpio و sudo apt-get install python3-rpi.gpio نیاز داریم. اینها باید قبلاً روی نسخه کامل Raspbian نصب شوند.
کد
در اینجا کد بارگیری را مشاهده می کنید تا همه کار کند. اگر از محیط دسکتاپ استفاده می کنید ، آنها را در پوشه Documents خود بچسبانید.
اگر از خط فرمان SSH استفاده می کنید ، با تایپ کردن cd ~/Documents و فشار دادن enter به پوشه اصلی خود بروید. با nano test1.py یک فایل جدید به نام test1.py ایجاد کنید. با این کار ویرایشگر متن نانو باز می شود که می توانید کد فایل test1.py بارگیری شده را در آن بچسبانید. CTRL-O را فشار دهید و Enter را فشار دهید تا فایل ذخیره شود و CTRL-X برای خروج از ویرایشگر. مراحل را برای فایلهای باقی مانده تکرار کنید.
مرحله 3: نصب نوار LED
ابتدا نوار LED را در ساعت بکشید تا ببینید چقدر به آن نیاز دارید ، این طول را علامت زده و نوار را در نقطه برش بعدی مطابق شکل برش دهید. لحیم کاری سیم ها به نوار قبل از اینکه نوار در محل خود گیر کند بسیار آسان تر است. این یک راهنمای بسیار خوب در مورد چگونگی انجام این کار است ، اما اگر مطمئن نیستید من فقط روی قطعه ای که نوار خود را از آن جدا کرده اید روی لحیم کاری تمرین می کنم. یک سیم را به نقطه لحیم مثبت و یک سیم را به نقطه لحیم لحیم کنید. قبل از چسباندن نوار LED به ساعت ، مطمئن شوید که نوار LED خود را آزمایش کرده اید.
از آنجا که نوار LED مورد استفاده من قبل از اینکه پشت چسب خود را از دست بدهد استفاده شده بود ، بنابراین مجبور شدم از چسب حرارتی برای رفع نوار دور لبه ساعت استفاده کنم. اگر طول اضافی دارید ، نقطه اتصال سیم ها را بپوشانید. ممکن است بخواهید نوار را بعداً نصب کنید ، اما من راحت تر آن را در ساعت جمع کردم.
مرحله 4: کنترل نوار 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 به عنوان GPIOimport زمان GPIO.setmode (GPIO. BCM) # استفاده از پین Pin BCM GPIO.setwarnings (غلط) # نادیده گرفتن هشدارها در مورد پین هایی که برای سایر موارد استفاده می شود ledStripPin = 19 # نوار LED از این پین GPIO.setup رانده می شود (ledStripPin، GPIO. OUT) # ledStripPin را به عنوان خروجی pwm = GPIO. PWM (ledStripPin، 100) # PWM در ledStripPin با فرکانس 100Hz dutyCycle = 0 # روشنایی اولیه به عنوان درصد pwm.start (dutyCycle) تنظیم کنید: dutyCycle in range (0، 101، 1): # pwm fade up. ChangeDutyCycle (dutyCycle) time.leep (0.05) for dc in range (95، -1، -1): # pwm fade down. ChangeDutyCycle (dc) time خواب
مرحله 5: ساختن صورت ساعت
تکه چوب ساعت خود را تا اندازه برش دهید تا در ساعت شما جا بیفتد. من خودم را مجبور کردم در فاصله 3 سانتی متری جلو استراحت کنم. 12 سوراخ به قطر LED های خود (معمولاً 3 میلی متر یا 5 میلی متر) با فاصله 30 درجه از یکدیگر ایجاد کنید. قسمت جلویی را رو به پایین بکشید و روی دلخواه خود را به پایان برسانید. LED ها را از سمت عقب قرار دهید تا به سمت جلو حرکت کنند. من از چسب حرارتی برای ثابت نگه داشتن LED ها با ترمینال مثبت (سیم بلندتر) رو به داخل استفاده کردم. اندازه صفحه ساعت به این معنی بود که می توانم تمام پایانه های منفی را با هم لحیم کنم (به بالا مراجعه کنید) بنابراین فقط یک سیم برای اتصال همه 12 LED به GND نیاز بود. بعد ، یک سیم به هر LED لحیم کنید.
اگر می خواهید این را روی یک تخته نان آزمایش کنید ، ابتدا به یاد داشته باشید که قبل از اتصال آن به یکی از پایه های GPIO Pi ، از مقاومت (330 اهم) تقریباً استاندارد استفاده کنید. با مقدار مقاومت مورد استفاده برای رسیدن به سطح روشنایی که از آن راضی هستید استفاده کنید. کراوات t واقعاً برای شکستن سنجاق های Pi به یک تخته نان مفید است ، اگرچه برای این کار باید پین هدر را لحیم کنید. از test2.py استفاده کنید (با استفاده از python test2.py اجرا کنید) اما مطمئن شوید که ابتدا برنامه را ویرایش کرده و پین های GPIO Pi را که برای هر LED استفاده کرده اید وارد کنید.
RPi. GPIO را به عنوان GPIO وارد کنید
زمان وارد کردن GPIO.setmode (GPIO. BCM) # استفاده از Pinout GPM GPIO.setwarnings (False) # نادیده گرفتن هشدارها در مورد پین هایی که برای موارد دیگر استفاده می شوند # جایگزین یک ، دو ،… با شماره پین مربوطه hourPin = [یک ، دو ، سه ، چهار ، پنج ، شش ، هفت ، هشت ، نه ، ده ، یازده ، دوازده] # پین هایی که LED ها از 1 تا 12 برای i در محدوده (0 ، 12) به آن متصل هستند: GPIO.setup (hourPin ، GPIO. OUT) # همه ساعت پین ها را به عنوان خروجی تنظیم کنید GPIO.output (hourPin ، 0) # مطمئن شوید همه LED ها خاموش هستند سعی کنید: while True: برای i در محدوده (0 ، 12) GPIO.output (hourPin 1 سپس: GPIO.cleanup () # پین های GPIO را پاک کنید
مرحله 6: تغذیه Pi
ما به راهی آسان برای رساندن 5 ولت به Pi Zero نیاز داریم تا بتوانیم از شر کابل میکرو USB که تا کنون برای تغذیه آن استفاده می کردیم خلاص شویم. تعدادی راه حل وجود دارد که از 12 ولت به 5 ولت پایین می آیند مانند تنظیم کننده ولتاژ خطی LM7805 ، اما اینها بسیار کارآمد نیستند ، بنابراین در عوض من ترجیح دادم از مبدل باک قابل تنظیم کارآمدتر با استفاده از تراشه LM2596 استفاده کنم. با توجه به این ، شما باید پتانسیومتر را بچرخانید تا زمانی که ولتاژ خروجی به میزان 5 ولت کاهش می یابد ، بنابراین به روش اندازه گیری ولتاژ نیاز دارید.
استفاده از LM2596 ساده است: +12V را به IN +، زمین را به IN- وصل کنید. Pi را می توان با اتصال OUT+ به یکی از پین های 5V Pi مستقیماً به 5V متصل کرد ، اما مطمئن شوید قبل از انجام این کار ولتاژ خروجی را به 5V تغییر داده اید وگرنه Pi خود را سرخ می کنید!
مرحله 7: مدار و بسته بندی را تکمیل کنید
ما اکنون هر سه عنصر مدار را که در مدار کلی بالا با هم نشان داده شده است ، پوشش داده ایم. برای صرفه جویی در فضا و مرتب تر کردن مدار ، مدار خود را روی تخته نوار یا نمونه اولیه قرار دهید. ابتدا کوچکترین قطعات ، مقاومتها ، سپس ترانزیستور قدرت ، هر کانکتور و در نهایت سیمها را لحیم کنید. قبل از لحیم کاری مدار خود را برنامه ریزی کنید تا مطمئن شوید برای همه چیز فضا دارید.
همه چیز را روی نمونه اولیه PCB وصل کردم و از پین های هدر زن استفاده کردم تا Pi بتواند مستقیماً روی PCB نصب شود. LED های صفحه ساعت از طریق مقاومتهای یک طرف برد متصل می شوند و من در طرف دیگر برد برای ترانزیستور قدرت فضا را نگه داشته ام و برای مدارهای دیگری که بعداً می خواهم اضافه کنم ، آزاد است.
صفحه ساعت را به ساعت وصل کنید و مطمئن شوید که وسایل الکترونیکی همه جا مناسب است. همه چیز برای من کاملاً مناسب بود ، بنابراین ممکن است لازم باشد دوباره تنظیم کنید. منبع تغذیه را وصل کرده و test1.py و test2.py را از SSH اجرا کنید تا قبل از اتصال پشت ، همه چیز کار کند.
مرحله 8: بارگذاری کد + پایان
کد
در نهایت اگر قبلاً این کار را نکرده اید ، کد را بارگذاری کرده و آن را مطابق میل خود (با استفاده از nano filename.py) تنظیم کنید. مزیت اتصال به Pi از طریق SSH این است که می توانید کد را بدون باز کردن ساعت به روز کنید.
این برنامه های پایتون از مرحله 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 استفاده می کند بنابراین فرآیندهای CPU می تواند بر چرخه وظیفه تأثیر بگذارد. داشتن پردازش های کمتری در این زمینه کمک می کند ، بنابراین از سیستم عامل pared down Raspbian Lite استفاده کردم. PWM سخت افزاری نیز در چند پین موجود است ، بنابراین اگر سوسو زدن مشکلی را ثابت کند ، ممکن است مورد توجه قرار گیرد.
امیدوارم این دستورالعمل آموزنده را پیدا کرده باشید و یا الهام گرفته اید که یک ساعت زنگ دار قدیمی را نصب کنید یا از عناصر کد برای پروژه خود استفاده کنید.
جایزه دوم در چالش سرعت نوار LED
توصیه شده:
ساعت زنگ دار هوشمند: یک ساعت زنگ دار هوشمند ساخته شده با تمشک پای: 10 مرحله (همراه با تصاویر)
ساعت زنگ دار هوشمند: ساعت زنگ دار هوشمند ساخته شده با تمشک پای: آیا تا به حال به دنبال ساعت هوشمند بوده اید؟ اگر چنین است ، این راه حل برای شما است! من ساعت زنگ دار هوشمند ساختم ، این یک ساعت است که می توانید زمان زنگ ساعت را با توجه به وب سایت تغییر دهید. هنگامی که زنگ هشدار به صدا در می آید ، یک صدا (زنگ) و 2 چراغ
مقیاس هوشمند DIY با ساعت زنگ دار (با Wi-Fi ، ESP8266 ، Arduino IDE و Adafruit.io): 10 مرحله (همراه با تصاویر)
مقیاس هوشمند DIY با ساعت زنگ دار (با Wi-Fi ، ESP8266 ، Arduino IDE و Adafruit.io): در پروژه قبلی من ، مقیاس حمام هوشمند با Wi-Fi را توسعه دادم. این می تواند وزن کاربر را اندازه گیری کرده ، به صورت محلی نمایش دهد و به ابر ارسال کند. در لینک زیر می توانید جزئیات بیشتری در این مورد دریافت کنید: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
GOOB - یک ساعت زنگ دار هوشمند: 15 مرحله (همراه با تصاویر)
GOOB - یک ساعت زنگ دار هوشمند: GOOB مخفف "Get Out of Bed" ، نام مناسب برای پروژه من است. من می خواستم دستگاهی ایجاد کنم که بتواند من را از خواب بیدار کند ، زیرا این ساده ترین کار نیست. ایده اصلی این است که ساعت زنگ دار مانع از حرکت alar نمی شود
ساعت زنگ دار خیابان کنجدی DIY (با زنگ خطر!): 6 مرحله (همراه با تصاویر)
ساعت زنگ دار خیابان کنجدی DIY (با هشدار آتش!): سلام به همه! این پروژه اولین پروژه من است. از آنجایی که اولین تولد پسرعموهایم در راه بود ، می خواستم برای او هدیه ای ویژه تهیه کنم. از عمو و عمه ام شنیدم که او در خیابان کنجد است ، بنابراین با خواهر و برادرهایم تصمیم گرفتم یک ساعت زنگ دار بر اساس
ساعت زنگ دار طلوع LED با زنگ هشدار قابل تنظیم: 7 مرحله (همراه با تصاویر)
ساعت مچی LED طلوع آفتاب با زنگ هشدار قابل تنظیم: انگیزه من در این زمستان دوست دخترم هنگام بیدار شدن از خواب با مشکلات زیادی روبرو شد و به نظر می رسید از SAD (اختلال عاطفی فصلی) رنج می برد. من حتی متوجه می شوم که بیدار شدن در زمستان بسیار سخت تر است زیرا خورشید نیامده است