Jeffrey Cross
Jeffrey Cross

BAGAIMANA CARA - Buat jam analog meter meter

ANALOG AMP METER CLOCK- Sebuah jam tangan yang elegan menandakan jam dengan meter jarum - oleh Gen Scogin ...

Beberapa tahun yang lalu, saya mempunyai idea untuk membuat jam analog yang menggunakan tolok jarum gaya voltmeter dan bukan dail standard. Beberapa minggu yang lalu saya akhirnya membuat satu, menggunakan papan Arduino dan 3 meter semasa dari kedai elektronik tempatan. Saya membinanya secara berperingkat-peringkat, bermula dengan satu meter yang dipaparkan hanya beberapa saat, kemudian menambah jam dan minit, menambah butang dan pengaturcaraan untuk membuat masa ditetapkan, dan akhirnya membina ke dalam kotak yang bagus. Berikut adalah cara saya melakukannya.

Memakan Meter

Papan Arduino mempunyai 6 output yang dapat memacu nilai-nilai analog menggunakan modulasi lebar pulsa (PWM). Ini bermakna mereka mensimulasikan voltan output yang terletak di antara tinggi dan rendah binari (0V dan 5V) dengan menunggang dengan cepat antara kedua-dua untuk nisbah masa yang berbeza; sebagai contoh, output 2.5V akan disimulasi dengan tepat pada separuh masa. Saya mendapati bahawa kekerapan nadi Arduino cukup pantas (490Hz) dan meter saya cukup perlahan sehingga anda boleh memandu mereka terus dari output papan tanpa jarum bergetar; anda tidak memerlukan kapasitor untuk melancarkan isyarat.

Saya hanya dapat mencari ammeters dan bukan voltmeters, jadi saya perlu meletakkan resistor secara bersiri dengan meter untuk menghadkan arus. Undang-undang Ohm menyatakan bahawa untuk mendapatkan 1mA semasa dengan voltan 5V, anda memerlukan 5,000Ω rintangan. Untuk membolehkan variasi biasa dalam komponen, saya memasang rintangan ini dengan meletakkan perintang 4,750Ω secara siri dengan potensiometer 0Ω hingga 500Ω. Untuk menetapkan julat bagi setiap meter, pertama anda sifatkannya dengan skru pelarasan pada meter itu sendiri, kemudian laraskan periuk untuk menetapkan titik yang tinggi.

BAHAN-BAHAN

Papan mikrokontroler Arduino Saya menggunakan Arduino Diecimila yang saya beli di Maker Faire. Anda boleh memesan satu dari store.makezine.com.

Meter semasa 1mA (3) Pastikan papan anda menyampaikan arus yang mencukupi untuk memacu jarum meter ke seluruh julatnya; Saya pada asalnya mencuba meter 50mA, tetapi itu tidak tepat untuk Arduino.

4,750Ω resistor (3)

500Ω potensiometer (3) aka perintang yang berubah-ubah

Suis butang, SPST sesaat (3)

Papan lapis tanpa solder

Komputer dengan pencetak dan kertas

Pelekat semburan

Peti kayu dan cat yang bagus

Pin keluaran mikropengawal berjalan melalui rintangan laras dan kemudian pada meter saat.

Membuatnya Tick

Sebaik sahaja kita mempunyai meter yang disambungkan, kita boleh menulis program C mudah untuk membuatnya mengira 60 saat dalam julat penuh setiap minit. Fungsi Tulis Tulis () analog mengambil nilai antara 0 dan 255 dan indeks pin output, dan menetapkan output untuk pin yang dinyatakan pada nilai PWM antara 0V dan 5V.

Untuk menjejaki detik, program ini menjalankan gelung yang berterusan yang memanggil millis (), fungsi Arduino terbina dalam yang mengembalikan bilangan milisaat sejak papan terakhir dikuasakan. Nilai yang dikembalikan adalah dibandingkan dengan nilai millis () dari gelung sebelumnya, dan perbezaannya ditambah kepada jumlah saat berjalan, yang seterusnya mengemas kini paparan.

