Zu einer Zeit hatten Taschenrechner, in denen der Basic-Interpreter sofort gestartet wurde, eine bestimmte Verteilung. Wie in nach Hause Computer, die ungefähr zur gleichen Zeit beliebt sind, deren Informationen jedoch auf dem integrierten Display mit niedriger Auflösung angezeigt werden. Dies ermöglichte es nicht professionellen Programmierern, Programme für ziemlich komplexe Berechnungen zu schreiben, ohne einen Fernseher in Anspruch zu nehmen. Mitte der neunziger Jahre sank die Popularität dieser Taschenrechner aufgrund der wachsenden Beliebtheit universellerer PDAs, bei denen Basic neben anderen nur eine der möglichen Anwendungen war. In modernen Smartphones genauso: Sie benötigen BASIC - Sie laden aus dem Application Store herunter. Nun, wenn sich viele bewerben hausgemacht Mikrocontroller, nicht selten Stahlrechner mit BASIC hergestellt mit seinen eigenen Händen. Für diejenigen, die die Originale gefunden haben, ist dies Nostalgie, für jüngere Meister eine Gelegenheit, zu fühlen, was sie waren. Hier ist eine von vielen solchen Konstruktionen, die vom Autor von Instructables unter dem Spitznamen SANUKI UDON ausgeführt wurden.
Casio und Sharp verwendeten 4-Bit-Mikroprozessoren in solchen Taschenrechnern, Kyocera - 8-Bit, Angstrom und Integral - 16-Bit. Der Meister entschied sich für einen Mittelweg und verwendete in seiner Version den modernen 8-Bit-Mikrocontroller ATmega328P, da für ihn bereits ein Interpreter existiert ArduinoBASIC. Nur hier ist es an ein Display mit niedrigerer Auflösung und eine CardKB-Tastatur angepasst, die bereits den erforderlichen Mikrocontroller enthält.
Zum Erstellen des Rechners benötigen Sie zusätzlich zu CardKB: ein 2xAA- oder 2xAAA-Batteriefach, ein PMOLED-Display auf dem SSD1306-Chip und auch zum Speichern und Lesen von Dateien - einen Flash-Speicherchip, z. B. 24LC256. Steckbrett-Steckbrett und Dupont-Jumper sind optional. Es ist besser, alles durch Löten zu verbinden. ArduinoBASIC wurde ursprünglich für ein PMOLED-Display mit SPI entwickelt, aber der Master hat die Firmware so überarbeitet, dass sie mit einem Display mit I-Schnittstelle funktioniert2C. Der KDPV zeigt die zweite Version des Rechners, das BIP-Display ist noch kleiner und der Akku ist vom Typ CR2025 oder CR2032.
Auf der Seite der CardKB befindet sich ein Anschluss, an dem der Bus geroutet wird2C, dort wird auch Essen gefüttert. Befindet sich ein Speicherchip auf der Adapterplatine oder nicht, wird dieser gemäß der Pinbelegung aus dem Datenblatt parallel zum Display geschaltet.Der Assistent gibt nicht an, ob ein Kabel mit einem Gegenstecker an die CardKB angeschlossen ist. Wenn nicht mitgeliefert und Sie kein solches Kabel haben, können Sie die Leiter auf die Platine auf der Rückseite löten.
Nachdem der Master alles elektrisch verbunden hat, macht er den ArduinoBASIC mit dem von ihm verwendeten Eisen neu. Das Ergebnis ist angelegt hier. Es ist auch notwendig, die RGB-LED auf der Platine zu löschen, die standardmäßig mit allen drei Kristallen bei voller Leistung leuchtet. Und erhöht nicht nur den Stromverbrauch, sondern scheint auch direkt in die Augen des Anwenders. Daher müssen Sie auch die Standard-NeoPixel-Bibliothek herunterladen von hierWählen Sie bei der Kompilierung ATmega328p (3,3 V, 8 MHz). Wählen Sie nach der Kompilierung die Option Kompilierte Binärdatei exportieren und rufen Sie die Binärdatei ab.
Um eine Datei auf CardKB hochzuladen, benötigen Sie einen USB-ISP-Programmierer und einen provisorischen Adapter. Avrdude oder avrdude-GUI (dies ist das gleiche, aber mit einer GUI) eignet sich zur Steuerung des Programmiergeräts. Fyuzy kann nicht umgeschrieben werden. Ja, etwas komplizierter als mit Arduinowo das USB-Kabel und die eingebaute Arduino IDE ausreichen.
Anhang: Korrigieren der Datei SSD1306ASCII_I2C.h vor dem Kompilieren, abhängig von der Auflösung der PMOLED-Anzeige.
Für ein Display mit einer Auflösung von 128 × 32:
#define OLED_WIDTH 128
#define OLED_HEIGHT 32
#define OLED_COLMAX 21
#define OLED_ROWMAX 4
Für ein Display mit einer Auflösung von 128 × 64:
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_COLMAX 21
#define OLED_ROWMAX 8
Die hier implementierte Basissyntax ähnelt am ehesten der des ZX81-Heimcomputers. Wenn Sie also Programme für den Taschenrechner schreiben, können Sie sich an der Dokumentation für diesen Computer orientieren.