Készíts egy asztali számítógépet: 8 lépés (képekkel)

Készíts egy asztali számítógépet: 8 lépés (képekkel)

Tartalomjegyzék:

Anonim

Egy nap az asztalom mögött ültem a munkahelyemben, és megkaptam ezt a furcsa szükségletet, hogy valamit építsek, miután egy kicsit körülnézett, egy LED-mátrixot kaptam, és ez felvetett egy ötletet a fejemben: „Én WANNA MAKE A TAMAGOTCHI.

Tehát azoknak, akik nem tudják, mi a fene egy Tamagotchi, itt van egy kis snip-it a wikipédiából:

"A Tamagotchi (た ま ご っ ち Tamagocchi?) Egy kézi digitális kisállat, amelyet Japánban a WiZ Akihiro Yokoi és Bandai Aki Maita hozta létre, amelyet először Bandai értékesített Japánban."

Tehát a klasszikus játékszerkezetem az, hogy egy asztali szerkentyűbe hozza a kijelzőhöz tartozó LED-mátrixot, és egy Arduino-t az agyak számára, hogy jobban hozzáférhető legyen az emberek számára. Ezzel azt mondta, hogy csatlakozz hozzám, amikor tervezzük, építjük és programozzuk a világ első (Tudom) asztali Tamagotchi-ját.

kellékek:

1. lépés: A helyes dolgok megszerzése

Tehát, mint bármely más elektronikai projekthez, meg kell kapnia néhány alapvető eszközt:

1) Forrasztópáka

2) Néhány forrasztóhuzal

3) Egy pár vágó

4) Egy pár tűs fogó

Választható: A forrasztási hibák javítása érdekében forrasztópánkot vagy forrasztópumpát kap

Ami az elektronikát illeti, az alkatrészek listája egy kicsit hosszabb, itt van, amit kell kapnia:

1) ATmega328P az arduino bootloader + 16Mhz kristály két 22pF sapkával

* Szükséged lesz valamire a chip programozására, mint egy arduino platform vagy egy FDTI adapter

2) 4 x 74HC595 váltásregiszter

3) 2 x ULN2803 Darlington tranzisztor tömb

4) 1 x DS1302 RTC + 32.768kHz Crystal

5) 1 x 3V-os érmeelem elemtartó + az akkumulátor.

6) 4 x derékszögű nyomógomb

7) 1 x Peizzo Buzzer

8) 4 x 8x8 LED mátrix modul

9) 16 x 330Ohm ellenállások (a mátrix értékét ki kell számítani)

10) 2 x 16 soros női fejléc

11) 2 x 16-os pólusú fejléc

12) 1 x 4 női fejléc sor (programozáshoz)

13) 5 x 100nF sapka

14) 1 x 10uF sapka

15) 1 x 10K ellenállás

15) Hálózati csatlakozó

16) 5V DC fali szemölcs

17) Nagy protoboard

18) Néhány vezeték a csatlakozásokhoz

2. lépés: A hardver oldal

Még akkor is, ha ez a projekt, ha többnyire szoftver-összpontosít, akkor először ki kell építenünk a hardvert, hogy megkönnyítsük az életírás-kódot és a hibakeresést.

A hardver 2 fő részből áll: A mikrokontroller része és a LED-kijelző.

A mikrokontroller része egyenesen előre, önálló arduino (ATmega328 az arduino bootloaderrel)

néhány periféria (4 gomb, egy zümmögő és egy RTC), de ez a legkritikusabb rész, ahogyan az a gondolkodás egésze.

A LED-kijelző rész egy kicsit bonyolultabb, és időt vesz igénybe a forrasztáshoz. Ez az áramkör 4 váltóregiszterből (74HC595) áll, 2 darlington tranzisztor tömb (ULN2803) és 4 8x8 LED mátrix.

