Jam elektronik buatan rumah, basis elemen - bagian 2

Halo geektimes! Pada bagian pertama artikel, prinsip-prinsip untuk mendapatkan waktu yang akurat pada jam tangan buatan sendiri dipertimbangkan. Mari kita lanjutkan dan pertimbangkan bagaimana dan kapan waktu yang lebih baik untuk diturunkan.

1. Perangkat Keluaran


Jadi, kami memiliki platform tertentu (Arduino, Raspberry, PIC / AVR / STM-controller, dll), dan tugasnya adalah menghubungkan beberapa indikasi ke sana. Ada banyak opsi yang akan kami pertimbangkan.

Indikasi segmen


Semuanya sederhana di sini. Indikator segmen terdiri dari LED biasa yang terhubung secara sepele ke mikrokontroler melalui quenching resistor.


Perhatian, lalu lintas!

Kelebihan: kesederhanaan desain, sudut pandang yang bagus, harga murah.
Minus: jumlah informasi yang ditampilkan terbatas.
Ada dua jenis desain indikator, dengan katoda umum dan anoda umum, di dalamnya terlihat seperti ini (diagram dari situs web pabrikan).


Ada artikel 1001 tentang cara menghubungkan LED ke mikrokontroler, google untuk membantu. Kesulitan dimulai ketika kita ingin membuat arloji besar - setelah semua, melihat indikator kecil tidak terlalu nyaman. Maka kita memerlukan indikator seperti itu (foto dari eBay):


Mereka didukung oleh 12V, dan mereka tidak akan bekerja langsung dari mikrokontroler. Di sini chip CD4511 membantu kami, hanya untuk tujuan ini. Itu tidak hanya mengkonversi data dari garis 4-bit ke angka yang diinginkan, tetapi juga mengandung saklar transistor built-in untuk memasok tegangan ke indikator. Jadi, dalam rangkaian kita perlu memiliki tegangan "daya" 9-12V, dan konverter step-down yang terpisah (misalnya, L7805) untuk memberi daya pada "logika" sirkuit.

Indikator matriks


Sebenarnya, ini adalah LED yang sama, hanya dalam bentuk matriks 8x8. Foto dari eBay:


Dijual di eBay dalam bentuk modul tunggal atau blok jadi, misalnya, 4 buah. Mengelolanya sangat sederhana - chip MAX7219 sudah disolder ke modul , memastikan operasi dan koneksi ke mikrokontroler hanya dengan 5 kabel. Ada banyak perpustakaan untuk Arduino, mereka yang ingin dapat melihat kode.
Pro: harga murah, sudut pandang yang bagus dan kecerahan.
Minus: resolusi rendah. Tetapi untuk tugas menghasilkan waktu sudah cukup.

Indikator LCD


Indikator LCD grafis dan teks.


Grafik lebih mahal, tetapi mereka memungkinkan Anda untuk menampilkan informasi yang lebih beragam (misalnya, grafik tekanan atmosfer). Tekstual lebih murah dan lebih mudah untuk dikerjakan, mereka juga memungkinkan Anda untuk menampilkan pseudografi - dimungkinkan untuk memuat karakter khusus ke dalam tampilan.

Tidak sulit untuk bekerja dengan indikator LCD dari kode, tetapi ada minus tertentu - indikator membutuhkan banyak garis kontrol (dari 7 hingga 12) dari mikrokontroler, yang merepotkan. Oleh karena itu, orang Cina datang dengan kombinasi indikator LCD dan pengontrol i2c, yang ternyata sangat nyaman pada akhirnya - hanya 4 kabel yang cukup untuk dihubungkan (foto dari eBay).

Indikator LCD cukup murah (jika Anda menggunakan eBee), besar, mudah disambungkan, dan Anda dapat menampilkan berbagai informasi. Satu-satunya negatif adalah sudut pandang tidak terlalu besar.

Indikator OLED


Mereka adalah kelanjutan yang ditingkatkan dari versi sebelumnya. Bervariasi dari yang kecil dan murah dengan diagonal 1,1 "hingga besar dan mahal. Foto dari eBay.

