Tartalomjegyzék:

DemUino - otthoni számítógép/vezérlő: 7 lépés
DemUino - otthoni számítógép/vezérlő: 7 lépés

Videó: DemUino - otthoni számítógép/vezérlő: 7 lépés

Videó: DemUino - otthoni számítógép/vezérlő: 7 lépés
Videó: Follow Yeshua (Jesus)@JustJoeNoTitle 2024, November
Anonim
Image
Image
A Bootloader égetése
A Bootloader égetése

A DemuArt által inspirált Arduino számítógép Hozza ki a legtöbbet a régi PS2 billentyűzetből. Hack egy személyre szabott személyi számítógép, hogy ellenőrizzék a dolgokat! Mindig is szerettem volna saját otthoni számítógépet építeni, amolyan retró stílusú, semmi divatos, de a saját preferenciáimhoz igazított különleges képességekkel. Tehát az atmega328 MCU -val és az Arduino fejlesztői készlettel jutottam hozzá.

Hadd mondjam el, hogy ez a projekt lényegesen tovább tartott volna kétes végeredménnyel, ha nem lennének azok a tehetséges rajongók, akik önzően, kevésbé biztosítják az ingyenes könyvtárakat mindenki számára. Köszönök mindent:-)

látogasson el webhelyemre, ahol elolvashatja a teljes történetet, és letöltheti az összes releváns fájlt

www.sites.google.com/site/demeterart

1. lépés: Jellemzők

  • Az ATMEGA328 alapján 32 KB vaku, 2 KB SRAM és 1 KB EEPROM.
  • interaktív és kötegelt módok támogatása
  • sorszerkesztő és lista-szerkesztés mód
  • 8 egyéni karakter a felhasználói grafikához
  • 60 programlépés, 00,…, 99
  • „If” feltételes, „while” és „for” hurkok, valamint „goto” és „sub” utasítás az elágazáshoz
  • Alapvető számtani és matematikai kifejezések, valamint logikai tesztek
  • A rendszerváltozók lehetővé teszik az időzített eseményeket, az átlagot, az effektív értékeket, a min és a max értékeket az analóg érintkezőkből stb
  • 26 felhasználói változó a rendszerváltozókkal és parancsokkal való interakcióhoz
  • 104 bájt felhasználó címezhető tömb vagy 52 rövid egész szám
  • képesség programadatok és kódok olvasására/írására menet közben (p változó)
  • mini oszcilloszkóp alkalmazás személyre szabott karakterekkel pszeudo grafikához
  • programokat és adatokat menthet és tölthet be az EEPROM -ba
  • programok és változók betöltése/mentése a/számítógépről
  • autoexec program betöltéséhez és futtatásához az EEPROM -ból minden visszaállítás után
  • 9 GPIO csap (SPI mellékelve) a külső DB15 csatlakozón
  • BUZZER hanghatásokhoz

2. lépés: Olyan dolgok, amelyekre szüksége lesz

Egy régi PS/2 billentyűzet, amely elég vastag a PCB LCD karakterkijelző (a népszerű párhuzamos formátum) elhelyezéséhez csatlakozók stb

3. lépés: A rendszerindító égetése

Tehát egy „üres” atmega328PU chip megvásárlása után dönteni kell. Használjak speciális programozót, akár külsőt, akár internetszolgáltatót, vagy égessem az Arduino rendszerbetöltőt a fenevadba, és programozhatóvá tegyem az egységet az UART portján keresztül? Az utóbbit választottam, hogy megkönnyítsem az életemet! Az új rendszerbetöltő mindössze fél kilobájt flash memóriát foglal el, így valamivel több mint 31 KB felhasználói program és statikus adat áll rendelkezésre. Az Arduino webhely kiterjed arra az esetre, amikor a rendszerbetöltőt új chipre égették, amikor az avrdude használatával ténylegesen el kellett égetni a cél chipet, a folyamat meghiúsult, és az adott MCU hibás azonosítóját jelző hiba történt. Így némi keresgélés után megtaláltam ezt a fickót, akinek igaza volt, és követtem az eljárását. Az egyetlen különbség két konfigurációs fájl volt, az avrdude.conf és boards.txt, amelyekre az avrdude és az arduino IDE 1.0.1 szükséges. Miután a 2 fájlt átmásolta a megfelelő helyre (először készítsen biztonsági másolatot a régiről), rendelkezésre állt az „arduino328” opció a Tools-> Board alkalmazásban, és az avrdude folytatta a biztosítékok és a rendszerbetöltő elégetését. Most a chip készen áll az új gépen belüli programozásra!

4. lépés: Az egység felépítése

Az egység építése
Az egység építése
Az egység építése
Az egység építése

Gyors összeszerelési megoldásként rézcsíkokkal ellátott perforált táblát használtak DIP -foglalatokkal a forgácsokhoz, tudod, minden esetre! Ezután a billentyűzet rendkívül erős és vastag műanyagán keresztül kinyitották a csatlakozók, a reset gomb és az LCD kijelző lyukait és vágásait. Igen, 25 éve építették! Ezt követte a PCB -ről a különböző perifériák felé vezető vezetékek zűrzavara. Egy kezdetleges folytonossági ellenőrzés, majd az áramellátás csatlakoztatása nem történt chipekkel, csak a konnektorok megfelelő feszültségének ellenőrzésére. Ezután jött a 2 IC, és a billentyűzet tokja szilárdan le volt zárva az alján található műanyag pattanások révén. Az egység készen állt a vázlatok írására a vezérlőben!

