Mesin tik USB



Mesin tik portabel Unis tbm de Luxe, dibuat di Yugoslavia, Sarajevo. Contoh paling umum di ruang pasca-Soviet, kuncinya ada di Cyrillic.

Kombinasi warna merah dan putih dari case menarik perhatian, dan selalu ada keinginan untuk menggunakan mesin sebagai elemen dekorasi. Tapi, mengapa mengacaukan ruangan dengan hal-hal yang tidak digunakan. Oleh karena itu, tujuannya telah ditetapkan: untuk menyesuaikan mesin dengan kondisi modern sehingga saat mencetak karakter dihasilkan pada PC.

Elektronik


Sebagai kontak untuk kunci, saklar buluh disediakan. Perangkat Pro Micro yang didasarkan pada mikrokontroler ATmega32U4 dipilih untuk pengontrol matriks kontak.

Kode sumber ditulis dalam C, sebagai dasar yang digunakan kode perpustakaan LUFA untuk keyboard. Perpustakaan LUFA ditulis khusus untuk kompiler AVR-GCC gratis. Firmware diproduksi oleh SPI. Ada versi kedua dari firmware, melalui bootloader dan melalui USB, tetapi kemudian Anda perlu menampilkan tombol reset pada terminal MK (Reset dan GND).

Algoritma dari program ini adalah sebagai berikut:

  1. Empat I / O dikonfigurasi untuk output (pemindaian), dua belas untuk input (polling). Resistor (PullUp) ditarik ke input (perangkat lunak). Dalam interupsi, untuk setiap output, secara berurutan atur "0", sesuai dengan siklus 1110-1101-1011-0111 dan seterusnya.
  2. Dalam siklus dengan “0” berjalan, kondisi diperiksa, jika, dalam kondisi tertentu, “0” ada (tombol ditekan), maka kondisi ini ditandai dengan kolom tombol yang ditekan = x, garis = y.
  3. Dalam fungsi panggilan balik CALLBACK_HID_Device_CreateHIDReport (), kondisi diperiksa untuk setiap kolom nilai = x dan baris = y, dan ketika dijalankan, kode pemindaian karakter yang sesuai dikirim ke komputer.
  4. Dengan satu klik, hanya satu karakter yang harus ditampilkan, tidak seperti pada keyboard biasa.

Ini bukan versi algoritma yang sangat elegan, tetapi ini berfungsi!

Sangat penting bahwa katoda dioda dan anoda untuk masing-masing dari empat kolom dari matriks kontak harus terhubung ke kesimpulan pemindaian (kolom) dari mikrokontroler. Ini harus dilakukan untuk mengecualikan penutupan sementara secara bersamaan menekan beberapa tombol pada kolom yang berbeda.

Kunci "Huruf besar" dan "Superscript" harus ditampilkan dalam baris terpisah untuk menyederhanakan kode. Tombol "Enter-transfer ke baris lain" dan "Space" ditampilkan dalam garis yang terpisah, karena fitur desain mesin, tetapi mereka dapat tertanam dalam matriks.

Sayangnya, output Pro Micro tidak cukup, secara harfiah untuk satu kunci. Saya membuat kesalahan: Saya menempatkan saklar buluh kunci "superscript" dalam matriks dengan yang lain. Itu bisa dilakukan sebaliknya, masukkan kontak spasi ke dalam matriks, dan tambahkan baris superskrip dalam baris yang terpisah! Tetapi papan sudah terpasang dan dicat, saya harus mempersulit kode. Ada satu cacat lagi, tetapi ditentukan oleh fitur desain mesin tik: jumlah kesimpulan 4 dan input survei 12, memberi kita 4x12 = 48 kunci, dengan 4 + 12 = 16 input dan output yang digunakan. Saya bisa, dengan jumlah 48 kunci, menggunakan 8 pin dan 6 input polling, sehingga membebaskan 2 input yang hilang.

Tidak masuk akal untuk menggambar diagram sirkuit, semua koneksi dapat dibuat sesuai dengan tabel di bawah ini.

Hubungi tabel pemindaian matriks untuk mesin tik



Catatan:
Warna merah menunjukkan simbol untuk kode pindai.
Atmega32U4 terdaftar di (). Dalam [], PRO MICRO I / O

Di PC termasuk tata letak Rusia!

Dengan kolom 1, kombinasi kode pindai disertakan. Dengan kolom 2-4, huruf besar diaktifkan sambil menahan atau menahan tombol register

Mekaniknya


Dimungkinkan untuk mengalihkan perangkat ke pencetakan mekanis, dengan gerakan media, maka pencetakan dapat diduplikasi. Jika ada kaset, mesin akan mencetak di atas kertas dan tentu saja di editor pada PC, teks akan menjadi otentik.

Untuk ini, mesin dimodifikasi oleh kait. Ketika sekrup diputar, carriage diperbaiki, saat dibuka, kami mendapatkan mesin tik + keyboard USB biasa di Cyrillic, dalam satu perangkat.



Ini adalah papan yang terbuat dari getinax berlapis satu sisi, tempat kontak yang disegel dipasang. Papan sirkuit tercetak, di bagian depan, dicat perak agar pas dengan desain perangkat. Sebelumnya, sebagai ganti papan, stiker dengan warna yang sama dipasang.



Jarak antara elemen dipilih dengan cermat secara eksperimental, dan bergantung pada kinematika mesin tik. Di tepi tuas, di bawah tombol, magnet neodymium dipasang.

Posisi magnet dalam ruang dan jarak antara garis tengah sakelar buluh dan magnet memengaruhi operasi kontak yang stabil. Ketika mendekati tuas dengan magnet pada jarak (6-8mm), di bawah pengaruh medan magnet saklar buluh ditutup. Juga perlu bahwa tidak ada alarm palsu dari kontak tetangga, jadi saya harus mendistribusikan elemen secara merata pada dua papan sirkuit tercetak. Papan berorientasi, dalam kaitannya satu sama lain, pada sudut tertentu (dipilih secara eksperimental). Sakelar buluh terdistribusi secara merata dan masing-masing berjarak pada jarak yang sama (secara vertikal) dari tuas yang sesuai, pada posisi tombol yang ditekan (6-8mm).

Sakelar buluh terletak di bagian belakang papan, di sisi yang berlawanan dari tuas. Ini dilakukan secara khusus untuk mengecualikan kerusakan pada saklar buluh, dengan kemungkinan sentuhan tuas papan sirkuit. Meskipun tuas tidak berhubungan dengan papan, tetapi untuk setiap "pemadam kebakaran", hal tersebut diterima. keputusan.



Sensor untuk ruang dan register perakitan. Meskipun bahannya adalah paramagnet, reed switch dalam cangkang seperti itu beroperasi secara stabil.



Perangkat ini selesai, tetapi tanpa pengontrol! Pengontrol akan terletak di sisi kiri (sesuai dengan foto), di mana ada konektor gratis.



Sensor kunci "Enter-transfer ke saluran lain" dipasang pada carriage dan terhubung ke bagian tetap mesin dengan kabel multicore yang fleksibel. Di dalam carriage, loop kabel terlipat dan terbuka, tergantung pada posisinya.



Perangkat ini tidak menghasilkan manfaat apa pun, kecuali bahwa lebih banyak keterampilan, pengalaman, dan pengetahuan telah muncul, dengan pekerjaan terkait. Dan jika pengetahuan baru telah muncul, maka waktu telah dihabiskan dengan baik!

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


All Articles