W pewnym momencie kalkulatory kieszonkowe, w których natychmiast uruchomiono interpretera podstawowego, miały pewną dystrybucję. Jak w dom komputery popularne w tym samym czasie, ale z informacjami wyświetlanymi na zintegrowanym wyświetlaczu o niskiej rozdzielczości. Umożliwiło to nieprofesjonalnym programistom pisanie programów do dość skomplikowanych obliczeń bez konieczności korzystania z telewizora. W połowie lat dziewięćdziesiątych popularność tych kalkulatorów spadła z powodu rosnącej popularności bardziej uniwersalnych urządzeń PDA, w których Basic był tylko jedną z możliwych aplikacji, podobnie jak inne. W nowoczesnych smartfonach w ten sam sposób: potrzebujesz BASIC - pobierasz ze sklepu z aplikacjami. Teraz, kiedy wielu się zgłosi domowej roboty mikrokontrolery, nierzadko kalkulatory stalowe wykonane w technologii BASIC zrób to sam. Dla tych, którzy znaleźli oryginały, jest to nostalgia, dla młodszych mistrzów jest to okazja, aby poczuć, kim byli. Oto jedna z wielu takich konstrukcji wykonanych przez autora Instructables pod pseudonimem SANUKI UDON.
Casio i Sharp zastosowały 4-bitowe mikroprocesory w takich kalkulatorach, Kyocera - 8-bit, Angstrom i Całka - 16-bit. Mistrz postanowił wybrać środek, i zastosował nowoczesny 8-bitowy mikrokontroler ATmega328P w swojej wersji, ponieważ dla niego już istnieje interpreter ArduinoBASIC. Tylko tutaj jest dostosowany do wyświetlacza o niższej rozdzielczości i klawiatury CardKB, która już zawiera niezbędny mikrokontroler.
Aby zbudować kalkulator, oprócz CardKB, potrzebujesz: przedziału baterii 2xAA lub 2xAAA, wyświetlacza PMOLED na układzie SSD1306, a także, jeśli chcesz zapisywać i czytać pliki - układ pamięci flash, na przykład 24LC256. Zworki typu breadboard i zworki dupont są opcjonalne, lepiej wszystko połączyć przez lutowanie. ArduinoBASIC został pierwotnie zaprojektowany dla wyświetlacza PMOLED z interfejsem SPI, ale kreator przerobił oprogramowanie, aby działało z wyświetlaczem z interfejsem I2C. KDPV pokazuje drugą wersję kalkulatora, wyświetlacz gdp jest jeszcze mniejszy, a bateria jest typu CR2025 lub CR2032.
Z boku CardKB znajduje się złącze, do którego kierowana jest moja magistrala2C, tam również karmi się jedzenie. Jeśli na karcie adaptera znajduje się układ pamięci, czy nie, jest on podłączony równolegle z wyświetlaczem zgodnie z wyprowadzeniem z arkusza danych.Kreator nie określa, czy kabel z odpowiednim złączem jest podłączony do CardKB. Jeśli nie jest dostarczony i nie masz takiego kabla, możesz przylutować przewody do płytki z tyłu.
Po podłączeniu wszystkiego elektrycznie mistrz kontynuuje przeróbkę ArduinoBASIC na żelazo, którego użył. Wynik jest określony tutaj. Konieczne jest również zgaszenie diody RGB na płycie, która domyślnie świeci wszystkimi trzema kryształami z pełną mocą. I nie tylko zwiększa bieżące zużycie, ale także świeci bezpośrednio w oczy użytkownika. Dlatego musisz również pobrać standardową bibliotekę NeoPixel stąd, a przy kompilacji wybierz ATmega328p (3,3 V, 8 MHz). Po kompilacji wybierz Eksportuj skompilowany plik binarny i pobierz plik binarny.
Aby przesłać plik do CardKB, potrzebujesz programatora USB-ISP i prowizorycznego adaptera. Avrdude lub avrdude-GUI (to samo, ale z GUI) nadaje się jako oprogramowanie do sterowania programatorem. Fyuzy nie może zostać przepisany. Tak, trochę bardziej skomplikowane niż z Arduinogdzie wystarczy kabel USB i wbudowane Arduino IDE.
Dodatek: jak poprawić plik SSD1306ASCII_I2C.h przed kompilacją, w zależności od rozdzielczości wyświetlacza PMOLED.
W przypadku wyświetlacza o rozdzielczości 128 × 32:
# zdefiniować OLED_WIDTH 128
# zdefiniować OLED_HEIGHT 32
# zdefiniować OLED_COLMAX 21
# zdefiniować OLED_ROWMAX 4
W przypadku wyświetlacza o rozdzielczości 128 × 64:
# zdefiniować OLED_WIDTH 128
# zdefiniować OLED_HEIGHT 64
# zdefiniować OLED_COLMAX 21
# zdefiniować OLED_ROWMAX 8
Zaimplementowana tutaj podstawowa składnia jest najbardziej podobna do tej używanej w komputerze domowym ZX81, więc pisząc programy do kalkulatora, możesz kierować się dokumentacją tego komputera.