Isi kandungan:

Jam Kiub Multifungsi Berasaskan Posisi: 5 Langkah (dengan Gambar)
Jam Kiub Multifungsi Berasaskan Posisi: 5 Langkah (dengan Gambar)

Video: Jam Kiub Multifungsi Berasaskan Posisi: 5 Langkah (dengan Gambar)

Video: Jam Kiub Multifungsi Berasaskan Posisi: 5 Langkah (dengan Gambar)
Video: Langkah2 yang dilakukan sebelum mengevakuasi korban yang tersengat listrik tegangan 220-400 Volt 2024, November
Anonim
Image
Image
Jam Kiub Multifungsi Berasaskan Kedudukan
Jam Kiub Multifungsi Berasaskan Kedudukan
Jam Kiub Multifungsi Berasaskan Kedudukan
Jam Kiub Multifungsi Berasaskan Kedudukan

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:

  1. Paparkan masa itu dengan pilihan untuk dimatikan
  2. Sertakan fungsi cahaya malam
  3. Sertakan pemasa tidur siang selama 15 minit dengan penggera
  4. 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

Prototaip dan Uji Litar
Prototaip dan Uji Litar
Prototaip dan Uji Litar
Prototaip dan Uji Litar
Prototaip dan Uji Litar
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

Program Utama
Program Utama
Program Utama
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

3D Mencetak Kiub
3D Mencetak Kiub
3D Mencetak Kiub
3D Mencetak Kiub
3D Mencetak Kiub
3D Mencetak 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

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
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

Muat naik dan Anda Selesai!
Muat naik dan Anda Selesai!
Muat naik dan Anda Selesai!
Muat naik dan Anda Selesai!
Muat naik dan Anda Selesai!
Muat naik dan Anda Selesai!
Muat naik dan Anda Selesai!
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: