Daftar Isi:
- Langkah 1: Latar Belakang
- Langkah 2: Komponen Perangkat Keras Utama
- Langkah 3: Menyatukan Semuanya
- Langkah 4: PCB Kustom
- Langkah 5: Kandang
- Langkah 6: Menyiapkan Raspberry Pi
- Langkah 7: Perangkat Lunak
- Langkah 8: Apa Selanjutnya?
Video: A Kembali ke Masa Depan Jam: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Proyek ini memulai hidup sebagai jam alarm untuk anak saya. Saya membuatnya terlihat seperti sirkuit waktu dari Kembali ke Masa Depan. Layar dapat menunjukkan waktu dalam berbagai format, termasuk yang dari film tentunya. Ini dapat dikonfigurasi melalui tombol di atas enklosur tetapi juga melalui halaman web yang dilayani oleh Raspberry Pi Zero di dalamnya. Dalam salah satu mode tampilan, ini akan menunjukkan cuaca lokal (dari stasiun cuaca bertenaga Arduino saya) serta ramalan dan pengingat harian, yang dikonfigurasi melalui antarmuka web. Ini juga memiliki audio berkat DAC dan akan mengalirkan musik menggunakan protokol AirPlay. Suara alarm dapat berupa file audio apa pun yang Anda pilih. Ini akan meredupkan dan mencerahkan tampilan secara otomatis pada waktu tertentu dalam sehari (misalnya fajar dan senja).
Langkah 1: Latar Belakang
Tahun lalu saya sedang mencari proyek Arduino baru yang baru saja menyelesaikan proyek pertama saya, stasiun cuaca rumah. Putra saya yang berusia 11 tahun baru saja menonton film Back to the Future untuk pertama kalinya, jadi saya pikir akan menyenangkan untuk membangunkannya jam alarm yang terlihat seperti sirkuit waktu di Delorean untuk ulang tahunnya. Ini bukan ide baru, ada beberapa proyek serupa di luar sana (yang ini misalnya), jadi saya pikir ini akan menjadi proyek yang bagus untuk belajar dari orang lain dan mengambil beberapa keterampilan baru.
Versi pertama bekerja dengan cukup baik (belum siap untuk ulang tahunnya: Saya menyelesaikannya pada hari Natal) tetapi saya menjadi cukup ambisius dalam apa yang saya inginkan dan menemukan bahwa sketsa saya terus mencapai batas memori Arduino. Saya juga memiliki beberapa modul perangkat keras eksternal kecil (WiFi, pemutar MP3, penguat audio, RTC dll), jadi semuanya menjadi sedikit berat. Pada akhirnya, saya memutuskan untuk pindah ke platform Raspberry Pi yang menyederhanakan perangkat keras dan memungkinkan saya untuk mengemas lebih banyak fungsi dan fitur.
Langkah 2: Komponen Perangkat Keras Utama
Di dalam Kotak
Berikut adalah komponen elektronik yang saya gunakan. Sebagian besar dari mereka adalah sumber dari Core Electronics di Australia tetapi tentu saja mereka juga tersedia di tempat lain:
- 4 x Tampilan Alfanumerik Quad -Kuning-Hijau
- Raspberry Pi Nol W
- Pimoroni pHAT DAC untuk Raspberry Pi Zero
- Amplifier Audio (IC PAM8403)
- Catu daya Raspberry Pi 3+
- 4 x Kawat jumper - 0,1", 5-pin, 12"
- 40 pin (2 x 20) kabel pita
- Raspberry Pi GPIO Male Header
- Raspberry Pi Model B - Header Terselubung GPIO (2X20)
- GPIO Stacking Header untuk Pi A+/B+/PI 2/PI 3 - ekstra panjang 2X20
- 4 x 5 pin header laki-laki
- 2 speaker 3W kecil
- 2 x kabel koaksial untuk koneksi audio analog DAC ke Amp
- Veraboard atau PCB khusus untuk menangani Rpi ke amp, LED, tombol
- 5 x sakelar tombol tekan sesaat
- 4 x 2-arah blok terminal sekrup PCB-mountable
Kotak
- Potongan-potongan MDF, sekrup dan baut untuk membuat 'sasis'
- Perspex berwarna hijau, pemasok lokal
- Styrene, lem model, cat semprot (warna aluminium) dari toko hobi lokal
-
Stiker (file tersedia berdasarkan permintaan - dicetak oleh Redbubble)
Langkah 3: Menyatukan Semuanya
Tampilan LED untuk jam terdiri dari tampilan alfanumerik segmen 16x14, untungnya jumlah karakter yang sama dengan sirkuit waktu Kembali ke Masa Depan. Meskipun hanya tiga karakter pertama yang harus berupa alfanumerik dan sisanya dapat berupa tampilan numerik 7-segmen untuk meniru prop film, saya memutuskan untuk membuat semuanya alfanumerik untuk memungkinkan beberapa fleksibilitas dalam apa yang dapat ditampilkan dan agar semuanya tetap terlihat sama. Ransel quad Adafruit adalah solusi hebat di sini dan dapat dijalankan di bus I2C Raspberry Pi. Informasi lebih lanjut tentang unit-unit ini dan cara memasangnya dapat ditemukan di sini di situs web Adafruit. Satu-satunya hal yang sedikit tidak standar yang harus saya lakukan adalah mengubah alamat mereka bertiga sehingga setiap ransel unik.
Untuk memutar audio (dalam stereo), saya menyertakan Pimoroni pHAT DAC dan amplifier audio stereo 2 x 3W berdasarkan chip PAM8403. DAC pHAT sangat mudah dihubungkan ke Pi. Saya menempatkan header laki-laki 2 x 20 pin pada Pi dan header susun GPIO pada DAC sehingga mereka dapat dihubungkan bersama di atas yang lain. Pin header laki-laki melewati bagian atas DAC, memungkinkan saya untuk menjalankan kabel pita dengan konektor perempuan, awalnya ke breakout Raspberry Pi untuk pengujian papan tempat memotong roti tetapi akhirnya ke header terselubung pada PCB yang dibuat khusus.
Untuk amplifier audio, ada banyak pilihan (termasuk hanya mendapatkan chip dan merakit sendiri). Yang ini memiliki opsi untuk mematikan output dengan hanya mengubah status salah satu pin (tinggi aktif, rendah mati) dan saya menghubungkannya sehingga ini dapat dikontrol dari Pi. Dalam upaya awal saya untuk menghubungkan ini, saya menemukan cukup banyak kebisingan latar belakang saat audio menyala. Setelah banyak bermain-main dengan pentanahan, saya akhirnya mencoba memindahkan tegangan suplai input dari 5V Pi ke 3.3V dan itu memperbaikinya. Saya kira ada cukup banyak kebisingan yang dihasilkan oleh berbagai sinyal digital yang terbang di sekitar tetapi tampaknya pasokan 3.3V entah bagaimana terisolasi.
Koneksi lainnya termasuk audio analog dari DAC ke amplifier (saya menggunakan kabel koaksial di sini untuk membantu mengatur pengambilan suara) dan output audio ke sepasang speaker 3W kecil yang sesuai dengan enklosur. Ada juga koneksi GPIO untuk empat sakelar sesaat di atas kotak dan saya menghubungkan tombol sesaat ke pin "RUN" hard reset (lihat bagian Koneksi Tambahan di halaman ini). Tombol reset dipasang tidak terlihat di bagian belakang enklosur. Berikut adalah diagram yang menunjukkan koneksi:
Langkah 4: PCB Kustom
Meskipun tidak ada yang terlalu rumit tentang sirkuit, ada sedikit kabel dan papan tempat memotong roti bisa terlihat seperti spageti dengan cukup cepat. Jadi saya merancang PCB untuk mengendalikan semuanya. Ini adalah papan satu sisi buatan rumah dan saya punya teman untuk membantu membuatnya. Setelah dibuat dan disambungkan, saya menyadari bahwa saya lupa menyertakan koneksi untuk blok terminal untuk audio dan saya kemudian membuat perubahan untuk memindahkan suplai amp audio dari 5V ke 3.3V, jadi itu tidak ideal dan saya harus memasangnya beberapa Veroboard untuk mengizinkan koneksi audio. Juga, pinout papan audio amp berada pada pemisahan non-standar (mereka bahkan bervariasi antar pin) sehingga koneksi untuk ini ke PCB utama agak buruk dengan 11 kabel koneksi pendek ~ 1cm.
Jika saya membuat papan lain, saya akan menyertakan semua modifikasi ini dan juga mengubah konektor untuk empat tombol menjadi sesuatu yang sedikit lebih bagus. DAC dan Pi akan menumpuk tepat di atas, jadi tidak perlu kabel pita. Diagram di atas menunjukkan bagaimana tampilannya.
Langkah 5: Kandang
Saya ingin membuat penutup yang tampak seperti satu baris sirkuit waktu film. Tiga baris tampilan LED akan terlalu banyak untuk jam alarm dan akan menambah biaya secara signifikan. Saya berpikir untuk membuat penutup dari aluminium tetapi saya tidak memiliki keahlian di bidang itu. Saya telah membuat beberapa model plastik dalam hidup saya, dan memiliki beberapa pengalaman pengerjaan kayu, jadi memutuskan untuk membuat bingkai menggunakan MDF untuk memasang LED dan speaker dan memperbaiki perspex ke depan, lalu menutupinya dengan stirena 5 sisi kotak dengan bezel di bagian depan, dicat dengan cat semprot logam aluminium. Plastik dan cat diperoleh dari toko model lokal. Saya memperhatikan label pada prop film dan melakukan yang terbaik untuk menyalin warna, jenis font, dan ukuran. Saya menggunakan Photoshop untuk membuat label dan mencetaknya sebagai stiker dari Redbubble.
Gambar di atas menunjukkan:
- Bagian depan sasis MDF. 4 ransel LED dipasang di bagian depan dengan perspex berwarna hijau
- Di dalam kotak. Ransel semua terpasang dan berbaris, Raspberry Pi dan PCB khusus, speaker di kedua sisi.
- Kabel terpasang dan kulit luar siap digunakan. Itu sedikit terjepit!
Langkah 6: Menyiapkan Raspberry Pi
Saya memiliki beberapa masalah kompatibilitas dengan Raspbian Stretch (yang mungkin dapat dipecahkan jika saya tetap bertahan) tetapi Jessie bekerja dengan baik, jadi saya memutuskan untuk melakukannya.
Saya mengatur Pi sebagai unit tanpa kepala dengan akses VNC dan SSH. Ini bisa dilakukan tanpa pernah mencolokkan keyboard atau monitor tetapi saya hanya meminjam TV dan mengambil keyboard, dan membuatnya tanpa kepala dengan cepat. Sejak saat itu, saya cukup banyak menggunakan VNC sejak saat itu.
Kode jam saya menggunakan Python 2.7.9 dan bergantung pada beberapa perpustakaan, tercantum di bawah ini. Selain itu, saya menjalankan server web Flask dan MQTT untuk remote control dan Shairplay untuk streaming musik. Saya hanya mengikuti catatan instalasi online untuk semua ini dan tidak memiliki masalah sama sekali. Berikut adalah pustaka python dan paket lain dll yang perlu saya instal dengan tautan ke catatan instalasi atau hanya perintah yang perlu Anda jalankan untuk mendapatkannya:
Pustaka Python
- Adafruit_LED_Backpack
- Rpi. GPIO (apt-get install python-rpi.gpio)
- alsaaudio
- paho.mqtt.client (instal pip paho-mqtt)
- labu (apt-get install python-flask)
Paket lain dll
- nyamuk (apt-get install nyamuk)
- tempat potong rambut
- Situs web Pimoroni memiliki beberapa dokumentasi bagus tentang pengaturan DAC, jadi saya hanya menjalankannya.
Langkah 7: Perangkat Lunak
Kode jam ditulis dengan Python dan menggunakan threading untuk memutar alarm dan sesekali berbunyi di latar belakang tanpa menghalangi pembaruan tampilan. Saya menggunakan perpustakaan ConfigParser dan file konfigurasi yang dikelolanya dibaca dan ditulis oleh kode jam serta aplikasi web Flask sehingga setiap kali konfigurasi diubah melalui antarmuka web atau jam, itu akan disinkronkan. Perangkat lunak jam juga mencakup broker MQTT untuk memungkinkan kontrol mode tampilan dan mematikan untuk dikendalikan dari jarak jauh. Motif tersembunyi saya pada akhirnya adalah untuk menulis aplikasi iOS untuk remote control tetapi antarmuka web berfungsi cukup baik untuk saat ini.
Gambar pertama di atas menunjukkan bagaimana jam terlihat dalam berbagai mode tampilan, dan ada video pendek yang menunjukkannya dalam mode gulir.
Meskipun kodenya tidak cantik untuk dilihat, itu bagus dan stabil. Saya senang mengirimkannya kepada siapa saja yang memintanya dan akan menempatkannya secara online ketika sudah diatur dan dikomentari dengan lebih baik.
Aplikasi web
Gambar berikutnya menunjukkan bagaimana antarmuka web ke jam terlihat. Ada juga halaman konfigurasi dan kontrol dan ini membuatnya lebih mudah untuk bermain dengan jam tanpa banyak menekan tombol:-).
Langkah 8: Apa Selanjutnya?
Ada dekoder metadata shareport Python yang tersedia jadi saya pikir saya akan menambahkan beberapa kode untuk menampilkan informasi seperti judul dan artis saat musik diputar. Ini juga akan cukup mudah untuk menghitung waktu matahari terbit dan terbenam sehingga tampilan dapat dicerahkan dan diredupkan secara otomatis, daripada mengaturnya secara manual. Mungkin menambahkan fitur radio internet akan menyenangkan juga. Tampilan bergulir juga bisa lebih dapat dikonfigurasi.
Direkomendasikan:
Kembali ke Masa Depan Tetesan Air Antigravitasi - Seeeduino Lotus: 5 Langkah
Kembali ke Masa Depan Tetesan Air Antigravitasi - Seeeduino Lotus: StoryTime seperti arus deras, mendorong orang maju. Apakah ada saat di mana Anda ingin waktu berhenti atau mundur? Perhatikan baik-baik tetesan air itu. Apakah menetes ke bawah atau naik? Karya ini terinspirasi dari fenomena visual persi
Konversi TV Retro-Masa Depan: 6 Langkah (dengan Gambar)
Konversi TV Retro-Masa Depan: Ini adalah TV portabel warna awal yang telah saya upcycled dengan panel TV LCD yang lebih modern (tetapi hampir usang). Ini cukup ramping dan terpasang di dinding, dan saya telah mengonversi kontrol TV asli, mempertahankan tuni putar penekan tombol asli
3D Dicetak Kembali ke Masa Depan Jam Sirkuit Waktu: 71 Langkah (dengan Gambar)
3D Dicetak Kembali ke Masa Depan Jam Sirkuit: File LED.stl kiri depan salah dan telah diperbarui. Jam sirkuit waktu akan menampilkan yang berikut ini melalui tampilan LED.Waktu Tujuan - (Atas-Merah)Waktu tujuan adalah area yang menunjukkan tanggal dan waktu tetap. Gunakan ini adalah
Cara Membuat Artefak Dari Masa Depan di Pier 9: 11 Langkah (dengan Gambar)
Cara Membuat Artefak Dari Masa Depan di Pier 9: Pertama-tama, apa itu Artefak dari Masa Depan? Bayangkan Anda dapat melakukan ekspedisi seorang arkeolog ke masa depan untuk mengumpulkan objek dan fragmen teks atau foto untuk memahami apa yang akan terjadi dalam kehidupan sehari-hari menjadi seperti dalam 10, 20, atau 50 tahun. Arti
Outlet Masa Depan alias In-wall USB Charger: 7 Langkah (dengan Gambar)
Outlet Masa Depan alias In-wall USB Charger: Iphone Anda mati, seseorang telah kabur dengan charger dinding Ipod Anda, andai saja masa depan dan semua outletnya adalah USB! Instruksi ini akan menunjukkan kepada Anda cara mengonversi stopkontak standar menjadi Pengisi Daya USB di dinding. SAYA