DemUino - domácí počítač/ovladač: 7 kroků
DemUino - domácí počítač/ovladač: 7 kroků
Anonim
Image
Image
Vypalování bootloaderu
Vypalování bootloaderu

Počítač inspirovaný Arduino od DemeterArt Využijte co nejlépe svou starou klávesnici PS2. Hackujte to do přizpůsobeného osobního počítače a ovládejte věci! Vždy jsem chtěl postavit svůj vlastní domácí počítač, jakýsi retro styl, nic efektního, ale s konkrétními schopnostmi přizpůsobenými mým preferencím. Tak jsem se k tomu dostal s atmega328 MCU a vývojovou sadou Arduino.

Dovolte mi, abych uvedl, že tento projekt by trval podstatně déle s pochybnými konečnými výsledky, kdyby nebylo těch nadaných fanoušků, kteří by sobecky méně dodávali freewarové knihovny pro každého. Děkuji vám všem:-)

navštivte můj web, přečtěte si celý příběh a stáhněte si všechny relevantní soubory

www.sites.google.com/site/demeterart

Krok 1: Funkce

  • Na základě ATMEGA328 s 32 kB flash, 2 kB SRAM a 1 kB EEPROM.
  • podpora interaktivních a dávkových režimů
  • editor řádků a režim seznamu při úpravách
  • 8 vlastních znaků pro uživatelskou grafiku
  • 60 programových kroků očíslovaných 00,…, 99
  • Smyčky „pokud“podmíněné, „zatímco“a „pro“plus výrazy „přejít“a „pod“pro větvení
  • Základní aritmetické a matematické výrazy plus booleovské testy
  • systémové proměnné umožňují časované události, průměr, efektivní hodnoty, minimální a maximální hodnoty z analogových pinů atd
  • 26 uživatelských proměnných pro interakci se systémovými proměnnými a příkazy
  • 104 bajtů adresovatelného pole uživatele nebo 52 krátkých celých čísel
  • schopnost číst/zapisovat programová data i kód za běhu (proměnná p)
  • aplikace mini osciloskopu s přizpůsobenými znaky pro pseudo grafiku
  • ukládat a načítat programy a data do/z EEPROM
  • načítat/ukládat programy a proměnné z/do PC
  • autoexec do načtení a spuštění programu z EEPROM po každém resetu
  • Na externím konektoru DB15 je k dispozici 9 pinů GPIO (včetně SPI)
  • BUZZER pro zvukové efekty

Krok 2: Věci, které budete potřebovat

Stará klávesnice PS/2 dostatečně silná, aby pojala PCB LCD znakový displej (populární paralelní formát) MAX232 čip pro RS232 port atmel atmega328PU Arduino vývojová sada s IDE 1.0.1 LM7805 regulátor 5V bzučákový usměrňovací můstek, kondenzátory, resetovací tlačítko, konektory atd

Krok 3: Vypálení bootloaderu

Po nákupu „prázdného“čipu atmega328PU je tedy třeba učinit rozhodnutí. Mám použít speciální programátor, buď externí, nebo ISP, nebo vypálím zavaděč Arduino do šelmy a vykreslím jednotku programovatelnou přes její port UART? Vybral jsem si to druhé, abych si usnadnil život! Nový bootloader zabírá jen půl kilobajtu flash paměti, takže je k dispozici o něco více než 31 kB uživatelského programu a statických dat. Stránka Arduino pokrývá případ vypalování bootloaderu na nový čip, když došlo na použití avrdude ke skutečnému vypálení cílového čipu, proces selhal s chybou označující nesprávné ID pro konkrétní MCU. Po nějakém hledání jsem tedy našel toho chlapíka, který to pochopil správně, a já jsem se řídil jeho postupem. Jediným rozdílem byly 2 konfigurační soubory, avrdude.conf a boards.txt, které avrdude a arduino IDE 1.0.1 potřebovaly, aby to bylo možné. Po zkopírování 2 souborů na jejich správná místa (nejprve zazálohujte ty staré) byla k dispozici možnost „arduino328“z nástrojů-> Deska a avrdude pokračovalo vypalováním pojistek a zavaděče. Nyní je čip připraven k programování z nového stroje!

Krok 4: Sestavení jednotky

Budování jednotky
Budování jednotky
Budování jednotky
Budování jednotky

Děrovaná deska s měděnými pásy byla použita jako řešení rychlé montáže s DIP zásuvkami pro čipy, víte, jen pro případ! Poté byly otvory a výřezy pro konektory, resetovací tlačítko a LCD displej otevřeny pomocí extrémně pevného a silného plastu klávesnice. Jo, to bylo postaveno před 25 lety! Následoval nepořádek drátů vycházejících z desky plošných spojů směrem k různým periferním zařízením. Byla provedena základní kontrola kontinuity a poté bylo připojeno napájení bez osídlených čipů, jen aby se zkontrolovala správnost napětí v zásuvkách. Poté přišly 2 integrované obvody a pouzdro klávesnice bylo pevně uzavřeno plastovými západkami ve spodní části. Jednotka byla připravena vypálit náčrty v ovladači!

