Obsah:
Video: Malý a levný kapesní počítač, který lze naprogramovat kdekoli: 5 kroků
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Z CardKB můžete udělat kapesní počítač
Kompletní kapesní počítač pro CardKB využívající obrazovku ArduinoBaisc, CardKB, I2C OLED. Protože BASIC používá ArduinoBasic (https://github.com/robinhedwards/ArduinoBASIC), podporuje téměř všechny běžné funkce, jako jsou proměnné typu float a string, vícerozměrná pole, FOR-NEXT, GOSUB-RETURN atd. Je podporováno ukládání a načítání z EEPROM. Program BASIC a proměnné využívají asi 1k RAM, takže jsou téměř ekvivalentní prvnímu počítači (Sinclair ZX81). Další 1 kB paměti RAM je použito pro vyrovnávací paměť klávesnice a obrazovky a je zde malý prostor pro zásobník CPU. Protože arduino má 1k EEPROM, pokud se program vejde do základního prostředí, vejde se do EEPROM.
Zásoby
1) CardKB (https://en.aliexpress.com/item/32963872643.html)
2) I2C OLED (např. SSD1306 128x32 nebo 128x64)
3) mini prkénko
4) Bateriový box
5) EEPROM (např. 24LC256) (volitelně)
Krok 1: Předpoklady
- Použijte mini klávesnici CardKB. Podrobnosti naleznete na stránce
- OLED obrazovka založená na SSD1306 připojená pomocí I2C. Verze 128x32 funguje dobře-změňte některé definice. ArduinoBasic používá SPI OLED, ale kapesní počítače využívající CardKB používají I2C OLED.
- (Volitelné) K uložení více souborů použijte externí EEPROM (např. 24LC256).
Montáž je velmi snadná. CardKB, OLED a EEPROM lze propojit pomocí I2C pomocí mini breadboardu. Vložil jsem obrázek informací o kabelu CardKB
Krok 2: Program a kompilace
- Stáhněte si program odtud.
- Vložte SSD1306ASCII do složky „\ Arduino / libraries“.
- Je vyžadována knihovna Adafruit NeoPixel.
-
Při kompilaci vyberte „ATmega328p (3,3 V, 8 MHz)“. Pokud není vybrána, LED dioda NeoPixel zůstane svítit bíle.
- Vyberte „Exportovat kompilovaný binární soubor“a vytvořte soubor pro zápis.
Krok 3: Napište program
Napište binární soubor zkompilovaný pomocí nástrojů, jako je avrdude nebo avrdude-GUI a USB ISP.
Vytvořil jsem nástroj, který zapisuje do CardKB. Místo nástrojů musíte použít propojovací kolíky.
Nepřepisujte pojistkový bit CardKB
Krok 4: Opravte SSD1306ASCII_I2C.h následovně
#define OLED_WIDTH 128
#define OLED_HEIGHT 32 #define OLED_COLMAX 21 #define OLED_ROWMAX 4
128×64>
#define OLED_WIDTH 128
#define OLED_HEIGHT 64 #define OLED_COLMAX 21 #define OLED_ROWMAX 8
Krok 5: Dokončete
bavte se:-)