TI58 tiny - replika kalkulátoru TI-58 s ATmega8

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

TI58 tiny - replika kalkulátoru TI-58 s ATmega8

#1 Příspěvek od Panda38 »

Zkusil jsem vytvořit obdobu starších kalkulátorů - konkrétně repliku kalkulátoru TI-58C - s novodobějším procesorem, ATmega8. Podle odhadu by mohl mít přiměřenou velikost pamětí pro daný účel. Bohužel jsem se dostal jen na 90% práce na firmware, narazil jsem na zaplnění paměti ROM a nedokázal tam vměstnat celý potřebný kód. Převést kód na větší procesor jsem nechtěl, protože kód v assembleru se už stával nepřehledný, a tak budu dál pokračovat raději v C s větším procesorem, v nové koncepci.

Kalkulátor je použitelný jen jako kalkulátor, není funkční programování. Přesto ale má replika zajímavé vlastnosti, jako běžný kalkulátor - počítá s přesností 19 platných číslic, exponent 4 číslice, 60 paměťových buněk. Proto zde uvádím popis kalkulátoru, mohl by být někomu užitečný. Např. využít float knihovny v assembleru AVR.

Upozorňuji že konstrukci jsem odbyl jen jako nejnutnější, abych si vyzkoušel tvorbu firmware, tj. napájení je z USB, tlačítka bez hmatníků, nevhodná krabička a potisky "upatlané". Řešil jsem jen software, ne hardware.

http://www.breatharian.eu/hw/ti58/index.html

Obrázek
Uživatelský avatar
ok1hga
Příspěvky: 12600
Registrován: 28 lis 2006, 00:00
Bydliště: Česká Třebová

#2 Příspěvek od ok1hga »

máš to pěkné,
kdo si hraje, nezlobí . . .

https://youtu.be/JBVWkvMuh_k
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#3 Příspěvek od Panda38 »

Důvodem byla příprava (vyzkoušení metod, "rozcvička") na následující komerční produkt.
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#4 Příspěvek od Panda38 »

Update: Dokončil jsem další mezi-prototyp kalkulátoru, rozšířená replika TI-59. Tentokrát už plně funkční, jen neodladěný, protože je to testovací meziverze (proto opět ošklivá kontrukce), ladit budu až poslední nejvyšší verzi. Mohou se proto objevit nefunkčnosti. Tahle verze by měla zajišťovat všechny funkce původní TI-59 plus nějaká nová rozšíření. Používá procesor ATmega644P naprogramovaný v C kódu. K dispozici je i emulátor pro Windows.

Parametry: přesnost 19 číslic, exponent 4 číslice, paměť 1000 programových kroků a 100 registrů, interní záložní paměť EEPROM, načítání programových modulů z SD karty, ukládání programů na SD kartu, tisk do souboru na SD kartu.

http://www.breatharian.eu/hw/ti59/index.html

Obrázek

Obrázek
Uživatelský avatar
microlan
Příspěvky: 1646
Registrován: 09 kvě 2017, 00:00
Bydliště: Kósek vod Brna

#5 Příspěvek od microlan »

Nádhera! Nakonec se to vešlo, nebo jsi použil něco většího? (mám na mysli procesor)

//Mám tu 2 vraky TI58, kdyby se tak ten displej dal připasovat do původního obalu

///Jak by to chodilo s původní zakmitávající klávesnicí, je to ošetřeno nějak softvérově? A pokud se nepletu, mohlo by sedět i zapojení kláves
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#6 Příspěvek od Panda38 »

V této verzi jsem použil procesor ATmega644P, který má 64 KB Flash. Program je psaný v C a zabere 50 KB. Je to jako vyšší typ kalkulačky (proto TI-59 s 1000 kroky a 100 registry a programovými moduly), protože tento kód se pak použije v předpokládané koncové verzi s ARMem.

K původní verzi TI58 s ATmega8 a assemblerem se nejspíš později vrátím a buď použiju větší ATmega16 nebo jen doladím aby fungovala jako odlehčená verze.

Do původního pouzdra se kalkulačka nevejde kvůli displeji. Marně jsem sháněl nějaký displej který by se vešel do původních rozměrů. Tyhle dvouřádkové LCD jsou o dost širší než původní kalkulačka. A co jsem viděl LED displeje, ty byly také širší (obvykle vycházely na 9 cm). Kdyby se sehnaly vhodné displeje, tak by byla možná replika do původní nebo stejné krabičky. Ale na přesnou repliku by byl spíš lepší emulátor s původní ROM (který např. vyšel v AR).

Problém s původní klávesnicí software nevyřeší. Ty fólie mají po pár letech nespolehlivý kontakt. U své TI58C jsem je už 2x čistil, což znamenalo strhnout je a pak přiletovat zpět, což sice na nějaký rok pomohlo, ale nebyla to nic moc oprava. Ale na netu jsem zahlédl že někdo i nabízel výrobu nových kontaktů.
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#7 Příspěvek od Panda38 »

Challenge splněn - úspěšně vytvořen klon kalkulátoru TI-57 s rozšířenými funkcemi a "natlačen" do 8 KB ROM procesoru ATmega8. :-) Obzvláště vhodný jako výukové programovadlo do škol, protože umožňuje ovládání externích periferií a je zcela open source. A i pořizovací náklady jsou příjemné (400 Kč).

http://www.breatharian.eu/hw/et57/index.html

Výčet vlastností:

