Daftar Isi:
- Langkah 1: Bagian
- Langkah 2: Menyiapkan Raspberry Pi
- Langkah 3: Memasang Strip LED
- Langkah 4: Mengontrol Strip LED
- Langkah 5: Membuat Wajah Jam
- Langkah 6: Menghidupkan Pi
- Langkah 7: Lengkapi Sirkuit dan Pengemasan
- Langkah 8: Unggah Kode + Selesai
Video: Jam Alarm Upcycled Smart Light: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Dalam proyek ini saya meng-upcycle jam alarm yang benar-benar rusak. Tampilan jam diganti dengan 12 LED, diterangi oleh strip LED di sekitar tepi jam. 12 LED memberi tahu waktu dan strip LED diprogram untuk bertindak sebagai alarm, menyala hingga kecerahan penuh pada waktu yang ditentukan. Semuanya dikendalikan oleh Raspberry Pi Zero yang memungkinkan integrasi dan kemungkinan perluasan yang tak terhitung jumlahnya seperti menyinkronkan alarm cahaya secara otomatis dengan alarm telepon Anda atau mem-flash LED saat Anda menerima email.
Proyek ini menggunakan komponen yang relatif murah atau digunakan kembali - satu-satunya yang akhirnya saya beli adalah pengatur tegangan. Segala sesuatu yang lain yang kebetulan saya miliki tergeletak di sekitar seperti strip LED yang terputus. Instruksi ini akan memandu Anda melalui bagaimana saya memberi kehidupan baru pada jam rusak saya dan semoga dapat menginspirasi Anda untuk memperbarui sesuatu milik Anda sendiri.
Langkah 1: Bagian
Untuk mengontrol semuanya, kita akan menggunakan Raspberry Pi Zero karena ukurannya kecil, biayanya sangat sedikit dan dapat dihubungkan ke WiFi yang berarti kita tidak memerlukan jam waktu nyata dan oleh karena itu dapat dengan mudah memperbarui kode dari jarak jauh dari laptop. Kecuali Anda memiliki Pi Zero W, kami akan terhubung ke jaringan WiFi menggunakan dongle WiFi USB.
Berikut adalah daftar bagian yang saya gunakan tetapi sebagian besar dapat ditukar dengan alternatif yang sesuai. Misalnya, alih-alih Raspberry Pi, Anda dapat menggunakan Arduino dengan jam waktu nyata untuk mengontrol proyek.
Bagian yang digunakan
- Jam weker lama
- 30cm strip LED putih hangat
- 1x Raspberry Pi Nol + kartu micro SD
- 1x USB WiFi dongle + micro USB ke USB converter
- 12x LED
- 12x 330ohm resistor (gunakan lebih tinggi jika Anda ingin LED redup)
- 1x TIP31a (atau transistor daya npn atau MOSFET lainnya)
- 1x 1k resistor
- 1x LM2596 DC-DC konverter uang yang dapat disesuaikan (turun 12V untuk 5V untuk Raspberry Pi)
- Catu daya 1x 12v (+ cara masuk ke proyek Anda)
- Kayu 10cm x 10cm untuk permukaan jam (harus tipis sesuai untuk memasang LED Anda)
- Berbagai potongan kawat warna berbeda
Hal-hal yang berguna untuk dimiliki
- Besi solder + solder
- Lem panas
- Multimeter
- Papan tempat memotong roti
- Pin header wanita
- Pembaca atau konverter kartu Micro SD
- Komputer
- Adaptor Mini HDMI + layar HDMI jika Anda ingin menggunakan lingkungan desktop Pi
Langkah 2: Menyiapkan Raspberry Pi
Sistem operasi
Karena Raspberry Pi tidak akan terhubung ke layar, saya memilih untuk menggunakan Raspbian Buster Lite yang tidak disertakan dengan lingkungan desktop. Jika Anda baru mengenal Raspberry Pi, Anda mungkin ingin tetap menggunakan Raspbian Buster standar yang disertakan dengan desktop. Jika Anda tidak yakin bagaimana menginstal sistem operasi Anda, ini adalah sumber yang bagus. Kedua sistem operasi dapat diunduh dari situs web Raspberry Pi.
Untuk saat ini, nyalakan Pi melalui input daya Micro USB-nya. Hubungkan juga dongle WiFi USB.
Berbicara dengan Raspberry Pi
Setelah semuanya dikemas, cukup sulit untuk mengakses Pi jika Anda ingin mengubah kode, dll. Dengan menggunakan SSH, gunakan koneksi ke Pi dan kendalikan dari komputer lain. Ini tidak diaktifkan secara default tetapi kita dapat melakukannya hanya dengan membuat folder bernama ssh di partisi boot kartu SD Anda. Jika Anda sudah masuk ke Pi Anda, Anda juga dapat melakukan ini dengan mengetikkan sudo raspi-config di Terminal dan menavigasi ke Opsi Antarmuka > SSH dan memilih Ya untuk mengaktifkannya.
Sekarang Anda dapat terhubung ke Pi Anda di komputer lain. Di Mac atau Linux Anda dapat menggunakan aplikasi terminal Anda tetapi pada sebagian besar versi Windows Anda harus menginstal klien SSH seperti Putty. Hubungkan ke Pi dengan mengetik ssh pi@ di mana nama host diganti dengan nama host dari alamat IP Pi Anda. Nama host default adalah raspberrypi.local. Ini akan meminta Anda kata sandi yang, jika Anda belum mengubahnya, adalah raspberry.
Menginstal barang-barang yang dibutuhkan
Pertama, pastikan semuanya mutakhir dengan menjalankan Sudo apt update dan kemudian Sudo apt full-upgrade.
Untuk memastikan apa yang kita butuhkan untuk mengontrol pin GPIO pada Pi ketik sudo apt-get install python-rpi.gpio dan sudo apt-get install python3-rpi.gpio. Ini harus sudah diinstal pada versi lengkap Raspbian.
Kode
Berikut kode untuk diunduh agar semuanya berfungsi. Jika Anda menggunakan lingkungan desktop, tempel ini di folder Dokumen Anda.
Jika Anda menggunakan baris perintah SSH, navigasikan ke folder rumah Anda dengan mengetikkan cd ~/Documents dan menekan enter. Buat file baru bernama test1.py dengan nano test1.py. Ini akan membuka editor teks nano tempat Anda dapat menempelkan kode file test1.py yang diunduh. CTRL-O dan tekan enter untuk menyimpan file dan CTRL-X untuk keluar dari editor. Ulangi proses untuk file yang tersisa.
Langkah 3: Memasang Strip LED
Pertama-tama pasang strip LED di jam untuk melihat berapa banyak yang Anda perlukan, tandai panjang ini dan potong strip pada titik potong berikutnya seperti yang ditunjukkan. Jauh lebih mudah untuk menyolder kabel ke strip sebelum strip macet di tempatnya. Ini adalah panduan yang cukup bagus tentang cara melakukan ini, tetapi jika Anda tidak yakin, saya hanya akan berlatih pada sambungan solder pada bagian yang baru saja Anda potong. Solder satu kabel ke titik solder positif dan satu kabel ke negatif. Pastikan Anda menguji strip LED Anda bekerja sebelum Anda menempelkannya di jam Anda.
Karena strip LED yang saya gunakan telah digunakan sebelum kehilangan dukungan perekatnya, jadi saya harus menggunakan lem panas untuk memperbaiki strip di sekitar tepi pelek jam. Jika Anda memiliki panjang berlebih, tutupi titik di mana kabel terpasang. Anda mungkin ingin memasang strip nanti, tetapi saya merasa lebih mudah untuk menyimpannya di dalam jam.
Langkah 4: Mengontrol Strip LED
Menghubungkan strip LED
Strip LED berjalan pada 12V sehingga tidak dapat diberi daya dari Pi secara langsung. Untuk mengendalikannya, kita akan menggunakan transistor daya (misalnya TIP31a) yang terhubung ke Pi seperti yang ditunjukkan di atas. Saya akan merekomendasikan terlebih dahulu memeriksa ini semua berfungsi di papan tempat memotong roti.
- Hubungkan GPIO 19 ke pangkalan melalui resistor 1k
- Emitor harus terhubung ke GND
- Hubungkan kolektor ke terminal negatif strip LED
- Hubungkan terminal strip LED positif ke +12V
Pengujian
Di baris perintah, navigasikan ke folder dokumen Anda (cd ~/Documents) dan ketik python test1.py dan enter. Anda akan melihat strip LED bertambah dan berkurang kecerahannya. Untuk keluar dari program tekan CTRL-C. Anda dapat mengedit file (nano test1.py) untuk mengubah kecepatan dan kecerahan dalam program.
import RPi. GPIO sebagai GPIOimport time GPIO.setmode(GPIO. BCM) # Gunakan pinout BCM GPIO.setwarnings(False) # Abaikan peringatan tentang pin yang digunakan untuk hal lain ledStripPin = 19 # LED strip digerakkan dari pin ini GPIO.setup (ledStripPin, GPIO. OUT) # Atur ledStripPin sebagai output pwm = GPIO. PWM(ledStripPin, 100) # PWM pada ledStripPin dengan frekuensi 100Hz dutyCycle = 0 # Kecerahan awal sebagai persentase pwm.start(dutyCycle) try: while True: for dutyCycle dalam range(0, 101, 1): # Fade up pwm. ChangeDutyCycle(dutyCycle) time.sleep(0,05) untuk dc dalam range(95, -1, -1): # Fade down pwm. ChangeDutyCycle(dc) time.sleep(0.05) kecuali KeyboardInterrupt: # Tekan CTRL-C untuk keluar, lalu: pwm.stop() # Hentikan pwm GPIO.cleanup() # Bersihkan pin GPIO
Langkah 5: Membuat Wajah Jam
Potong potongan kayu untuk jam Anda menghadap ke bawah agar pas di jam Anda. Saya membuat milik saya untuk beristirahat sekitar 3cm dari depan. Bor 12 lubang diameter LED Anda (biasanya 3mm atau 5mm) berjarak 30 derajat dari satu sama lain. Amplas bagian depan menghadap ke bawah dan aplikasikan hasil akhir pilihan Anda. Dari sisi belakang tempatkan LED sehingga mengarah ke depan. Saya menggunakan lem panas untuk menjaga LED tetap di tempatnya dengan terminal positif (kabel yang lebih panjang) menghadap ke dalam. Ukuran tampilan jam saya berarti saya bisa menyolder semua terminal negatif bersama-sama (lihat di atas) sehingga hanya satu kabel yang diperlukan untuk menghubungkan semua 12 LED ke GND. Selanjutnya, solder kabel ke setiap LED.
Jika Anda ingin menguji ini pada papan tempat memotong roti terlebih dahulu ingatlah untuk menggunakan resistor (330ohm cukup standar) secara seri dengan setiap LED sebelum Anda menghubungkannya ke salah satu pin Pi GPIO. Bermain-main dengan nilai resistor yang Anda gunakan untuk mendapatkan tingkat kecerahan yang Anda sukai. T-cobbler sangat berguna untuk mematahkan pin Pi ke papan tempat memotong roti meskipun Anda harus menyolder pin header untuk ini. Gunakan test2.py (jalankan menggunakan python test2.py) tetapi pastikan Anda terlebih dahulu mengedit program dan memasukkan pin GPIO Pi yang telah Anda gunakan untuk setiap LED.
impor RPi. GPIO sebagai GPIO
waktu impor GPIO.setmode(GPIO. BCM) # Gunakan pinout BCM GPIO.setwarnings(False) # Abaikan peringatan tentang pin yang digunakan untuk hal lain # Ganti satu, dua, … dengan nomor pin yang sesuai hourPin = [satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, sepuluh, sebelas, dua belas] # Pin yang terhubung dengan LED dari 1-12 untuk i dalam rentang (0, 12): GPIO.setup(hourPin, GPIO. OUT) # Atur semua jamPin sebagai output GPIO.output(hourPin, 0) # Pastikan semua LED mati try: while True: for i in range(0, 12) GPIO.output(hourPin, 1): time.sleep(0.05) for i in range(0, 12) GPIO.output(hourPin, 0): time.sleep(0.05) kecuali KeyboardInterrupt: # Tekan CTRL-C untuk keluar, dan lalu: GPIO.cleanup() # Bersihkan pin GPIO
Langkah 6: Menghidupkan Pi
Kami membutuhkan cara mudah untuk mendapatkan 5V ke Pi Zero sehingga kami dapat melepaskan kabel micro USB yang telah kami gunakan untuk menyalakannya sejauh ini. Ada sejumlah solusi yang menurunkan 12V ke 5V seperti regulator tegangan linier LM7805 tetapi ini tidak terlalu efisien, jadi saya memilih untuk menggunakan konverter buck yang dapat disesuaikan lebih efisien menggunakan chip LM2596. NB dengan ini Anda harus memutar potensiometer sampai tegangan output berkurang menjadi 5V sesuai kebutuhan sehingga Anda memerlukan beberapa cara untuk mengukur tegangan.
Menggunakan LM2596 sederhana: sambungkan +12V ke IN+, ground ke IN-. Pi dapat dihubungkan langsung ke 5V dengan menghubungkan OUT+ ke salah satu pin 5V Pi tetapi pastikan Anda telah mengubah tegangan output menjadi 5V sebelum Anda melakukan ini atau Anda akan menggoreng Pi Anda!
Langkah 7: Lengkapi Sirkuit dan Pengemasan
Kami sekarang telah membahas ketiga elemen rangkaian yang ditampilkan bersama dalam rangkaian keseluruhan di atas. Untuk menghemat ruang dan membuat sirkuit lebih rapi, letakkan sirkuit Anda di papan strip atau papan prototipe. Pertama, solder komponen terkecil, resistor, lalu transistor daya, konektor apa pun, dan terakhir kabel. Rencanakan sirkuit Anda sebelum Anda menyolder untuk memastikan Anda memiliki ruang untuk semuanya.
Saya menghubungkan semuanya pada PCB prototyping dan menggunakan pin header perempuan sehingga Pi dapat dipasang langsung ke PCB. LED pada tampilan jam terhubung melalui resistor di satu sisi papan dan saya telah menyimpan ruang di sisi lain papan untuk transistor daya dan bebas untuk sirkuit lain yang mungkin ingin saya tambahkan nanti.
Pasang bagian depan jam ke jam dan pastikan semua elektronik terpasang dengan baik. Semuanya cukup pas untuk saya sehingga Anda mungkin perlu mengatur ulang. Hubungkan catu daya dan jalankan test1.py dan test2.py dari SSH untuk memeriksa semuanya berfungsi sebelum memasang bagian belakang.
Langkah 8: Unggah Kode + Selesai
Kode
Terakhir, jika Anda belum melakukannya, unggah kode dan sesuaikan sesuka Anda (menggunakan nano filename.py). Manfaat menghubungkan ke Pi melalui SSH adalah Anda dapat memperbarui kode tanpa membuka jam.
Program python ini dari Langkah 2 melakukan hal berikut:
- light_clock_simple.py hanya menampilkan jam pada LED dan memudar ke atas dan ke bawah strip LED pada waktu tertentu
- light_clock_pwm.py sama seperti di atas tetapi juga memungkinkan kecerahan LED dikurangi dan menampilkan menit pada kecerahan yang berbeda dengan jam. Anda harus bermain-main dengan tingkat kecerahan keduanya sehingga kontras antara keduanya terlihat
Ini harus memberikan dasar yang kuat untuk menambahkan kode, misalnya Anda mungkin ingin menambahkan tombol untuk menunda alarm cahaya.
Untuk meluncurkan program saat Pi boot kita perlu menambahkan ' @reboot nohup python light_clock_pwm.py & 'di akhir file crontab yang dapat dibuka dari terminal dengan crontab -e. Mulai ulang Raspberry Pi Anda untuk memeriksa apakah itu berfungsi dengan Sudo shutdown -r now.
Potensi tambahan
Berikut adalah beberapa ide fungsionalitas tambahan yang dapat ditambahkan
- Menambahkan tombol tunda
- Menambahkan mode lampu
- Menghubungkan ke IFTTT (misalnya lampu bisa menyala saat alarm ponsel Anda mati/berkedip saat email diterima)
- Menambah kapasitas kemampuan sentuh yaitu membuat jam menjadi lampu sentuh
Anda mungkin memperhatikan saat menggunakan PWM bahwa kadang-kadang, terutama dengan kecerahan yang lebih rendah, LED berkedip sedikit. Hal ini dikarenakan Pi menggunakan software PWM sehingga proses CPU dapat mempengaruhi duty cycle. Memiliki lebih sedikit proses yang menjalankan bantuan dengan ini, jadi saya menggunakan sistem operasi Raspbian Lite yang dikupas. PWM perangkat keras juga tersedia di beberapa pin jadi jika kedipan membuktikan masalah, ini mungkin sesuatu yang perlu diperhatikan.
Saya harap Anda telah menemukan Instructable ini informatif dan merasa terinspirasi untuk memperbarui jam alarm lama atau menggunakan elemen kode untuk proyek Anda sendiri.
Hadiah Kedua dalam Tantangan Kecepatan Strip LED
Direkomendasikan:
Jam Alarm Cerdas: Jam Alarm Cerdas Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Alarm Cerdas: Jam Alarm Cerdas yang Dibuat Dengan Raspberry Pi: Pernahkah Anda menginginkan jam pintar? Jika iya, ini solusinya untuk Anda! Saya membuat Smart Alarm Clock, ini adalah jam yang bisa Anda ubah waktu alarmnya sesuai dengan website. Saat alarm berbunyi, akan ada suara (buzzer) dan 2 lampu akan
Jam Jaringan ESP8266 Tanpa RTC - Nodemcu NTP Jam Tidak Ada RTC - PROYEK JAM INTERNET: 4 Langkah
Jam Jaringan ESP8266 Tanpa RTC | Nodemcu NTP Jam Tidak Ada RTC | INTERNET CLOCK PROJECT : Pada project ini akan dibuat project clock tanpa RTC, akan memakan waktu dari internet menggunakan wifi dan akan ditampilkan pada layar st7735
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): 10 Langkah (dengan Gambar)
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): Dalam proyek saya sebelumnya, saya mengembangkan skala kamar mandi pintar dengan Wi-Fi. Itu dapat mengukur berat pengguna, menampilkannya secara lokal dan mengirimkannya ke cloud. Anda bisa mendapatkan detail lebih lanjut tentang ini di tautan di bawah ini: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Jam Alarm Jalan Sesame DIY (dengan Alarm Kebakaran!): 6 Langkah (dengan Gambar)
Jam Alarm Jalan Sesame DIY (dengan Alarm Kebakaran!): Hai semuanya! Proyek ini adalah yang pertama bagi saya. Karena ulang tahun pertama sepupu saya akan datang, saya ingin membuat hadiah khusus untuknya. Saya mendengar dari paman dan bibi bahwa dia berada di Sesame Street, jadi saya memutuskan dengan saudara-saudara saya untuk membuat jam alarm berbasis
Jam Alarm Matahari Terbit LED Dengan Alarm Lagu yang Dapat Disesuaikan: 7 Langkah (dengan Gambar)
Jam Alarm Matahari Terbit LED Dengan Alarm Lagu yang Dapat Disesuaikan: Motivasi Saya Musim dingin ini pacar saya mengalami banyak kesulitan bangun di pagi hari dan tampaknya menderita SAD (Seasonal Affective Disorder). Saya bahkan menyadari betapa sulitnya untuk bangun di musim dingin karena matahari belum datang