Ao mesmo tempo, as calculadoras de bolso, nas quais o intérprete Basic foi iniciado imediatamente, tinham uma certa distribuição. Como em casa computadores populares na mesma época, mas com informações exibidas no visor integrado de baixa resolução. Isso permitiu que programadores não profissionais escrevessem programas para cálculos bastante complexos sem usar a TV. Em meados dos anos 90, a popularidade dessas calculadoras caiu devido à crescente popularidade de PDAs mais universais, onde o Basic era apenas uma das aplicações possíveis, juntamente com outras. Nos smartphones modernos da mesma maneira: você precisa do BASIC - faz o download na loja de aplicativos. Agora, quando muitos se aplicam em caseiro microcontroladores, calculadoras de aço incomuns com o BASIC faça você mesmo. Para quem encontrou os originais, isso é nostalgia; para mestres mais jovens, é uma oportunidade de sentir o que eram. Aqui está uma das muitas construções executadas pelo autor de Instructables sob o apelido SANUKI UDON.
Casio e Sharp usavam microprocessadores de 4 bits nessas calculadoras, Kyocera - 8 bits, Angstrom e Integral - 16 bits. O mestre decidiu escolher um meio termo e aplicou o moderno microcontrolador ATmega328P de 8 bits em sua versão, já que um intérprete já existe para ele. ArduinoBASIC. Somente aqui é adaptado a uma tela de resolução mais baixa e ao teclado CardKB, que já contém o microcontrolador necessário.
Para construir a calculadora, além do CardKB, você precisará de um compartimento de bateria 2xAA ou 2xAAA, um display PMOLED no chip SSD1306 e, se desejar salvar e ler arquivos - um chip de memória flash, por exemplo, 24LC256. Breadboard do tipo breadboard e jumpers duplos são opcionais, é melhor conectar tudo soldando. O ArduinoBASIC foi originalmente projetado para um monitor PMOLED com uma interface SPI, mas o assistente refez o firmware para que funcionasse com um monitor com uma interface I2C. O KDPV mostra a segunda versão da calculadora, a exibição do PIB é ainda menor e a bateria é do tipo CR2025 ou CR2032.
No lado do CardKB está um conector onde o barramento é roteado2C, a comida também é alimentada lá. Se houver um chip de memória, na placa adaptadora ou não, ele será conectado em paralelo ao monitor, de acordo com a pinagem da folha de dados.O assistente não especifica se um cabo com um conector correspondente está conectado ao CardKB. Se não for fornecido e você não tiver esse cabo, poderá soldar os condutores na placa na parte traseira.
Depois de conectar tudo eletricamente, o mestre passa a refazer o ArduinoBASIC com o ferro que ele usou. O resultado é apresentado aqui. Também é necessário extinguir o LED RGB na placa, que por padrão brilha com todos os três cristais na potência máxima. E não apenas aumenta o consumo atual, mas também brilha diretamente nos olhos do usuário. Portanto, você também deve fazer o download da biblioteca NeoPixel padrão daquie, na compilação, escolha ATmega328p (3.3V, 8Mhz). Após a compilação, selecione Exportar binário compilado e obtenha o arquivo binário.
Para carregar um arquivo no CardKB, você precisa de um programador USB-ISP e de um adaptador improvisado. Avrdude ou avrdude-GUI (isso é o mesmo, mas com uma GUI) é adequado para controlar o programador. Fyuzy não pode ser reescrito. Sim, um pouco mais complicado do que com Arduinoonde o cabo USB e o Arduino IDE embutido são suficientes.
Apêndice: como corrigir o arquivo SSD1306ASCII_I2C.h antes da compilação, dependendo da resolução da tela PMOLED.
Para uma tela com uma resolução de 128 × 32:
#define OLED_WIDTH 128
#define OLED_HEIGHT 32
#define OLED_COLMAX 21
#define OLED_ROWMAX 4
Para uma tela com uma resolução de 128 × 64:
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_COLMAX 21
#define OLED_ROWMAX 8
A sintaxe básica implementada aqui é mais semelhante à usada no computador doméstico ZX81; portanto, ao escrever programas para a calculadora, você pode ser guiado pela documentação deste computador.