Mint a legtöbb LED-kijelző, semmi meglepő, hogy a kijelzőt multiplexelni kell (nézd meg, hogy ez egy nagyon hűvös koncepció), mert a 16x16 LED-ek egyéni vezetése 256 csapot vesz a mikrokontrollerből, és ez csak ostoba.

Még a multiplexelési megközelítés mellett még mindig 32 (16 sor + 16 oszlop) tű szükséges a mikrokontrollerről a kijelző meghajtásához, ami ismét nincs, így a megoldás az, hogy a shift regisztereket I / O bővítésként használjuk, 4 8 A bit eltolású regiszterek 32 kimenetet adnak, és mindössze 3 sorból áll, hogy mindezeket vezérelje.

A problémák azonban nem érik véget, mert a váltási regiszterek nem tudják kezelni a 16 LED-es süllyesztését (ha egy teljes sor világít) egy tűn, így a darlington-tranzisztor-tömb segítségével kell odaadnunk. olyan pufferként fog működni, amely képes kezelni a nagyáramokat, amelyek meg tudják sütni a műszak-nyilvántartásokat.

Ahhoz, hogy visszavonjuk, 4 daisy-láncú váltónyilvántartást használunk a kijelző vezérléséhez, az első 2 meghajtó a sorokat, a másik 2 pedig az oszlopokat a darlington tömb segítségével.

Az egyetlen dolog, amit ebben a projektben kell kiszámítani, az az ellenállások értéke, amelyek a LED sorokat vezetik.

A képlet nagyon egyszerű és így megy:

R = (Vsource - Vled) / Iled

A Vsource 5V, a Vled az egyetlen feszültség az egyetlen LED-ben a mátrixban, és az Iled az ugyanazon LED előre áramlása.

Az online számológépeket ezzel is segítheti.

3. lépés: Az építési koncepció - LED-kártya

Amikor elkezdtem az építményt, tiszta képet akartam kapni egy eset használata nélkül (a helyes eset megtalálása egy rémálom), ezért elmentem

egy kétrészes szerkezetet, azaz egy táblát, amely a LED-mátrixot és a második az összes elektronikát tartja.

Ily módon az egyetlen dolog, amit látni fogsz, amikor a fronton nézed, maga a LED-kijelző és a többi dolog a képernyő mögé rejtve van.

Az első tábla, amelyen a LED-mátrix van, diktálja a második méretét, mert el akarja rejteni a másik táblát a kijelző mögött. Tehát helyezze a mátrixegységet a táblára, jelölje meg, hová vágja és vágja le a táblát. Vágja le a második táblát, így ugyanolyan méretű lesz, mint az első. Ennek az épületstílusnak az az oka, hogy ugyanolyan méretű proto-táblákra van szükség, ezért jó ötlet, hogy a deszkákat ugyanolyan méretűre húzzák.

Mivel 4 8x8 LED-mátrixom volt, össze kellett kapcsolnom őket, hogy egy 16x16 LED-es mátrixot kapjak, ami elég egyszerű, és csak egy kis időt vesz igénybe, hogy összekapcsoljam őket. A vízszintes mátrixok sorainak összekapcsolása a másikra és a függőleges mátrixok oszlopaihoz (a vékony huzalkötésű huzalokhoz csatlakoztattam).

Most az egyetlen rész, ami ezen a táblán maradt, összekapcsolja azokat a fejléceket, amelyek összekötik a táblákkal együtt, ennek a csatlakozónak a elhelyezését a második kártyán lévő kapcsolók pozíciója határozza meg. A kapcsolók a lapok oldalán lesznek, így nem helyezhetjük el a csatlakozót a lap szélére, ezért a csatlakozók a peremtől kb.

A sorokhoz két csatlakozó van, a másik pedig az oszlopokhoz.

A megjelenés befejezéséhez azt javaslom, hogy helyezzek egy fehér papírlapot a mátrix fölé, hogy elrejtsük az összeszerelést és tiszta képet kapjak.

A papírt a mátrix széléhez ragasztottam, hogy a kijelző biztonságos legyen a ragasztótól.