- Procesor ATmega8 (8MHz, 8KB ROM, 1KB RAM, 512B EEPROM)
- Napájecí napětí 5 V (z USB nabíječky nebo z USB portu)
- Výpočty v BCD kódu
- Přesnost výpočtů 17 číslic
- Přesnost základních registrů 15 číslic
- Přesnost rozšířených registrů 13 číslic
- Zobrazení údaje na 11 platných číslic
- Exponent 2 číslice, rozsah +- 99
- 10 programových prostorů
- Každý prostor 50 programových kroků (celkem 500 kroků)
- Uživatelský program uchován v EEPROM (bez baterie)
- 10 základních registrů (přístupných přímým adresováním)
- 70 rozšířených registrů (přístupných indexovým adresováním)
- Dvouřádkový LCD displej (2 x 16 alfanumerických znaků)
- 40 tlačítek
- Ovládání externího zařízení přes ISP konektor
- Kód kalkulátoru kompletně napsaný v AVR assembleru
- Exponenciální a logaritmické funkce
- Trigonometrické funkce
- Faktoriál
- Generátor náhodných čísel
- Indexový přístup k proměnným
- Vědecký mód zobrazení s exponentem
- Statistická funkce
- 10 návěští v každém programovém prostoru
- Volání funkcí a skoky mezi programovými prostory
- Hardware i software plně open source
Přílohy
ET57_2_m.jpg
ET57_2_m.jpg
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#8 Příspěvek od Panda38 »

Doplňuji nové info: Vytvořil jsem mini klon kalkulačky TI-57, programovatelná mini-kalkulačka ET-57M. Určená např. jako náramková kalkulačka na ruku. :-) Má 6-místný LED displej, napájení z baterky CR2032, 12 ovládacích tlačítek a procesor ATmega8. Softwarově má plné vybavení jako kalkulačka ET-57.

Link na www stránku: http://www.breatharian.eu/hw/et57m/index.html
Manuál PDF: http://www.breatharian.eu/hw/et57m/dwn/ ... ual_CZ.pdf

Vlastnosti:
- Procesor ATmega8 (4MHz, 8KB ROM, 1KB RAM, 512B EEPROM)
- Napájení z baterie CR2032, akumulátoru LiR2032 nebo z USB
- Externí napájení a dobíjení akumulátoru z USB konektoru
- Rozměr pouhých 43 x 43 mm
- Výpočty v BCD kódu
- Přesnost výpočtů 11 číslic
- Zobrazení údaje na max. 6 platných číslic
- Exponent 2 číslice, rozsah +- 99
- 10 programových prostorů
- Každý prostor 50 programových kroků (celkem 500 kroků)
- Uživatelský program uchován v EEPROM (bez baterie)
- 10 základních registrů (přístupných přímým adresováním)
- 90 rozšířených registrů (přístupných indexovým adresováním)
- 6-místný LED displej
- 12 tlačítek
- Kód kalkulátoru kompletně napsaný v AVR assembleru
- Exponenciální a logaritmické funkce
- Trigonometrické funkce
- Faktoriál
- Generátor náhodných čísel
- Indexový přístup k proměnným
- Vědecký mód zobrazení s exponentem
- Statistická funkce
- 10 návěští v každém programovém prostoru
- Volání funkcí a skoky mezi programovými prostory
- Hardware i software plně open source
Přílohy
et57m_1m.jpg
et57m_1m.jpg
et57m_2.jpg
et57m_2.jpg
Uživatelský avatar
nop
Příspěvky: 165
Registrován: 18 kvě 2007, 00:00

#9 Příspěvek od nop »

Ta mini verze je hustááá to se mi líbí.
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#10 Příspěvek od Panda38 »

Zveřejnil jsem plně k dispozici zdrojáky kalkulačky ET-58 s procesorem ATmega328P, rozšířený klon Texas Instruments TI-58/TI-59. Několik let jsme ji prodávali jako stavebnici, nyní jsou všechny potřebné podklady veřejně dostupné. Stavebnici kalkulačky bude mít v nabídce obchod Pájeníčko.
www: https://www.breatharian.eu/hw/et58/index.html
GitHub: https://github.com/Panda381/ET58
Přílohy
et58.jpg
et58.jpg
Uživatelský avatar
judeware
Příspěvky: 2011
Registrován: 04 srp 2009, 00:00
Bydliště: okres Písek

#11 Příspěvek od judeware »

Ideální pro vystavení na letošním Bytefestu :)
Uživatelský avatar
Cust
Příspěvky: 7239
Registrován: 17 led 2007, 00:00
Bydliště: Milotice u Kyjova

#12 Příspěvek od Cust »

Ta 58čka se mi líbí. :-)
Uživatelský avatar
RayeR
Příspěvky: 1850
Registrován: 02 srp 2009, 00:00
Bydliště: Praha
Kontaktovat uživatele:

#13 Příspěvek od RayeR »

Jo je to pekne, kdysi sem TI-5x moc moc chtel, postupne se mi povedlo sehnat SR-56, Ti-58 a 59, kdybych nemel origo, tak bych si to asi postavil...

Co se tyce displeje, myslim ze idealni by byl naky maly graficky wide OLED. Do hodinkove verze bych dal 128*32 0.91" a do puvodni krabice by se mohl vejit tenhle 256*32 1.8". Pripojeni je snadne pres I2C/SPI, radic.je dokumentovany...

https://www.buydisplay.com/white-1-8-in ... nd-ssd1326
Uživatelský avatar
Panda38
Příspěvky: 725
Registrován: 21 lis 2012, 00:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#14 Příspěvek od Panda38 »

Obchod Pájeníčko začal nabízet stavebnici kalkulačky ET-58: https://pajenicko.cz/programovatelny-ka ... stavebnice ... Ale samozřejmě stále platí možnost sestavit si kalkulačku svépomocí, podle zveřejněných podkladů.
Přílohy
Pajenicko_et58.jpg
Pajenicko_et58.jpg
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“