Sebenarnya, itu bagus untuk semua orang kecuali harga. Adapun indikator kecil, ukuran 0,9-1,1", kemudian (selain mempelajari cara bekerja dengan i2c) beberapa aplikasi praktis sulit bagi mereka untuk menemukannya.

Indikator pelepasan gas (IN-14, IN-18)


Indikator ini sekarang sangat populer, tampaknya karena " suara tabung hangat cahaya" dan desain aslinya.

(foto dari nocrotec.com)

Skema koneksi mereka agak lebih rumit, karena Indikator-indikator ini menggunakan tegangan 170V untuk pengapian. Konverter 12V => 180V dapat dibuat pada chip MAX771 . Untuk memasok tegangan ke indikator, sirkuit mikro Soviet K155ID1 digunakan, yang dibuat khusus untuk ini. Masalah harga untuk produksi sendiri: sekitar 500 rubel untuk setiap indikator dan 100 rubel untuk K155ID1, semua perincian lainnya, seperti yang mereka tulis di majalah lama, "tidak langka." Kesulitan utama di sini adalah bahwa baik IN-xx dan K155ID1 telah lama dihentikan, dan Anda dapat membelinya hanya di pasar radio atau di beberapa toko khusus.

2. Pemilihan platform


Kami menemukan kurang lebih dengan indikasi, masih untuk memutuskan platform perangkat keras mana yang lebih baik untuk digunakan. Ada beberapa opsi di sini (saya tidak mempertimbangkan yang dibuat di rumah, karena saya tidak membutuhkan artikel ini untuk mereka yang dapat membuat papan dan menyolder prosesor).

Arduino


Opsi termudah untuk pemula. Papan selesai tidak mahal (sekitar $ 10 di eBay dengan pengiriman gratis), memiliki semua konektor yang diperlukan untuk pemrograman. Foto dari eBay:


Di bawah Arduino ada sejumlah besar perpustakaan yang berbeda (misalnya, untuk layar LCD yang sama, modul waktu nyata), Arduino kompatibel dengan perangkat keras dengan berbagai modul tambahan.
Minus utama: kompleksitas debugging (hanya melalui konsol port serial) dan prosesor yang agak lemah dengan standar modern (2KB RAM dan 16MHz).
Kelebihan utama: Anda dapat melakukan banyak hal, hampir tanpa repot menyolder, membeli programmer dan papan kabel, cukup menghubungkan modul satu sama lain.

Prosesor STM 32-bit


Bagi mereka yang menginginkan sesuatu yang lebih kuat, ada papan siap pakai dengan prosesor STM, misalnya, papan dengan STM32F103RBT6 dan layar TFT. Foto dari eBay:


Di sini kita sudah memiliki debug penuh dalam IDE penuh (saya paling suka Coocox IDE), namun, Anda akan memerlukan programmer-debugger ST-LINK terpisah dengan konektor JTAG (harganya $ 20-40 di eBay). Atau, Anda dapat membeli papan debug STM32F4Discovery, di mana programmer ini sudah terintegrasi, dan dapat digunakan secara terpisah.

Raspberry PI


Dan akhirnya, bagi mereka yang menginginkan integrasi penuh dengan dunia modern, ada komputer papan tunggal dengan Linux, semua orang mungkin sudah mengetahui Raspberry PI. Foto dari eBay:


Ini adalah komputer lengkap dengan Linux, satu gigabyte RAM dan prosesor 4-core. Panel 40 pin ditampilkan di tepi papan, memungkinkan Anda untuk menghubungkan berbagai periferal (pin dapat diakses dari kode, misalnya dengan Python, belum lagi C / C ++), ada juga USB standar dalam bentuk 4 konektor (Anda dapat menghubungkan WiFi). Ada juga HDMI standar.
Dewan akan memiliki daya yang cukup, misalnya, tidak hanya untuk menampilkan waktu, tetapi juga untuk menahan server HTTP untuk pengaturan parameter melalui antarmuka web, memuat prakiraan cuaca melalui Internet, dan sebagainya. Secara umum, ruang lingkup untuk penerbangan fantasi sangat besar.