4. lépés: Az építési koncepció - a vezetőtábla

Most a vezetőtábla az építés legbonyolultabb része a térbeli korlátok miatt, és nem igazán tudom megmondani, hogyan kell építeni, mert mindenkinek van építési stílusa.

Amit elmondhatok, az a kulcselemek elhelyezése, mint a gombok és a csatlakozók. Most a gomboknak a táblán kell lenniük, és leginkább a szögletesnek kell lenniük ahhoz, hogy a látótávolságon kívül maradjanak, de még mindig megnyomhatják őket.

Innen helyezzük el a két lapot összekötő csatlakozókat, a csatlakozóknak a lehető legközelebb kell lenniük a széléhez, hogy jó és erős kapcsolatot biztosítsanak, vagyis először a gombok elején helyezzük el a gombokat, és onnan eldönthessük, hol tegye a csatlakozókat.

Megjegyzés: Elég fontos, hogy megbizonyosodjunk arról, hogy mindkét kártya csatlakozói tökéletesen összekapcsolódnak, és a lapok oldala egybeesik.

A kritikus részek elvégzése után szabadon felépítheted a többit, ahogy látod, de győződj meg róla, hogy nincsenek olyan részek, amelyek "fedélzeten" mennek.

Javasoljuk, hogy csoportokba építsek, és a csoport összes alkatrészét tartsák egymás mellett, hogy könnyebb legyen a kábelezés, például:

Az oszlopcsatlakozót a két darlington chipshez és a két váltó regiszterhez kell csatlakoztatni, így célszerű, hogy a csomót közel hozzák egymáshoz, és egy kicsit gondolkodva lehetséges, hogy csak néhány huzal van itt és ott ebben a csoportban..

Bizonyosodjon meg róla, hogy a programozó fejléceket a mikrovezérlőhöz a jövőbeni modulokhoz helyezze.

5. lépés: Játékszabályok

A hardverrész befejezése után az idő gondolkodik a kódról és a játékszerkezetekről.

Ez volt a legnehezebb része számomra, mert a semmiből bámultam, és meg kellett állítanom a saját szabályokat, amelyek semmilyen módon nem tökéletesek.

A játék, ahogyan van, nagyon könnyen kihasználható és jól működik, de ez nem egy komoly játék, és hűvös kis szerkentyű.

Tehát ezzel a kis felelősségvállalási nyilatkozattal egy kicsit beszélhet a játékszabályokról.

Az állatnak 5 alapstatisztikája van: egészség, súly, boldogság, éhség és életkor.

A játékosok szerepe az, hogy egyensúlyba hozza ezt a statisztikát 4 akcióval: táplálja a kisállatot, játsszon vele, tisztítsa utána és orvosi ellátást.

Minden akció pozitív hatással és negatív hatással bír, és a játékosnak meg kell tennie a legjobb kompromisszum kiválasztását.

Amikor a játékos úgy dönt, hogy a kedvtelésből tartott állatot táplálja, 3 lehetősége van: adjon neki egy húslisztet, adjon neki gyümölcsöt vagy cukorkát.

A hústüzelés teszi ki a legtöbb éhezési pontot, és sok súlyt ad a súlynak, a gyümölcs növeli a háziállatok egészségét, de csökkenti a háziállatok boldogságát és a cukorkát nagy boldogsággal növeli, de csökkenti az egészséget és növeli a háziállatok súlyát.

Amikor a játékos úgy dönt, hogy játsszon a kedvtelésből tartott állatokkal, egy Simon játék indul, és attól függően, hogy a játékos mennyire jó volt a boldogságstatisztika, de ha a játékos nagyon rosszul tette, a boldogság csökken.

A kedvtelésből tartott állatok időről időre eljutnak a WC-be, és a játékosnak meg kell tisztítania utána, minden forduló, amit a játékos kihagy, csökkenti a kedvtelésből tartott állatok egészségét, és felveti az esélyt, hogy a kisállat beteg legyen.

