Vienā reizē kabatas kalkulatori, kuros nekavējoties tika palaists pamata tulks, atradās noteiktā sadalījumā. Kā iekšā mājās datori, kas ir populāri aptuveni tajā pašā laikā, bet ar informāciju, kas tiek parādīta integrētajā zemas izšķirtspējas displejā. Tas ļāva neprofesionāliem programmētājiem rakstīt programmas diezgan sarežģītiem aprēķiniem, neņemot vērā televizoru. Deviņdesmito gadu vidū šo kalkulatoru popularitāte samazinājās universālo plaukstdatoru pieaugošās popularitātes dēļ, kur Basic bija tikai viens no iespējamiem lietojumiem kopā ar citiem. Mūsdienu viedtālruņos tāpat: jums ir nepieciešams BASIC - jūs lejupielādējat no lietojumprogrammu veikala. Tagad, kad daudzi piesakās mājās gatavots mikrokontrolleri, nevis neparasti tērauda kalkulatori ar izgatavotu BASIC dari pats. Tiem, kas atrada oriģinālus, tā ir nostaļģija, jaunākiem meistariem tā ir iespēja sajust, kādi viņi bija. Šeit ir viena no daudzajām šādām konstrukcijām, kuras izpildītājs ir Instructables autors ar segvārdu SANUKI UDON.
Casio un Sharp šādos kalkulatoros izmantoja 4 bitu mikroprocesorus, Kyocera - 8 bitu, Angstrom un Integral - 16 bitu. Kapteinis nolēma izvēlēties vidusceļu un savā versijā izmantoja moderno 8-bitu ATmega328P mikrokontrolleru, jo tulks viņam jau pastāv ArduinoBASIC. Tikai šeit tas ir pielāgots zemākas izšķirtspējas displejam un CardKB tastatūrai, kurā jau ir nepieciešamais mikrokontrolleris.
Lai izveidotu kalkulatoru, papildus CardKB jums būs nepieciešams: 2xAA vai 2xAAA akumulatora nodalījums, SSD1306 mikroshēmas PMOLED displejs, kā arī, ja vēlaties saglabāt un lasīt failus - zibatmiņas mikroshēma, piemēram, 24LC256. Maizes plātnes tipa maizes dēlis un dupont džemperi nav obligāti, labāk ir visu savienot, lodējot. ArduinoBASIC sākotnēji tika izstrādāts PMOLED displejam ar SPI interfeisu, bet vednis atjaunināja programmaparatūru tā, lai tas darbotos ar displeju ar I interfeisu2C. KDPV parāda kalkulatora otro versiju, gdp displejs ir vēl mazāks, un akumulators ir CR2025 vai CR2032.
CardKB pusē ir savienotājs, uz kuru tiek virzīts es autobuss2C, tur tiek baroti arī ēdieni. Ja adaptera plāksnītē ir atmiņas mikroshēma, tās ir savienotas paralēli displejam atbilstoši norādei no datu lapas.Vednis nenorāda, vai CardKB ir pievienots kabelis ar savienojuma savienotāju. Ja jums tas nav piegādāts, un jums šāda kabeļa nav, varat vadus pielodēt pie paneļa aizmugurē.
Pēc visu elektriskā savienojuma meistars turpina pārveidot ArduinoBASIC ar izmantoto gludekli. Rezultāts ir izklāstīts šeit. Tāpat ir jādzēš RGB gaismas diode uz tāfeles, kas pēc noklusējuma mirdz ar visiem trim kristāliem ar pilnu jaudu. Un ne tikai palielina pašreizējo patēriņu, bet arī spīd tieši lietotāja acīs. Tāpēc jums arī jālejupielādē standarta NeoPixel bibliotēka no šejienes, un kompilācijas laikā atlasiet ATmega328p (3,3 V, 8 MHz). Pēc apkopošanas atlasiet Eksportēt apkopoto bināro un iegūstiet bināro failu.
Lai augšupielādētu failu CardKB, jums ir nepieciešams USB-ISP programmētājs un maiņas adapteris. Avrdude vai avrdude-GUI (tas pats, bet ar GUI) ir piemērots kā programmatūra programmētāja kontrolei. Fjūziju nevar pārrakstīt. Jā, nedaudz sarežģītāk nekā ar Arduinokur pietiek ar USB kabeli un iebūvēto Arduino IDE.
Pielikums: kā koriģēt failu SSD1306ASCII_I2C.h pirms kompilācijas, atkarībā no PMOLED displeja izšķirtspējas.
Displejam ar izšķirtspēju 128 × 32:
#definēt OLED_WIDTH 128
#define OLED_HEIGHT 32
#define OLED_COLMAX 21
#define OLED_ROWMAX 4
Displejam ar izšķirtspēju 128 × 64:
#definēt OLED_WIDTH 128
#definēt OLED_HEIGHT 64
#define OLED_COLMAX 21
#define OLED_ROWMAX 8
Šeit ieviestā pamata sintakse ir visvairāk līdzīga tai, ko izmanto mājas datorā ZX81, tāpēc, rakstot programmas kalkulatoram, jūs varat vadīties pēc šī datora dokumentācijas.