Hanya ada satu kesulitan dengan Raspberry (dan prosesor STM32) - pinnya menggunakan logika 3-volt, dan sebagian besar perangkat eksternal (seperti layar LCD) bekerja "dengan cara lama" dari 5V. Tentu saja, Anda dapat menghubungkannya seperti itu, pada prinsipnya, itu akan berhasil, tetapi ini bukan metode yang tepat, dan sayang untuk merusak biaya sebesar $ 50. Cara yang benar adalah dengan menggunakan "konverter tingkat logika", yang harganya hanya $ 1-2 di eBay.
Foto dari eBay:


Sekarang cukup untuk menghubungkan perangkat kita melalui modul seperti itu, dan semua parameter akan disetujui.

ESP8266


Metode ini agak eksotis, tetapi cukup menjanjikan karena kekompakan dan biaya solusi yang rendah. Dengan sedikit uang (sekitar $ 4-5 di eBay) Anda dapat membeli modul ESP8266 yang berisi prosesor dan WiFi.
Foto dari eBay:


Pada awalnya, modul-modul seperti itu dimaksudkan sebagai jembatan WiFi untuk pertukaran port serial, tetapi para penggemar menulis banyak firmware alternatif untuk bekerja dengan sensor, perangkat i2c, PWM, dll. Secara hipotesis dimungkinkan untuk mendapatkan waktu dari server NTP dan tampilkan melalui i2c pada tampilan. Bagi mereka yang ingin menghubungkan banyak periferal yang berbeda, ada papan NodeMCU khusus dengan sejumlah besar kesimpulan, harga pertanyaannya adalah sekitar 500 rubel (tentu saja di eBay):


Satu-satunya negatif adalah bahwa ESP8266 memiliki memori RAM yang sangat sedikit (tergantung pada firmware, dari 1 hingga 32KB), tetapi tugas membuatnya semakin menarik. Modul ESP8266 menggunakan logika 3-volt, sehingga konverter level di atas juga berguna di sini.

Pada kunjungan pengantar ini ke elektronik buatan sendiri dapat diselesaikan, penulis berharap semua percobaan yang berhasil.

Alih-alih sebuah kesimpulan


Saya akhirnya menggunakan Raspberry PI dengan indikator teks yang dikonfigurasi untuk bekerja dengan pseudografi (yang keluar lebih murah daripada layar grafik diagonal yang sama). Potret layar jam desktop saat menulis artikel ini.


Jam menampilkan waktu yang tepat diambil dari Internet, dan cuaca, yang diperbarui dari Yandex, semua ini ditulis dalam Python, dan sudah bekerja beberapa bulan. Pada saat yang sama, server FTP diluncurkan pada jam, yang memungkinkan (bersama dengan port forwarding pada router) untuk memperbarui firmware pada mereka tidak hanya dari rumah, tetapi juga dari tempat di mana ada akses Internet. Sebagai bonus, sumber daya Raspberry, pada prinsipnya, akan cukup untuk menghubungkan kamera dan / atau mikrofon dengan kemampuan untuk memantau apartemen dari jarak jauh, atau untuk mengontrol berbagai modul / relay / sensor. Anda dapat menambahkan segala macam "roti", seperti indikator LED untuk surat masuk, dan sebagainya.

PS: Mengapa eBay?
Seperti yang Anda lihat, harga atau foto dari ebay diberikan untuk semua perangkat. Mengapa demikian? Sayangnya, toko kami sering hidup dengan prinsip "dibeli seharga $ 1, dijual seharga $ 3, dan saya hidup dengan 2 persen ini." Sebagai contoh sederhana, biaya Arduino Uno R3 (pada saat penulisan) 3600 rubel di St. Petersburg, dan 350 rubel di eBay dengan pengiriman gratis dari Cina. Perbedaannya adalah urutan besarnya, tanpa berlebihan sastra. Ya, Anda harus menunggu sebulan untuk mengambil bungkusan melalui pos, tapi saya pikir itu sepadan dengan selisih harga. Tapi omong-omong, jika seseorang membutuhkannya sekarang dan mendesak, maka harus ada pilihan di toko-toko lokal, maka semua orang memutuskan untuk dirinya sendiri.

Source: https://habr.com/ru/post/id383629/


All Articles