Szintén véletlenszerű esély van arra, hogy a kisállat beteg lesz, ez az esély nagyobb, ha a kisállat öreg vagy piszkos. Mindhárom betegségi szintnek van saját negatív hatása. A játékos egy kis lövést adhat a kisállatnak, hogy gyógyítsa meg, de ez csökkenti a háziállatok egészségét (senki nem szereti a felvételeket: D).

És a leghatalmasabb rész (számomra) az, hogy a kisállat 23:00 órakor automatikusan aludni kezd, és 8:00 órakor felébred, hogy éjszaka ne haljon meg. Természetesen megváltoztathatja ezt a részt tetszés szerint, és beállíthat egy új lefekvést a kisállat számára.

6. lépés: Szoftver: Menük és animációk

Itt vagyunk a projekt legrövidebb időigényes részében, miután eldöntöttük a játék minden jellemzőjét és állapotát, az idő az életbe hozása az összes animáció, beállítás, művelet és állapot létrehozásával.

Ehhez a lépéshez két programot használtam: paint.net és excel.

A festékben az ikonokat és a menüképernyőket egyenként készítettem. A festék használata nagy segítség, mert könnyen másolhatja, festheti, törölheti és manipulálhatja a képet. Minél kevésbé volt számomra ez a rész, mert nehezen jöttem létre az egyéni ikonok, amelyek minden fellépés, beállítás, étel és érzelem ellen állnak.

Megjegyzés: A festékben a pixel grid opciót használtam, hogy könnyedén megoszthassam egy szekciót a pixelekbe és festhetek mindegyiket.

Az animációkkal és ikonokkal végzett munka befejezése után a csoportokba tartozó ikonokat számoztam, és elkezdtem dolgozni az ikonok bitképének megalkotásánál, így a excell-ben használt kedvenc trükköt használtam a bitkép létrehozásához.

Létrehoztam egy Excel-táblázatot, amely lehetővé teszi számomra, hogy egy adott területen lévő cellákkal "festék", majd a kívánt formátumban kinyomja a bitképet.

Mindezek után mindössze a kódok beillesztése és a szoftver írásának megkezdése.

7. lépés: Szoftver: végső kód

Ennek a projektnek a fő része a szoftver, és ez a dolog, ami a projektnek jellegét adja.

Most itt nem megyek át részletesen a kódon, mert ezt megtettem magamban a kódban, így sok várakozást várhatok ott (néhány szörnyű helyesírási hibával: D).

A kód 3 könyvtárat használ, de mindegyikhez tartozik az Arduino IDE, így nincs szükség semmilyen letöltésre.

Speciális könyvtárak nélkül írtam a kódot, hogy megmentse a kód frissítésének és a jövőbeni könyvtárak megtalálásának baját.

ezért a kód hosszú, és sok funkcióval rendelkezik.

Most az önálló kódnak két fő része van: a fő hurok, amely az összes játékszabályt kezeli, és a "háziállatok" viselkedését és egy időzítő megszakítási rutint, amely a kijelző frissítését kezeli.

A kóddal végzett munkám még nem fejeződött be, mert mindig új dolgokat kell hozzáadni és javítani, így időről időre frissítem a kódot. De a kód mostanában működő állapotban van, és teljes értékű.

8. lépés: Kész! Mi a következő?

Hurrá! Végeztünk! vagy mi?

Van egy teljesen működő pad tetején Tamagotchi minden alapvető funkció, de miért hagyja ott?

Rengeteg dolgot kell hozzáadni és javítani, és ez rajtad múlik. Tehát vegye az akadályokat és javítsa, változtassa meg és érezd jól magad!

És ne felejtsd el, hogy büszkén helyezkedj el a fedélzetedre, és mutasd meg az új teremtményedet.

Ui

Gondoskodjunk róla, és ne felejtsük el, hogy időről időre takarmányozzuk:)