Navrhuji, aby jeden použil nepolární 1uF/16V kondenzátory pro nabíjecí čerpadla MAX232. Najděte oddělovací kondenzátory 100nF pro dva čipy co nejblíže příslušným pinům VCC a GND. Pro napájení a uzemnění regulátoru LM7805 použijte hvězdicové připojení. Přepínač 2 by mohl být propojkou v závislosti na impementaci, ale je dobré ji v určitých případech zamezit nechtěným resetům MCU z hostitelského počítače. V každém případě musí být spínač sepnutý, aby umožnilo Arduino IDE vypálit skicu resetováním cílového MCU (pin DTR RS232). V mém případě je připojení trvalé (vždy uzavřené). Použijte sériový rezistor pro bzučák k izolaci několika nF kapacitance od budicí brány … nikdy nevíte.. Najděte XTAL a nabíjecí 18-22pF kondenzátory co nejblíže příslušným kolíkům ovladače.

Díky můstku usměrňovače může být jednotka napájena jak napájecími adaptéry AC, tak DC. V případě stejnosměrného proudu dochází k poklesu napětí 1,5 V mezi adaptérem a vstupem do regulátoru. V případě střídavého proudu je vstup regulátoru přibližně 1,4násobek výkonu RMS adaptéru nebo méně v důsledku zatížení. Pokud je rozdíl mezi vstupem regulátoru a jeho výstupem (+5 V) velký, řekněme 7 voltů, pak se výkon spotřebovaný regulátorem blíží 0,5 wattu a je lepší použít malý chladič, na který se čip připevní (za předpokladu je na to prostor) na dlouhé hodiny provozu v horkém počasí.

Vstupní pojistka AC může být zvolena v závislosti na vašem externím zatížení (přes konektor DB15). Další faktory, které ovlivňují výběr pojistky, jsou proud omezující odpor pro LED podsvícení LCD, můstkový kondenzátor pro nabíjecí proud a proudová kapacita napájecího transformátoru.

Krok 5: SCHÉMA

SCHÉMA
SCHÉMA

Krok 6: SOFTWARE SPUŠTĚNÉ NA VSTUPU

Toto je náčrt, díky kterému se to všechno děje … a 32 kB nestačí! Buď ho můžete použít neupravený, v takovém případě bych ocenil odkaz na své jméno, nebo jej libovolně změnit a zapomenout na mě;-)

Toto je podrobná dokumentace o stroji.

Souhrn příkazů a výrazů

“: Netisknutelný řádek komentáře

ai: připojit přerušení 0 (pin D2)

ar: analogové čtení

aw: ‘analogový zápis’ na arduino nebo přesněji pwm

ca: analogový záznam v poli

cl: vymaže zobrazení cno: return *Prgm index čísla řádku

di: počkejte na sérii pulzů a změřte trvání a načasování

dl: zpoždění

dělat: ve spojení s „wh“

dr: digital read any pin

dw: digital write any pin

ed: režim editoru / načíst program z PC / přečíslovat řádky

el: EEPROM přístupová funkce

end: END prohlášení programu

ensb: končí podprogram

es: Funkce přístupu EEPROM

fl: jednoduchý filtr klouzavého průměru

fr: for-next loop (fr-nx)

přejít: skok na krok programu

gosb: pokračovat v provádění podprogramu

gt: čeká na vstup uživatele

pokud: testovací podmínky a skok na krok

io: GPIO 1-9 bitů

ld: načíst/sloučit program z EEPROM

lp:: smyčka ovládaná klávesnicí v interaktivním režimu

ls: režim seznamu / odeslání programu do počítače po řádku

ml: získejte čas

mm: zobrazení volné paměti

nos: převede číslo na řetězec

nx: ve spojení s „fr“

pl: plot pole cxx

pm: nastavit piny pro vstup nebo výstup

pr: vytiskne zprávu nebo hodnotu nebo vlastní znak

rgc: příkaz kopírování rozsahu pro pole

rgs: příkaz pro nastavení rozsahu pro pole

rn: spusťte program v RAM

rs: soft reset

rx: obdrží znak přes RS232

si: synchronní sériový vstup s hodinami a datovými piny

sm: mini osciloskop app sno: převede řetězec na číslo

tedy: synchronní sériový výstup s hodinami a datovými piny

sub: deklaruje podprogram

sv: uložit program do EEPROM

tn: pípnutí

tx: přenos čísla přes RS232

wh: smyčka do-while používaná ve spojení s „do“

Krok 7: Videoklip spuštěné aplikace Mini sm 'sm'

navštivte můj web, přečtěte si celý příběh a stáhněte si všechny relevantní soubory

www.sites.google.com/site/demeterart