Bir zamanlar, Temel tercümanın hemen başlatıldığı cep hesaplayıcılarının belirli bir dağılımı vardı. Olduğu gibi ev Bilgisayarlar aynı zamanda popüler, ancak tümleşik düşük çözünürlüklü ekranda görüntülenen bilgilerle. Bu, profesyonel olmayan programcıların TV'ye girmeden oldukça karmaşık hesaplamalar için programlar yazmalarına izin verdi. Doksanlı yılların ortalarına gelindiğinde, bu hesap makinelerinin popülaritesi, Basic'in diğerleriyle birlikte olası uygulamalardan sadece biri olduğu daha evrensel PDA'ların artan popülaritesi nedeniyle düştü. Modern akıllı telefonlarda aynı şekilde: BASIC'e ihtiyacınız var - uygulama mağazasından indirebilirsiniz. Şimdi, birçoğu Ev yapımı ürünler mikrodenetleyiciler, BASIC yapımı nadir olmayan çelik hesap makineleri kendin yap. Orijinalleri bulanlar için bu nostalji, genç ustalar için ne olduklarını hissetmek için bir fırsat. İşte Instructables yazarı tarafından SANUKI UDON takma adı altında gerçekleştirilen bu tür yapılardan biridir.
Casio ve Sharp bu tür hesap makinelerinde 4 bitlik mikroişlemciler kullandı, Kyocera - 8 bit, Angstrom ve Integral - 16 bit. Usta bir orta yol seçmeye karar verdi ve modern 8 bit ATmega328P mikrodenetleyiciyi versiyonuna uyguladı, çünkü onun için bir tercüman zaten var ArduinoBASIC. Sadece burada daha düşük çözünürlüklü bir ekrana ve gerekli mikro denetleyiciyi içeren CardKB klavyeye uyarlanmıştır.
Hesap makinesini oluşturmak için, CardKB'ye ek olarak, ihtiyacınız olacak: 2xAA veya 2xAAA pil bölmesi, SSD1306 yongasında bir PMOLED ekran ve ayrıca dosyaları kaydetmek ve okumak istiyorsanız - örneğin, 24LC256 bir flash bellek yongası. Breadboard tipi breadboard ve dupont jumperları isteğe bağlıdır, her şeyi lehimlemek yoluyla bağlamak daha iyidir. ArduinoBASIC başlangıçta bir SPI arabirimine sahip bir PMOLED ekran için tasarlanmıştır, ancak sihirbaz ürün yazılımını I arabirimli bir ekranla çalışacak şekilde yeniden yönlendirdi2C. KDPV, hesap makinesinin ikinci sürümünü gösterir, gdp ekranı daha da küçüktür ve pil CR2025 veya CR2032'dir.
CardKB'nin yan tarafında, ben veri yolunun yönlendirildiği bir konektör var2C, orada da yiyecek beslenir. Bir bellek yongası varsa, adaptör kartında ya da değil, veri sayfasındaki pinout'a göre ekrana paralel olarak bağlanır.Sihirbaz, eşleşen bir konektöre sahip bir kablonun CardKB'ye takılı olup olmadığını belirtmez. Birlikte verilmezse ve böyle bir kablonuz yoksa, iletkenleri arka taraftaki panoya lehimleyebilirsiniz.
Her şeyi elektriksel olarak bağladıktan sonra, usta ArduinoBASIC'i kullandığı demirle yeniden yapmaya devam ediyor. Sonuç ortaya konuyor burada. Ayrıca, varsayılan olarak üç kristalin hepsiyle tam güçte parlayan RGB LED'i tahtada söndürmek de gereklidir. Ve sadece mevcut tüketimi arttırmakla kalmaz, aynı zamanda doğrudan kullanıcının gözünde parlar. Bu nedenle, standart NeoPixel kütüphanesini de indirmelisiniz buradanve derlemede ATmega328p'yi (3.3V, 8Mhz) seçin. Derlemeden sonra, Derlenmiş İkili Dışa Aktar'ı seçin ve ikili dosyayı alın.
CardKB'ye dosya yüklemek için bir USB-ISP programcısı ve geçici bir adaptöre ihtiyacınız var. Avrdude veya avrdude-GUI (bu aynıdır, ancak bir GUI ile) programlayıcıyı kontrol etmek için yazılım olarak uygundur. Fyuzy yeniden yazılamaz. Evet, biraz daha karmaşık ArduinoUSB kablosu ve Arduino IDE'nin yerleşik olduğu yeterlidir.
Ek: PMOLED ekranın çözünürlüğüne bağlı olarak derlemeden önce SSD1306ASCII_I2C.h dosyasının düzeltilmesi.
128 × 32 çözünürlüğe sahip bir ekran için:
#define OLED_WIDTH 128
#define OLED_HEIGHT 32
#define OLED_COLMAX 21
#define OLED_ROWMAX 4
128 × 64 çözünürlüğe sahip bir ekran için:
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_COLMAX 21
#define OLED_ROWMAX 8
Burada uygulanan Temel sözdizimi en çok ZX81 ev bilgisayarında kullanılana benzer, bu nedenle hesap makinesi için programlar yazarken, bu bilgisayarın belgeleri tarafından yönlendirilebilirsiniz.