Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Počítač inšpirovaný Arduino od DemeterArt Využite svoju starú klávesnicu PS2 na maximum. Hackujte to do prispôsobeného osobného počítača na ovládanie vecí! Vždy som chcel postaviť svoj vlastný domáci počítač, akýsi retro štýl, nič vymyslené, ale s konkrétnymi schopnosťami prispôsobenými mojim preferenciám. Tak som sa k tomu dostal pomocou atmega328 MCU a vývojového kitu Arduino.
Dovoľte mi uviesť, že tento projekt by trval oveľa dlhšie s pochybnými konečnými výsledkami, keby nebolo nadaných fanúšikov tam vonku, ktorí sebecky menej zásobujú bezplatnými knižnicami, ktoré môže používať každý. Ďakujem vám všetkým:-)
navštívte môj web, prečítajte si celý príbeh a stiahnite si všetky relevantné súbory
www.sites.google.com/site/demeterart
Krok 1: Vlastnosti
- Na základe ATMEGA328 s 32 kB bleskom, 2 kB SRAM a 1 kB EEPROM.
- podpora interaktívnych a dávkových režimov
- editor riadkov a režim úprav počas zoznamov
- 8 vlastných znakov pre užívateľskú grafiku
- 60 programových krokov očíslovaných 00, …, 99
- „Ak“podmienené, „kým“a „pre“slučky plus výrazy „prejsť“a „čiastkové“na rozvetvenie
- Základné aritmetické a matematické výrazy plus booleovské testy
- systémové premenné umožňujú časované udalosti, priemer, efektívnu hodnotu, minimálnu a maximálnu hodnotu z analógových pinov atď
- 26 používateľských premenných na interakciu so systémovými premennými a príkazmi
- 104 bajtov adresovateľného poľa alebo 52 krátkych celých čísel
- schopnosť čítať/zapisovať údaje z programu a tiež kód za behu (premenná p)
- aplikácia mini osciloskopu s prispôsobenými znakmi pre pseudo grafiku
- ukladajte a načítajte programy a údaje do/z pamäte EEPROM
- načítať/ukladať programy a premenné z/do PC
- autoexec do načítania a spustenia programu z EEPROM po každom resete
- Na externom konektore DB15 je k dispozícii 9 pinov GPIO (vrátane SPI)
- BUZZER pre zvukové efekty
Krok 2: Veci, ktoré budete potrebovať
Stará klávesnica ps/2 dostatočne hrubá na umiestnenie PCB LCD znakového displeja (populárny paralelný formát) čip MAX232 pre port RS232 atmel atmega328PU vývojová súprava Arduino s IDE 1.0.1 LM7805 regulátor 5V bzučiakový mostíkový usmerňovač, kondenzátory, resetovacie tlačidlo, konektory atď
Krok 3: Napaľovanie bootloadera
Potom, čo ste si kúpili „prázdny“čip atmega328PU, je potrebné urobiť rozhodnutie. Mám použiť špeciálny programátor, buď externý, alebo ISP, alebo napálim bootloader Arduino na beštiu a zaistím, aby bola jednotka programovateľná prostredníctvom portu UART? Vybral som si to druhé, aby mi uľahčil život! Nový bootloader zaberá iba pol kilobajtu flash pamäte, pričom k dispozícii je o niečo viac ako 31 kB užívateľského programu a statických údajov. Stránka Arduino sa zaoberá prípadom vypálenia bootloadera na nový čip, pokiaľ ide o použitie avrdude na skutočné vypálenie cieľového čipu, proces zlyhal s chybou označujúcou nesprávny identifikátor konkrétneho MCU. Po nejakom hľadaní som teda našiel toho chlapíka, ktorý to pochopil správne a nasledoval som jeho postup. Jediným rozdielom boli 2 konfiguračné súbory, avrdude.conf a boards.txt, ktoré avrdude a arduino IDE 1.0.1 potrebovali, aby to bolo možné. Po skopírovaní dvoch súborov na ich správne miesto (najskôr zálohujte staré) bola k dispozícii možnosť „arduino328“z nástrojov-> Board a avrdude pokračoval v napaľovaní poistiek a zavádzača. Čip je teraz pripravený na programovanie z nového počítača!
Krok 4: Zostavenie jednotky
Dierovaná doska s medenými pásikmi bola použitá ako rýchle riešenie montáže s DIP zásuvkami na čipy, viete, len pre prípad! Potom boli otvory a výrezy pre konektory, resetovacie tlačidlo a LCD displej otvorené prostredníctvom extrémne pevného a hrubého plastu klávesnice. Áno, bolo to postavené pred 25 rokmi! Nasledoval neporiadok drôtov vychádzajúcich z dosky plošných spojov smerom k rôznym perifériám. Základná kontrola kontinuity a potom bolo napájanie pripojené bez osídlených čipov, len aby sa skontrolovalo, či sú v zásuvkách správne napätia. Potom prišli na rad 2 integrované obvody a puzdro klávesnice bolo pevne zatvorené pomocou plastových úchytiek v spodnej časti. Jednotka bola pripravená páliť náčrty v ovládači!
Navrhujem, aby sa pre nabíjacie pumpy MAX232 používali nepolárne kondenzátory 1uF/16V. Nájdite oddeľovacie kondenzátory 100 nF pre dva čipy čo najbližšie k príslušným kolíkom VCC a GND. Na napájanie a uzemnenie uvedené na regulátore LM7805 použite hviezdicové pripojenie. Prepínač 2 by mohol byť prepojkou v závislosti od zavedenia, ale je dobré mať ho, aby sa v určitých prípadoch vyhlo nechceným resetom MCU z hostiteľského počítača. V každom prípade musí byť spínač zatvorený, aby umožnilo Arduino IDE napaľovať skicu resetovaním cieľového MCU (pin DTR RS232). V mojom prípade je pripojenie trvalé (vždy uzavreté). Použite sériový odpor bzučiaka na izoláciu niekoľkých nF kapacity od hnacej brány … nikdy neviete.. Lokalizujte kondenzátory XTAL a zaťažovacie 18-22pF čo najbližšie k príslušným kolíkom ovládača.
Vďaka usmerňovaciemu mostíku môže byť jednotka napájaná striedavým aj jednosmerným napájacím adaptérom. V prípade jednosmerného prúdu dôjde k poklesu napätia 1,5 V medzi adaptérom a vstupom do regulátora. V prípade striedavého prúdu je vstup regulátora asi 1,4 -násobok výkonu RMS adaptéra alebo menší v dôsledku zaťaženia. Ak je rozdiel medzi vstupom regulátora a jeho výstupom (+5 V) veľký, povedzme 7 voltov, potom sa výkon spotrebovaný regulátorom blíži 0,5 wattu a je lepšie použiť malý chladič, na ktorý je možné čip namontovať (za predpokladu je na to priestor) na dlhé hodiny prevádzky v horúcom počasí.
Vstupná poistka AC môže byť zvolená v závislosti od vašich externých záťaží (cez konektor DB15). Ďalšími faktormi, ktoré ovplyvňujú výber poistiek, sú odpor obmedzujúci prúd pre LED podsvietenie LCD, mostíkový kondenzátor pre nabíjací prúd a aktuálna kapacita napájacieho transformátora.
Krok 5: SCHÉMA
Krok 6: SOFTWARE SPUŠŤAJÚCE VSTUP
Toto je náčrt, vďaka ktorému sa to všetko deje … a 32 kB nestačí! Buď ho môžete použiť neupravený, v takom prípade by som ocenil odkaz na moje meno, alebo ho ľubovoľne zmeniť a zabudnúť na mňa;-)
Toto je podrobná dokumentácia k stroju.
Zhrnutie príkazov a výrazov
“: Netlačiteľný riadok komentárov
ai: pripojiť prerušenie 0 (pin D2)
ar: analógové čítanie
aw: „analógový zápis“na arduino alebo presnejšie pwm
ca: analógové zachytenie v poli
cl: vymaže zobrazenie cno: return *Prgm index čísla riadku
di: počkajte na sériu impulzov a zmerajte trvanie a načasovanie
dl: zdržanie
robiť: v spojení s „wh“
dr: digital read any pin
dw: digitálny zápis akéhokoľvek pinu
ed: režim editora / načítať program z PC / prečíslovať riadky
el: EEPROM prístupová funkcia
koniec: KONIEC príkazu programu
ensb: končí podprogram
es: funkcia prístupu EEPROM
fl: jednoduchý filter kĺzavého priemeru
fr: for-next loop (fr-nx)
choďte: skočte na krok programu
gosb: pokračovať v vykonávaní podprogramu
gt: čaká na vstup používateľa
ak: vyskúšajte podmienky a prejdite na krok
io: GPIO 1-9 bitov
ld: načítať/zlúčiť program z EEPROM
lp:: slučka ovládaná klávesnicou v interaktívnom režime
ls: režim zoznamu / odoslanie programu do počítača naraz
ml: získajte čas
mm: zobrazenie voľnej pamäte
nos: konvertuje číslo na reťazec
nx: v spojení s „fr“
pl: vykreslite pole cxx
pm: nastaviť piny pre vstup alebo výstup
pr: vytlačí správu alebo hodnotu alebo vlastný znak
rgc: príkaz na kopírovanie rozsahu pre polia
rgs: príkaz na nastavenie rozsahu pre polia
rn: spustite program v RAM
rs: mäkký reset
rx: prijmite znak cez RS232
si: synchrónny sériový vstup s hodinami a dátovými pinmi
sm: mini osciloskop app sno: prevádza reťazec na číslo
takže: synchrónny sériový výstup s hodinami a dátovými pinmi
sub: vyhlasuje podprogram
sv: uložte program do EEPROM
tn: pípnutie
tx: preneste číslo cez RS232
wh: slučka do-while používaná v spojení s „do“
Krok 7: Videoklip zo spustenej mini aplikácie „sm“
navštívte môj web, prečítajte si celý príbeh a stiahnite si všetky relevantné súbory
www.sites.google.com/site/demeterart