Daftar Isi:

Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional: 3 Langkah
Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional: 3 Langkah

Video: Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional: 3 Langkah

Video: Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional: 3 Langkah
Video: Jumlah Setelah Ditambah dengan Angka Ulang Tahun Anda? Jika Sama dengan 369, Anda Ditakdirkan... 2024, Juli
Anonim
Image
Image
Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional
Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional
Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional
Jam Kata Empat Huruf Dengan Generator Kata Akafugu dan Frasa Inspirasional

Ini adalah versi saya dari Jam Empat Huruf, sebuah ide yang berasal dari tahun 1970-an. Jam menampilkan serangkaian kata empat huruf yang dihasilkan baik dari algoritma generator kata acak atau dari database kata empat huruf yang terkait.

Versi ini menggunakan tampilan LED 14 segmen yang lebih modern dan mikrokontroler Atmega 328p untuk menampilkan kata dan waktu. Dua mode pembuatan kata didukung. Yang pertama menggunakan algoritme untuk menghasilkan kelompok kata empat huruf yang kemungkinan merupakan kata yang sebenarnya, mirip dengan aslinya. Setiap kata yang berurutan tidak terkait dengan yang sebelumnya. Modus kedua menggunakan database kata relasional dari "Edinburgh Associative Thesaurus", sebuah dokumen asosiasi kata berdasarkan tanggapan orang-orang untuk menanyakan kata pertama yang muncul di benak mereka setelah memberi mereka kata benih, kemudian melanjutkan proses dengan kata tanggapan. Basis data ini diadaptasi ke pembuatan kata empat huruf oleh Akafugu Corporation, yang membuat file data 57 Kbyte yang disimpan dalam EEPROM eksternal untuk diproses oleh Atmega. Hasilnya adalah bahwa jam menggunakan waktu Unix sebagai benih acak dan menghasilkan serangkaian kata empat huruf yang terkait berdasarkan respons manusia, bukan beberapa algoritme.

Catatan: Basis data kata Akafugu berisi beberapa kata yang eksplisit secara seksual dan berpotensi menyinggung. Jika ini mengganggu Anda, silakan aktifkan mode kata acak. Ini juga dapat menghasilkan beberapa kata yang menyinggung, tetapi setidaknya tidak akan menampilkan aliran kata-kata ofensif terkait!

The "Edinburgh Associative Thesaurus" disusun berdasarkan tanggapan dari orang-orang yang tinggal di Inggris pada awal 60-an. Kata relasi pasti mencerminkan bias itu! Misalnya, kata "TERBAIK" sering diikuti oleh "PETE". Tidak ada hubungan yang jelas, kecuali ada yang tahu bahwa Pete Best adalah drummer asli The Beatles di awal tahun 60-an! Bias lain terhadap budaya Inggris tahun 60-an berlimpah. Saya pikir itu sangat menarik untuk ditonton!

Perangkat ini juga berisi modul Jam Waktu Nyata yang dapat dialamatkan I2C dengan cadangan baterai yang dapat diisi ulang. Jam menampilkan 5 kata dari salah satu dari dua algoritme yang dapat dipilih, lalu menampilkan waktu, tanggal, hari dalam seminggu, dan tahun. Jam dan mode pengoperasian diatur menggunakan tiga sakelar tombol tekan. Mode operasi disimpan dalam EEPROM non-volatil dan bertahan dari reset atau kegagalan daya. RTC terus berjalan selama sekitar satu tahun setelah listrik dimatikan, dengan akurasi kompensasi suhu yang ekstrim. Waktu yang tepat secara otomatis ditampilkan ketika daya dipulihkan.

Fitur tambahan adalah 107 kutipan tentang waktu yang ditampilkan secara acak setiap 10 menit. Kutipan-kutipan ini bergulir dari kanan ke kiri melintasi empat karakter, memberikan dorongan dan inspirasi yang sering! Penyimpanan untuk frasa ada di EEPROM eksternal dengan basis data kata Akafugu. Databse hanya membutuhkan 57 Kbytes dari 64 Kbytes yang tersedia di perangkat, menyisakan ruang untuk 107 frase. Frase "sombong" selalu yang pertama ditampilkan saat jam pertama kali dinyalakan pada interval 10 menit berikutnya.

Unit ini menggunakan tampilan 14-segmen katoda umum (2 katoda untuk setiap digit) yang digandakan oleh rutinitas layanan interupsi pengatur waktu yang menghasilkan tampilan empat karakter yang disegarkan pada 100 Hz. Setiap kali ISR berjalan, ia mematikan setengah karakter sebelumnya, mengambil 7 dari 14 segmen untuk salah satu dari empat karakter, menyalakan pin segmen yang sesuai dan membumikan katoda yang sesuai. Tampilannya agak tidak biasa, tetapi saya memiliki persediaan surplus besar yang ingin saya gunakan. Katoda dual-common mengurangi jumlah pin yang dibutuhkan per digit dari 15 menjadi 9. Hanya ada cukup pin pada Atmega 328p untuk memungkinkan tampilan drive langsung tanpa register geser.

YANG HARUS DILAKUKAN: Ubah kode untuk menggunakan modul LED alfanumerik 4 karakter Adafruit

Langkah 1: Sejarah

Sejarah
Sejarah
Sejarah
Sejarah
Sejarah
Sejarah
Sejarah
Sejarah

Jam FLW asli dibuat dengan tabung surplus neon alfanumerik Burroughs B7971 besar yang diambil dari papan display ticker saham yang dinonaktifkan. Ini mirip dengan tabung nixie numerik pada waktu itu, tetapi menggunakan tampilan 14 segmen untuk membentuk semua karakter ASCII. Jam menggunakan logika diskrit, memilih huruf dari tabel untuk membentuk kombinasi empat huruf acak yang diberi bobot agar cenderung menghasilkan kata-kata nyata.

Dengan algoritma Pada model 1972 yang asli, hanya huruf-huruf tertentu yang muncul di setiap posisi. Analisis tabulasi tangan dari beberapa ratus kata empat huruf dilakukan dan frekuensi huruf di masing-masing dari empat posisi dihitung. Sepuluh huruf yang paling sering digunakan untuk setiap posisi digunakan, kecuali pada posisi kedua yang hanya berisi delapan huruf.

Untuk setiap posisi, penghitung BCD (0-9) sederhana (IC 74LS90) berjalan bebas dan penghitungan ditangkap dan ditahan sekitar sekali setiap beberapa detik hingga sekali per menit, tergantung pada pengaturan kecepatan. Cuplikan counter kemudian diterapkan ke matriks decoding dioda (menggunakan sekitar 150 dioda) untuk membentuk karakter.

Karena hanya sepuluh (atau delapan) huruf paling umum yang dipilih untuk setiap posisi, tanpa memperhatikan kombinasi huruf, banyak non-kata dapat muncul, misalnya, FRLR, LREE, LLLL, dll.

Perhatikan bahwa posisi kedua hanya memiliki delapan huruf, karena huruf kesembilan dan kesepuluh dalam sampel memiliki frekuensi yang proporsional rendah, sedangkan yang pertama dan kedua memiliki frekuensi yang sangat tinggi-jadi dua kali lipat. Jadi 10 x 8 x 10 x 10 = 8000 permutasi. Huruf-huruf yang diprogram ke dalam model 1973 pertama ditunjukkan pada salah satu gambar di atas.

Langkah 2: Kode dan Skema

Kode dan Skema
Kode dan Skema
Kode dan Skema
Kode dan Skema
Kode dan Skema
Kode dan Skema
Kode dan Skema
Kode dan Skema

Skema terlampir.

Jam dapat dibuat menggunakan Arduino berbasis Atmega 328p.

Untuk digunakan dengan Atmega 328p mandiri, seperti yang ditunjukkan pada skema, programmer ISP harus digunakan untuk memprogram mikrokontroler melalui Arduino IDE. Setelah pemrograman, sekering harus diatur menggunakan perintah avrdude berikut (WinAVR harus diinstal). Ganti tipe port com dan programmer. Yang paling mudah adalah menggunakan Arduino sebagai programmer ISP. Google untuk detailnya.

avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse:w:0xFF:m -U hfuse:w:0xDF:m -U efuse:w:0x05:m

Pengaturan ini menonaktifkan vektor reset bootloader sehingga kode segera dimulai dari vektor kode utama. Sekering juga diatur untuk osilator 16MHz eksternal. Setelah dibakar, Anda tidak akan dapat memprogram chip lagi sampai kristal dan kapasitor terhubung seperti yang ditunjukkan pada skema, karena osilator internal default dinonaktifkan dengan pengaturan sekering ini.

Perpustakaan Arduino DS3231 harus diinstal untuk menyediakan akses ke rutinitas jam RTC. Penting untuk mengaktifkan dukungan waktu Unix di perpustakaan dengan menghapus komentar pada baris "#define CONFIG_UNIXTIME" di file config.h perpustakaan DS3231 RTC. Waktu Unix digunakan sebagai benih untuk pembangkit angka acak sehingga urutan kata dan frase tidak akan berulang setiap kali jam dinyalakan.

Modul jam DS3231 RTC sendiri adalah variasi umum yang dijual di ebay. Modul diilustrasikan di atas. Carilah tipe dengan baterai cadangan yang dapat diisi ulang.

Selain mikrokontroler terprogram, juga diperlukan untuk mendapatkan dan memprogram EEPROM serial Microchip 24LC512 dengan database kata dan daftar frase Akafugu. Ini dilakukan dengan menggunakan rangkaian sederhana yang dibangun dengan Arduino, dan kartu SD yang diformat sebagai FAT32 dengan file output2.dat di dalamnya. Sebuah sketsa membaca data dari kartu SD dan menulisnya ke EEPROM. Detailnya dapat ditemukan di dua tautan berikut. Pastikan untuk menggunakan sketsa pemrograman dan file data dalam Instruksi ini, karena yang ada di tautan Akafugu tidak memiliki basis data frasa. Ikuti prosedur di tautan.

Ikhtisar basis data FLW Akafugu

Petunjuk untuk membakar file data ke EEPROM

Langkah 3: Pengaturan dan Kontrol Jam

Kombinasi tombol berikut digunakan untuk pengaturan jam:

Jam yang disetel: Tahan tombol 1 selama pengoperasian normal.

Set menit: Tahan tombol 2 selama pengoperasian normal. Kedua diatur ulang ke "00" secara otomatis

Detik diatur ulang ke nol: Tahan tombol 3 selama operasi normal, lepaskan untuk menyinkronkan dengan awal menit baru

Atur Bulan: Tahan tombol 1 dan 2 bersamaan selama operasi normal

Atur Tanggal: Tahan tombol 1 dan 3 bersamaan selama operasi normal

Atur Tahun: Tahan tombol 2 dan 3 bersamaan selama operasi normal

Atur Hari Minggu: Tahan tombol 1, 2 dan 3 bersamaan selama operasi normal

Saat unit pertama kali dihidupkan, mode pengoperasian ditampilkan dengan cepat sebelum pembuatan kata dimulai:

"EE" berarti EEPROM eksternal I2C yang berisi basis data kata dan daftar frasa Akafugu telah terdeteksi.

"NOEE" berarti EEPROM tidak terdeteksi. Unit kembali ke generasi kata acak dan tidak ada tampilan frase.

"CK" berarti waktu dan tanggal ditampilkan setelah menampilkan 5 kata berturut-turut.

"NOCK" berarti waktu/tanggal dimatikan. Aliran kata yang stabil terus ditampilkan, disela setiap 10 menit oleh sebuah frase.

"RND" berarti mode pembuatan kata acak digunakan

"REL" berarti mode pembuatan basis data kata "Akafugu" relasional digunakan

Untuk mengubah dan menyimpan mode, cabut jam dan sambungkan kembali sambil menahan salah satu tombol yang ditunjukkan. Kemudian lepaskan tombol. Mode baru disimpan dan ditampilkan:

Tombol 1: Beralih dan simpan mode pembuatan kata Acak atau Relasional

Tombol 2: Mengaktifkan atau menonaktifkan tampilan tanggal/waktu setelah 5 kata berturut-turut

Direkomendasikan: