Ooit hadden zakrekenmachines, waarin de Basic-tolk onmiddellijk werd gelanceerd, een zekere spreiding. Zoals in thuis computers populair rond dezelfde tijd, maar met informatie weergegeven op het geïntegreerde beeldscherm met lage resolutie. Hierdoor konden niet-professionele programmeurs programma's schrijven voor vrij complexe berekeningen zonder een tv te nemen. Halverwege de jaren negentig daalde de populariteit van deze rekenmachines door de groeiende populariteit van meer universele PDA's, waar Basic samen met andere slechts een van de mogelijke toepassingen was. In moderne smartphones op dezelfde manier: je hebt BASIC nodig - je downloadt uit de applicatiewinkel. Nu, wanneer velen zich aanmelden zelfgemaakt microcontrollers, niet ongebruikelijke stalen rekenmachines van BASIC made doe het zelf. Voor degenen die de originelen hebben gevonden, is dit nostalgie, voor jongere meesters is het een kans om te voelen wat ze waren. Hier is een van de vele van dergelijke constructies die zijn uitgevoerd door de auteur van Instructables onder de bijnaam SANUKI UDON.
Casio en Sharp gebruikten 4-bit microprocessors in dergelijke rekenmachines, Kyocera - 8-bit, Angstrom en Integral - 16-bit. De meester besloot een middenweg te kiezen en paste de moderne 8-bit ATmega328P-microcontroller toe in zijn versie, aangezien er al een tolk voor hem bestaat ArduinoBASIC. Alleen hier is het aangepast aan een scherm met een lagere resolutie en een CardKB-toetsenbord, dat al de nodige microcontroller bevat.
Om de rekenmachine te bouwen, heb je naast CardKB nodig: een 2xAA of 2xAAA batterijcompartiment, een PMOLED-display op de SSD1306-chip en ook als je bestanden wilt opslaan en lezen - een flash-geheugenchip, bijvoorbeeld 24LC256. Breadboard-type breadboard en dupont-jumpers zijn optioneel, het is beter om alles te verbinden door te solderen. ArduinoBASIC is oorspronkelijk ontworpen voor een PMOLED-scherm met een SPI-interface, maar de wizard heeft de firmware opnieuw gemaakt, zodat het werkte met een scherm met een I-interface2C. De KDPV toont de tweede versie van de rekenmachine, het bbp-scherm is nog kleiner en de batterij is van het type CR2025 of CR2032.
Aan de zijkant van de CardKB zit een connector waar de bus naar toe wordt geleid2C, daar wordt ook voedsel gevoerd. Als er een geheugenchip is, al dan niet op de adapterkaart, wordt deze parallel met het scherm aangesloten volgens de pinout in het gegevensblad.De wizard specificeert niet of een kabel met een bijpassende connector is aangesloten op de CardKB. Indien niet meegeleverd, en je hebt zo'n kabel niet, dan kun je de aders aan het bord aan de achterkant solderen.
Nadat hij alles elektrisch had aangesloten, ging de meester verder met het opnieuw maken van de ArduinoBASIC met het ijzer dat hij gebruikte. Het resultaat is vastgelegd hier. Het is ook nodig om de RGB-LED op het bord te doven, die standaard met alle drie de kristallen op volle kracht schijnt. En verhoogt niet alleen het stroomverbruik, maar straalt ook direct in de ogen van de gebruiker. Daarom moet u ook de standaard NeoPixel-bibliotheek downloaden vanaf hieren kies bij compilatie ATmega328p (3.3V, 8Mhz). Selecteer na het compileren Gecompileerd binair bestand exporteren en haal het binaire bestand op.
Om een bestand naar CardKB te uploaden, hebt u een USB-ISP-programmeur en een geïmproviseerde adapter nodig. Avrdude of avrdude-GUI (dit is hetzelfde, maar met een GUI) is geschikt als software voor het besturen van de programmeur. Fyuzy kan niet worden herschreven. Ja, een beetje ingewikkelder dan bij Arduinowaar de USB-kabel en de ingebouwde Arduino IDE voldoende zijn.
Bijlage: hoe het SSD1306ASCII_I2C.h-bestand te corrigeren voordat het wordt gecompileerd, afhankelijk van de resolutie van het PMOLED-scherm.
Voor een beeldscherm met een resolutie van 128 × 32:
#define OLED_WIDTH 128
#define OLED_HEIGHT 32
# definieer OLED_COLMAX 21
#define OLED_ROWMAX 4
Voor een beeldscherm met een resolutie van 128 × 64:
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
# definieer OLED_COLMAX 21
#define OLED_ROWMAX 8
De hier geïmplementeerde basissyntaxis lijkt het meest op die van de ZX81-thuiscomputer, dus bij het schrijven van programma's voor de rekenmachine kunt u zich laten leiden door de documentatie voor deze computer.