Papan lajur membawa 3 litar yang sama berjalan secara selari, untuk jam, minit, dan saat.

Apabila detik dibungkus, kod itu akan mengeset semula jumlah yang berjalan hingga 0 dan menambah baki. Kod ini juga mengendalikan satu lagi kes khas, apabila nilai yang dikembalikan oleh millis () sendiri digulung, selepas kira-kira setiap 9 jam uptime.

Saya menggunakan pin 11 Arduino untuk memandu meter saat saya diprogramkan. Kemudian saya pergi ke pengaturcaraan dan memandu jam dan minit meter dengan cara yang sama, menggunakan pin 9 dan 10. Pendawaian bagi setiap meter adalah sama: pin output mikropengawal menyambung ke potensiometer dengan siri, yang kemudiannya membawa kepada meter.Semua kod untuk projek ini, bersama dengan gambar rajah pendawaian, boleh didapati di makezine.com/13/diycircuits_clock.

Ammeters asal menunjukkan skala antara 0 dan 1 milliamp.

Menetapkan Masa

Untuk menjadikan jam kami berguna, kami memerlukan cara untuk menetapkan masa selepas kami menguatkannya. Untuk melakukan ini saya menggunakan 3 suis. Satu pusingan jam melalui 4 mod (normal, set, semua-rendah, dan semua tinggi - dijelaskan kemudian), satu peningkatan jam, dan satu peningkatan minit. Untuk mendapatkan bacaan yang sesuai dari input digital, kita memerlukan perintang tarik antara setiap pin input dan + 5V. Mikroprosesor Arduino mempunyai kemudahan ini dibina, tetapi anda perlu mengaktifkannya secara jelas dengan mengisytiharkan pin sebagai input dengan

pinMode (b1pin, INPUT)

dan kemudian memanggil

digitalWrite (pin, TINGGI)

Kerana program ini berjalan melalui gelung utama yang banyak kali setiap detik, kami mengandaikan bahawa satu tekan butang tunggal akan dibaca beberapa kali. Untuk mengendalikan ini, saya mempunyai pembolehubah bagi setiap butang yang menjejaki keadaannya. Juga, apabila program pertama mengesan bahawa keadaan butang telah berubah, ia menangguhkan selama 20 milisaat untuk menunggu sebarang bounce signal dari suis.

Suis mod bergerak jam antara 4 mod: normal, masa ditetapkan, semua meter rendah, dan semua meter tinggi. Mod biasa menunjukkan masa, mod set membolehkan anda menukarnya, dan mod semua-rendah dan semua-tinggi menetapkan pin output 3 kepada 0V dan 5V, masing-masing, untuk menentukur meter. Kod terus menjejaki masa semasa dalam semua mod, kecuali ia ditetapkan semula. Saya sedang mempertimbangkan untuk menambah mod tambahan kepada jam, seperti penggera, jam randik, dan pemasa.

Membuat Skala

Skala pada meter seperti dibeli dibaca dari 0mA hingga 1mA, tetapi untuk masa yang boleh dibaca, kita perlu skala yang pergi dari 0 hingga 24 untuk jam dan 0 hingga 60 untuk minit dan saat. Melakukannya akhirnya menjadi salah satu bahagian yang paling sukar dalam projek ini.

Saya bermula dengan membongkar salah satu meter dan mengimbas panel cetak dengan skala. Kemudian saya menggunakan alat pengukur dalam program lukisan Unix Xfig (xfig.org) untuk mengukur jarak dan sudut imej. Satu komplikasi adalah bahawa skala tidak berdasarkan arka bulatan yang mudah; ia dimampatkan secara menegak supaya hujung skala terletak lebih jauh dari sudut pivot jarum daripada tengah.

Untuk menghasilkan skala baru, saya menulis sebuah program di Tcl (tcl.tk) yang mengambil satu set jarak dan sudut yang menggambarkan skala, mengira garis dan lengkung komponennya, dan mengeluarkan fail imej dalam format asli Xfig. Saya membaca fail ini ke dalam Xfig dan menggunakannya untuk menghasilkan fail PostScript yang boleh dicetak.