Azt javaslom, hogy használjunk nempoláris 1uF/16V kondenzátorokat a MAX232 töltőszivattyúkhoz. Keresse meg a két chip 100nF leválasztó kondenzátorait a lehető legközelebb a megfelelő VCC és GND csapokhoz. Az LM7805 szabályozóhoz tartozó tápellátáshoz és földeléshez csillagcsatlakozást használjon. A 2 -es kapcsoló áthidaló lehet az impedanciától függően, de jó, ha van, ha csak azért, hogy elkerülje a nem kívánt MCU -alaphelyzetbe állítást a fogadó PC -ről bizonyos esetekben. Mindenesetre a kapcsolót le kell zárni, hogy az Arduino IDE a vázlatot a cél MCU alaphelyzetbe állításával írhassa le (RS232 DTR -es tű). Esetemben a kapcsolat állandó (mindig zárva). Használjon soros ellenállást a zümmernek, hogy elkülönítse a több nF kapacitást a meghajtó kaputól … sosem lehet tudni. Keresse meg az XTAL-t és a betöltő 18-22pF kondenzátorokat, a lehető legközelebb a vezérlő megfelelő csapjaihoz.

Az egyenirányító híd miatt a készüléket váltakozó áramú és egyenáramú tápegységek is táplálhatják. DC esetén 1,5 V feszültségcsökkenés van az adapter és a szabályozó bemenete között. AC esetén a szabályozó bemenete körülbelül 1,4 -szerese az adapter RMS kimenetének, vagy kevesebb a terhelés miatt. Ha a különbség a szabályozó bemenete és a kimenete (+5 V) között nagy, mondjuk 7 volt, akkor a szabályozó által fogyasztott teljesítmény megközelíti a 0,5 wattot, és jobb egy kis hűtőbordát használni, amelyre a chipet felszerelni kell (mellékelve van hely rá) forró időben hosszú üzemórákra.

A váltakozó áramú bemeneti biztosíték a külső terhelések függvényében választható ki (a DB15 csatlakozón keresztül). A biztosítékválasztást befolyásoló egyéb tényezők az áramkorlátozó ellenállás az LCD LED -es háttérvilágításához, a híd kondenzátor a töltőáramhoz és a tápegység transzformátorának aktuális kapacitása.

5. lépés: SCHEMATIC

VÁZLATOS
VÁZLATOS

6. lépés: SZOFTVER FUTÁS A VEZETŐBEN

Ez az a vázlat, ami mindent megvalósít… és a 32 KB nem elég! Használhatod módosítatlanul is, ebben az esetben nagyra értékelném a nevemre való hivatkozást, vagy tetszés szerint megváltoztathatná, és megfeledkezhet rólam;-)

Ez a gép részletes dokumentációja.

Parancsok és kifejezések összefoglalása

“: Nem nyomtatható megjegyzéssor

ai: csatolja a megszakítást 0 (D2 érintkező)

ar: analóg olvasás

aw: „analóg írás” arduino vagy helyesebben pwm

ca: analóg rögzítés tömbben

cl: törli a kijelzőt cno: return *Prgm sorszám index

di: várja meg az impulzusok sorozatát, és mérje meg az időtartamot és az időzítést

dl: késleltetés

tegye: a „wh” -vel együtt

dr: digitális olvassa el bármelyik tűt

dw: digitális írjon bármilyen tűt

szerk.: szerkesztő mód / program betöltése PC -ről / sorok átnevezése

el: EEPROM hozzáférési funkció

vége: egy program VÉGE nyilatkozata

ensb: befejezi az alprogramot

es: EEPROM hozzáférési funkció

fl: egyszerű mozgóátlag szűrő

fr: for-next loop (fr-nx)

go: ugorjon a program lépésre

gosb: a végrehajtás folytatása szubrutinra

gt: várja a felhasználói bevitelt

ha: tesztelje a feltételt és ugorjon a lépésre

io: GPIO 1-9 bit

ld: program betöltése/egyesítése az EEPROM -ból

lp:: billentyűzet által vezérelt hurok interaktív módban

ls: lista mód / program küldése PC -re egy sorban

ml: kap időt

mm: szabad memória megjelenítése

nos: a számot karakterlánccá alakítja

nx: „fr” -vel együtt

pl: plot tömb cxx

pm: állítsa be a bemenetet vagy a kimenetet

pr: üzenetet, értéket vagy egyéni karaktert nyomtat

rgc: tartomány másolási parancs tömbökhöz

rgs: tartománykészlet parancs tömbökhöz

rn: futtassa a programot RAM -ban

rs: soft reset

rx: karakter fogadása RS232 -n keresztül

si: szinkron soros bemenet óra és adatcsapokkal

sm: mini oszcilloszkóp alkalmazás sno: a karakterláncot számgá alakítja

tehát: szinkron soros kimenet óra és adatcsapokkal

sub: szubrutin deklarálja

sv: a program mentése az EEPROM -ba

tn: hangjelzés

tx: szám továbbítása RS232 -n keresztül

wh: do-while ciklus a „do” -val együtt

7. lépés: Videoklip a Mini App „sm” futásából

látogasson el webhelyemre, ahol elolvashatja a teljes történetet, és letöltheti az összes releváns fájlt

www.sites.google.com/site/demeterart

Ajánlott: