Isi kandungan:
- Bekalan
- Langkah 1: Prototaip dan Uji Litar
- Langkah 2: Program Utama
- Langkah 3: Mencetak 3D Kiub
- Langkah 4: Perhimpunan
- Langkah 5: Muat naik dan Anda Selesai
Video: Jam Kiub Multifungsi Berasaskan Posisi: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Projek Fusion 360 »
Ini adalah jam berdasarkan Arduino yang menampilkan paparan OLED yang berfungsi sebagai jam dengan tarikh, sebagai pemasa tidur siang, dan sebagai cahaya malam. "Fungsi" yang berbeza dikendalikan oleh pecutan dan dipilih dengan memutar jam kubus.
Saya mahukan jam meja malam yang baru tetapi saya tidak mahu menghabiskan wang pada jam mewah yang mempunyai banyak fungsi yang tidak akan saya gunakan. Selain itu, saya telah mengumpulkan komponen dan sensor yang baru saja diletakkan sehingga saya memutuskan untuk menggunakannya untuk membuat jam saya sendiri!
Saya mempunyai beberapa tujuan untuk projek ini:
- Paparkan masa itu dengan pilihan untuk dimatikan
- Sertakan fungsi cahaya malam
- Sertakan pemasa tidur siang selama 15 minit dengan penggera
- Dapat memaparkan tarikh
Bekalan
- Arduino Pro Mini 5V
- Accelerometer 3-Axis ADXL335
- DS3231 AT24C32 IIC ketepatan Jam masa nyata
- Pembesar suara mini
- Paparan OLED SSD1306 IIC 0.96in
- Bekalan kuasa 5V DC
- LED x 2
- Perintang 220ohm x 2
- Jack laras DC
- Kawat
-
Alat
- Pemotong / pelucut wayar
- Pateri solder / pateri
- Pencetak 3D (pilihan)
- Pengaturcara FTDI untuk bersambung antara Pro mini dan Arduino IDE
Langkah 1: Prototaip dan Uji Litar
Sambungkan komponen ke Arduino. Susun atur papan roti atau skema ditunjukkan di atas. RTC dan OLED menggunakan protokol I2C untuk berinteraksi dengan Arduino dan menggunakan pin A4 dan A5. Accelerometer menggunakan 3 pin analog. Saya menggunakan A0, A1, A2. LED dan Piezo boleh menggunakan mana-mana pin digital, saya menggunakan 4 dan 8 masing-masing.
Antara muka dengan setiap komponen. Saya terpaksa memasang beberapa perpustakaan Arduino untuk berinteraksi dengan setiap komponen. Mereka ditunjukkan dalam gambar di atas.
Kod menggunakan Arduino IDE. Saya meneliti beberapa contoh lakaran yang disediakan oleh setiap perpustakaan untuk mengetahui sintaks yang betul untuk setiap komponen berdasarkan apa yang saya mahukan. Saya membuat lakaran untuk setiap komponen untuk mengujinya secara individu. Mereka disediakan di bawah. Saya bermula dengan pembesar suara piezo kerana itu adalah yang paling mudah. Sebenarnya tidak memerlukan perpustakaan khas, hanya fungsi khusus yang menetapkan frekuensi dan suara. Memastikan LED berfungsi hanya dengan menarik salah satu pin digital tinggi dan rendah. Seterusnya, saya beralih ke OLED dan ini juga sangat mudah untuk disiapkan. Sketsa di bawah ini adalah demo Adafruit yang merangkumi semua animasi / teks yang dapat dipaparkan. Kemudian, saya berusaha agar RTC berfungsi. Sketsa yang saya berikan adalah sebahagian contoh di perpustakaan yang mendapat masa semasa dan mencetaknya ke monitor bersiri. Akhirnya, saya menggunakan contoh yang disediakan untuk menguji pecutan. Keluaran setiap paksi dicetak pada monitor bersiri.
Sekarang masa untuk menyatukan semuanya!
Langkah 2: Program Utama
Sekarang saya tahu semuanya berfungsi secara berasingan, saya dapat mula membuat program yang menyatukan semuanya. Saya akan membincangkan proses saya untuk menulis program di bawah ini tetapi jangan ragu untuk memuat turun kod penuh di bawah untuk digunakan untuk projek anda sendiri. Saya cuba memberikan komen khusus supaya anda dapat membaca kod itu sendiri.
Saya perlu memaparkan waktu dan tarikh di OLED yang cukup mudah. Saya hanya perlu mencetak masa semasa ke paparan dan bukannya monitor bersiri. Terdapat beberapa perkara pemformatan yang harus saya pertimbangkan untuk menjadikannya memaparkan format 12 jam dan bukannya 24 dan menambah / membuang 0 di mana ia sesuai. Tarikhnya serupa dengan penambahan memaparkan bulan dan hari dalam segi empat tepat yang dilukis di layar. Saya menggunakan gelung FOR yang bersarang untuk membuat pemasa dan mematikan piezo selepas akhir gelung. Saya memutuskan untuk membuat skrin berkelip ketika bel berbunyi yang merupakan animasi asas yang diambil dari demo Adafruit. Saya membuat memutar kiub kembali ke kedudukan jam satu-satunya cara mematikan bel. Akhirnya, saya mahukan cara mematikan skrin yang dapat dicapai dengan hanya membersihkan paparan. Sekarang, saya memerlukan semua fungsi ini untuk berfungsi berdasarkan output accelerometer. Saya menggunakan skrip Accel_Test untuk menentukan koordinat paksi bagi setiap kedudukan yang saya mahukan setiap fungsi dijalankan. Saya menggerakkan cip accelerometer secara manual dan merakam bacaan pada monitor bersiri. Rajah di atas memberikan koordinat output bagi setiap kedudukan dalam GREY. Koordinat dalam RED adalah sempadan antara setiap kedudukan dan saya menggunakan nombor tersebut untuk program saya. Dalam 4 kedudukan paparan, hanya koordinat paksi X dan Y yang diperlukan. Kedudukan kelima untuk cahaya malam menggunakan paksi Z. Saya menggunakan pernyataan IF sederhana untuk kedudukan pecutan sebelum setiap blok fungsi. Sekiranya anda menggunakan pecutan yang berbeza, koordinat ini mungkin berbeza dan perlu disesuaikan dalam program.
Langkah 3: Mencetak 3D Kiub
Saya fikir sebuah kubus adalah reka bentuk terbaik untuk menampung bagaimana saya mahu jam berfungsi. Saya menggunakan fusion360 untuk membuat model. Saya memerlukan potongan untuk OLED dan tong laras. Saya juga mahukan akses mudah untuk mengganti bateri sel di RTC setelah semuanya disambung. Saya memerlukan slot untuk memastikan Arduino dalam orientasi yang akan mudah diprogramkan semula jika perlu. Selain itu, kandang perlu ditanggalkan dengan mudah supaya saya dapat mengakses Arduino. Anda dapat melihat model CAD di atas dan fail STL ada di bawah.
Saya mencetak badan dalam PLA hitam dengan 20% isi, resolusi 0.2mm.
Kandang atau lengan dicetak dalam filamen fleksibel Solutech dengan 100% isi, resolusi 0.3 mm. Saya menggunakan bahan ini kerana mempunyai kelenturan yang memudahkan untuk meregangkan badan. Ia juga memiliki nuansa yang lebih lembut ketika memutar jam. Terakhir, saya memilih filamen yang jelas supaya LED untuk lampu malam akan menyala.
Langkah 4: Perhimpunan
Saya menyatukan semuanya dengan menggunakan skema dari Langkah 1. Saya menggunakan sekeping kecil papan wangi untuk menghubungkan semua wayar biasa sehingga saya tidak perlu menyolder banyak wayar ke satu pin pada Arduino. Lem panas digunakan untuk mengamankan semua barang di tempat masing-masing kecuali Arduino. Itu baru dimasukkan ke dalam slot yang ditentukan. Saya memastikan bahawa papan pecutan adalah tegak lurus dan rata di bahagian bawah badan supaya koordinat dalam kod tidak perlu diubah.
Langkah 5: Muat naik dan Anda Selesai
Sekarang program akhir dapat dimuat ke jam untuk menetapkan waktu yang tepat. Bateri sel harus menyimpan masa walaupun kuasa dicabut. Luncurkan lengan cetak 3D ke atas badan untuk menyembunyikan semua komponen dan anda mempunyai jam kiub yang lengkap!
Saya harap anda senang membuat projek ini dan menganggapnya berguna seperti yang saya lakukan. Bahagian yang baik mengenai projek ini adalah bahawa ia sangat disesuaikan. Jangan ragu untuk menambahkan fungsi anda yang berbeza seperti fungsi penggera, gunakan komponen yang berbeza seperti OLED, penerima radio FM yang lebih besar, dll. Selamat membuat!
Disyorkan:
Kiub LED 3D DIY Dengan Pi Raspberry: 6 Langkah (dengan Gambar)
DIY 3D LED Cube With Raspberry Pi: Projek ini menerangkan bagaimana kami membuat DIY 3D LED Cube dari ws2812b LEDs. Kubus itu berukuran 8x8x8 LED, jadi jumlah keseluruhan 512, dan lapisannya terbuat dari kepingan akrilik yang kami dapat dari depot rumah. Animasi dikuasakan oleh raspberry pi dan sumber kuasa 5V. Yang
Jam Persaraan / Jam Naik / Jam Dn: 4 Langkah (dengan Gambar)
Jam Persaraan / Jam Naik / Jam Dn: Saya mempunyai beberapa paparan dot-matriks 8x8 LED di dalam laci dan memikirkan apa yang harus dilakukan dengan mereka. Diilhamkan oleh instruksional lain, saya mendapat idea untuk membuat paparan hitung mundur / naik untuk dikira ke tarikh / masa yang akan datang dan jika waktu sasaran
Penjana Muzik Berasaskan Cuaca (Generator Midi Berasaskan ESP8266): 4 Langkah (dengan Gambar)
Penjana Muzik Berasaskan Cuaca (Generator Midi Berasaskan ESP8266): Hai, hari ini saya akan menerangkan cara membuat penjana Muzik berasaskan Cuaca kecil anda sendiri. Ia berdasarkan ESP8266, yang seperti Arduino, dan ia bertindak balas terhadap suhu, hujan dan intensiti cahaya. Jangan berharap untuk membuat keseluruhan lagu atau kord progres
Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan berasaskan Web, Pelayan Masa Diselaraskan: 11 Langkah (dengan Gambar)
Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan Berasaskan Web, Time Server Synchronized: Kisah jam ini sudah lama - lebih dari 30 tahun. Ayah saya mempelopori idea ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan cahaya mereka yang membutakan semasa. Betul
Memasang "Jam Bijaksana 2" (Jam Penggera Berasaskan Arduino Dengan Banyak Ciri Tambahan): 6 Langkah
Memasang "Wise Clock 2" (Jam Penggera Berbasis Arduino Dengan Banyak Ciri Tambahan): Tutorial ini menunjukkan cara memasang kit untuk Wise Clock 2, sebuah projek sumber terbuka (perkakasan dan perisian). Kit Wise Clock 2 yang lengkap boleh dibeli di sini. Ringkasnya, inilah yang dapat dilakukan oleh Wise Clock 2 (dengan perisian sumber terbuka semasa