Rajah A: Skala meter saat memaparkan 60 dengan input 1 milliamp.

Satu-satunya masalah adalah bahawa garis terbaik yang boleh dilukis oleh Xfig adalah lebih tebal berbanding yang saya mahu, jadi saya menyunting PostScript dengan tangan untuk membuat garis lebih nipis sebelum mencetaknya. Apabila saya mencetak skala baru, saya memotongnya dan menggunakan pelekat semburan untuk melekatkannya pada plat (Rajah A).

Untuk membantu menyusun skala di atas pinggan, saya mencetak tanda tambahan di mana lubang skru itu. Dan agar skala asal tidak akan ditunjukkan melalui kertas, saya meletakkan skala baru di belakang pinggan, yang kosong (dan simetris).

Boxing It Up

Ini adalah jenis projek yang memerlukan kotak yang baik, untuk memaparkan meter dan menyembunyikan wayar dan sebagainya. Isteri saya mencadangkan bahawa kotak kayu yang bagus akan kelihatan baik pada mantel, dan kami memilih satu di kedai kraf tempatan.

Rajah B: Templat kertas untuk memotong lubang di dalam kotak.

Rajah C: Lubang di dalam kotak, dengan beberapa lubang yang disalurkan ke dalam slot untuk disesuaikan dengan skru.

Rajah D: Meter dengan skala baru mereka masuk ke dalam kotak.

Pemasangan meter bermakna penggerudian lubang pusat luas untuk bahagian belakang meter itu sendiri, dikelilingi sekata oleh 4 lubang kecil untuk skru pelekap. Saya membuat templat kertas sebagai panduan (Rajah B, halaman sebelumnya) dan digerudi dengan sewajarnya, tetapi sukar untuk mendapatkan lubang pemasangan cukup tepat, jadi saya menggunakan sedikit lebih besar dan lubang kunci untuk membersihkan ruang yang mencukupi untuk mereka patut (Rajah C). Meter semua sesuai dengan ketat di lubang pusat, jadi saya tidak peduli untuk meletakkan kacang dan pencuci pada skru pelekap (Rajah D).

Untuk sumber kuasa, saya menganggap meletakkan bateri dalam kotak, tetapi Arduino menarik 20mA-30mA, jadi walaupun dengan sel D, mereka perlu diubah setiap 5 minggu. Sebaliknya saya memutuskan untuk menggunakan ketuat dinding dan berlari kord melalui lubang di belakang kotak. Butang untuk menetapkan jam dan menukar mod yang saya tinggalkan di papan roti di dalamnya.

Gambar E: Lapisan cat merah.

Gambar F: Cat hitam sebahagiannya disapu di sepanjang tepi, mendedahkan lapisan bawah merah untuk kesan antik.

Akhirnya, saya mahu kotak itu menjadi hitam tua, agar sesuai dengan perabot kami. Saya mencapai kesan ini dengan terlebih dahulu meletakkan lapisan cat merah dan membenarkannya kering (Rajah E). Saya kemudian mengikutinya dengan hitam dan ringan menghapus cat basah dari pinggir, mendedahkan sejumlah kecil merah di bawah (Rajah F).

Hasil akhirnya adalah jam yang unik dan pemula percakapan yang hebat yang boleh dipaparkan dengan jelas di rumah saya, dan sekarang juga di dalam anda!

Rajah G: Jam amp meter siap dengan tudung terbuka untuk menunjukkan litar.

Gambarajah H: Jam yang memaparkan analog pada pukul 12 pagi.


Gene Scogin adalah seorang programmer komputer yang menikmati pelbagai projek tangan.


Rujukan:

Buat: Arduino Arduino Starter Kit Bermula dengan Arduino

http://store.makezine.com

http://www.makezine.com/13/diycircuits_clock

http://xfig.org

http://tcl.tk


Dari JUMLAH 13 - Page 165. Untuk mendapatkan JANGAN, langgan atau belikan jumlah tunggal.

Kongsi

Meninggalkan Komen