Press "Enter" to skip to content

MaxDuino Mini à la z00m

Dnes vám popíšem, ako sa dá relatívne ľahko postaviť jedena z nespočetných variánt TZX Duina.

Keďže už dávno doma nemám žiaden magnetofón, vypískať niečo do ZX Spectra bol vždy boj. Retro je teraz v móde, a tak aj magnetofóny a decky dnes stoja toľko, že som toto riešenie hneď zavrhol. Keďže nepotrebujem nič zo ZX Spectra nahrávať, stačil mi nejaký player TAP/TZX súborov. Logický krok by bol zaobstarať si TZX/CAS Duino, ale hneď som vytriezvel, keď som zistil, čo za to chcú.

Keďže to je obyčajne postavené z čínskeho smetia za pár eur, rozhodol som sa, že si niečo zbastlím sám. Celkom dobre ma nakopol pwramp na Oldcompe a tak som po chvíli študovania detailov objednal z ebaya tieto komponenty:

  • Mini USB charger modul s ochranou proti vybitiu a prebitiu
  • miniatúrnu batériu Li-Po 302030 3.7V 140 mAh
  • Arduino Pro Mini ATmega328P 3.3V / 8MHz
  • MicroSD Card SPI modul pre Arduino
  • modul OLED display I2C SSD1306 128×64 pre Arduino
  • a voliteľne minizosilovač PAM8403, ale ten som ja nakoniec nekupoval, lebo ho nie je treba, ak nepotrebujete regulovať hlasitosť výstupu.
  • Mne sa to všetko podarilo kúpiť od jediného čínskeho predajcu asi za 12 Eur, ale neviem ho už nájsť a stratil sa mi aj z listingu kúpených vecí. Tak som vám pohľadal aspoň jednotlivé komponenty, aby ste mali predstavu, ako to na ebayi hľadať. Treba sa s tým trocha pohrať a tie komponenty nájdete fakt za minimálne ceny buď na ebayi, alebo na Aliexpresse.

    K tomu budete potrebovať ešte nejakú bižutériu. Konktrétne nejaký kus univerzálneho plošáku, na ktorý to celé namontujete, napr. takýto. A potom zdierku audio jack 3.5mm, elektrolytické kondenzátory 100uF a 4.7uF, nejaké buttony, dipswitch, malý vypínač a nejaké vodiče. Ak staviate variantu so zosilovačom, potrebujete ešte potenciometer a 4 odpory. Pôvodne som ju chcel robiť aj ja, ale z ATmega328P lezie výstup tak akurát pre ZX Spectrum, tak som si ušetril peniaze, čas aj robotu.

    Čo s čím pospájať sa dá aj vygoogliť, ale ja som si spatlal schému. Je to komplet aj so zosilovačom, aj s prepínaním jacku na mono/stereo:

    Následne som si rozvrhol, čo kde na plošáčik osadím, pod SDCard modul som obojstrannou páskou prilepil batériu a všetko som zaletoval. Nepridával som ten 3V3 regulátor, lebo jeden je na SDCard module, tak som ho využil aj na napájanie Arduina. Vypustil som aj ten dipswitch na prepínanie mono/stereo jacku, lebo to nepotrebujem. Potom som to pospájal podľa schémy a všetko som to prekontroloval.

    Vyzeralo to byť v poriadku a tak nastal čas oživiť Arduino Pro Mini. Keďže sa Arduinu nevenujem, musel som si nainštalovať software. Potom treba doňho doinštalovať knižnice cez Tools/Library manager. Sú to konkrétne tieto:

    Nesnažte sa použiť novšie verzie, lebo to nepôjde. Potrebujete exaktne tie verzie, ktoré sú na screenshote. Potom si treba ešte nastaviť typ dosky a typ procesora. Nie som v tých arduinách zbehlý, takže absolútne netuším prečo mi soft neponúka priamo board Arduino Pro Mini a procesor ATmega328P 3.3V / 8MHZ. To je dosť prekážka, takže som nastavil najbližšie podobné Arduino Nano a procesor ATmega328P (Old Bootloader). Problém je, že to je 16MHz verzia, takže som musel software donútiť, aby to skompiloval správne.

    V …/arduino/hardware/arduino/avr/boards.txt treba nájsť pasáž nano.name=Arduino Nano. Treba tam pohľadať a zmeniť riadok nano.build.f_cpu=16000000L na nano.build.f_cpu=8000000L.

    K naprogramovaniu obsahu do arduina budete potrebovať ešte USB-TTL prevodník, pretože tá mini doštička na sebe nemá sériový port. Ja som doma mal jeden ešte z čias, keď som si prerábal Gotek na FlashFloppy:

    Nastavte si ešte port, kde vám sedí prevodník cez Tools/Port, a potom typ programátora cez Tools/Programmer na USBasp, alebo AVRISP MkII. Mne zafungovalo to druhé. No a týmto máte prostredie nastavené.

    Teraz nastal čas stiahnuť si zdrojáky MaxDuina. Niekam si ich rozbaľte a otvorte si v prostredí Arduino hlavný súbor MaxDuino_v1.66.ino. Keďže máme 8MHz verziu doštičky, v zdrojáku MaxDuina treba v hlavnej záložke MaxDuino_v1.66 pridať na začiatku riadok #define F_CPU 8000000L.

    Potom sa prepnite do záložky userconfig.h, na riadku 112 odkomentujte #define RECORD_EEPROM_LOGO, na riadku 113 zakomentujte #define LOAD_EEPROM_LOGO a kliknite na Upload, počkate kým sa to skompiluje a nahrá. Zabezpečíte tým, že sa vám do EEPROM nahrá pekné boot logo.

    Vráťte zdroják do pôvodného stavu a znova kliknite na Upload a počkajte, kým sa to znova skompiluje a nahrá do Arduina. Ak ste všetko spravili dobre, malo by vám už MaxDuino fungovať. Moje vyzerá takto:

    Som rád, že sa mi ho podarilo (napriek mojej neznalosti Arduina) rozchodiť a fakt sa z neho teším. Tak snáď som niekoho z vás inšpiroval a poskladáte si ho tiež 🙂

    Be First to Comment

    Leave a Reply

    Your email address will not be published.