Pada satu masa, kalkulator poket, di mana penterjemah Asas dilancarkan dengan serta-merta, mempunyai pengedaran tertentu. Seperti dalam rumah komputer yang popular pada masa yang sama, tetapi dengan maklumat yang dipaparkan pada paparan resolusi rendah bersepadu. Ini membolehkan pengaturcara bukan profesional menulis program untuk pengiraan yang agak kompleks tanpa mengambil TV. Menjelang pertengahan tahun sembilan puluhan, populariti kalkulator ini jatuh disebabkan oleh populariti PDA yang semakin universal, di mana Asas hanya salah satu aplikasi yang mungkin, bersama dengan yang lain. Dalam telefon pintar moden dengan cara yang sama: anda perlu BASIC - anda memuat turun dari kedai aplikasi. Sekarang, apabila ramai memohon buatan sendiri mikrokontroler, kalkulator keluli bukan biasa dengan BASIC dibuat lakukan sendiri. Bagi mereka yang menemui asal-usul, ini adalah nostalgia, untuk tuan muda itu adalah peluang untuk merasakan apa yang mereka ada. Berikut adalah salah satu daripada banyak pembinaan seperti yang dilakukan oleh penulis Instructables di bawah nama samaran SANUKI UDON.
Casio dan Sharp menggunakan mikropemproses 4-bit dalam kalkulator seperti Kyocera - 8-bit, Angstrom dan Integral - 16-bit. Tuan memutuskan untuk memilih medan pertengahan dan menggunakan mikrokontroller ATmega328P 8-bit moden dalam versinya, kerana jurubahasa sudah ada untuknya ArduinoBASIC. Hanya di sini ia disesuaikan dengan paparan resolusi yang lebih rendah dan papan kekunci CardKB, yang sudah mengandungi mikrokontroler yang diperlukan.
Untuk membina kalkulator, sebagai tambahan kepada CardKB, anda perlu: petak bateri 2xAA atau 2xAAA, paparan PMOLED pada cip SSD1306, dan juga jika anda mahu menyimpan dan membaca fail - cip memori flash, contohnya, 24LC256. Breadboard jenis papan roti dan jumper dupont adalah pilihan, lebih baik untuk menyambung semuanya dengan penyolderan. ArduinoBASIC pada asalnya direka untuk paparan PMOLED dengan antara muka SPI, tetapi wizard itu menanamkan firmware supaya ia berfungsi dengan paparan dengan antara muka saya2C. KDPV menunjukkan versi kedua kalkulator, paparan gdp lebih kecil, dan bateri adalah jenis CR2025 atau CR2032.
Di sisi CardKB adalah penyambung di mana saya dihalau bas2C, makanan juga diberi makan di sana. Sekiranya terdapat cip memori, pada papan penyesuai atau tidak, ia disambung secara selari dengan paparan mengikut pinout dari datasheet.Penyihir tidak menentukan sama ada kabel dengan penyambung mengawan dilampirkan ke CardKB. Sekiranya tidak dibekalkan, dan anda tidak mempunyai kabel seperti itu, anda boleh mematerkan konduktor ke papan di belakang.
Setelah menyambung segala-galanya secara elektrik, tuan itu meneruskan pembuatan semula ArduinoBASIC dengan besi yang digunakannya. Hasilnya dibentangkan di sini. Ia juga perlu memadamkan LED RGB di papan, yang secara lalai bersinar dengan ketiga-tiga kristal pada kuasa penuh. Dan bukan sahaja meningkatkan penggunaan semasa, tetapi juga bersinar langsung ke mata pengguna. Oleh itu, anda juga mesti memuat turun perpustakaan NeoPixel standard dari sini, dan pada kompilasi pilih ATmega328p (3.3V, 8Mhz). Selepas penyusunan, pilih Eksport disusun Binari dan dapatkan fail binari.
Untuk memuat naik fail ke CardKB, anda memerlukan pengaturcara USB-ISP dan penyesuai sementara. Avrdude atau avrdude-GUI (ini sama, tetapi dengan GUI) sesuai untuk mengawal programmer. Fyuzy tidak boleh ditulis semula. Ya, sedikit lebih rumit daripada dengan Arduinodi mana kabel USB dan Arduino IDE terbina dalam cukup.
Lampiran: bagaimana untuk membetulkan fail SSD1306ASCII_I2C.h sebelum penyusunan, bergantung kepada resolusi paparan PMOLED.
Untuk paparan dengan resolusi 128 × 32:
#define OLED_WIDTH 128
#define OLED_HEIGHT 32
#define OLED_COLMAX 21
#define OLED_ROWMAX 4
Untuk paparan dengan resolusi 128 × 64:
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_COLMAX 21
#define OLED_ROWMAX 8
Sintaks Asas yang dilaksanakan di sini adalah paling serupa dengan yang digunakan dalam komputer rumah ZX81, jadi apabila menulis program untuk kalkulator, anda boleh dipandu oleh dokumentasi untuk komputer ini.