Kazalo:

DemUino - domači računalnik/krmilnik: 7 korakov
DemUino - domači računalnik/krmilnik: 7 korakov

Video: DemUino - domači računalnik/krmilnik: 7 korakov

Video: DemUino - domači računalnik/krmilnik: 7 korakov
Video: CS50 2013 - Week 9 2024, November
Anonim
Image
Image
Zažiganje zagonskega nalagalnika
Zažiganje zagonskega nalagalnika

Računalnik, ki ga navdihuje Arduino, DemeterArt Izkoristite svojo staro tipkovnico PS2 kar najbolje. Hack to v osebni računalnik po meri za nadzor stvari! Vedno sem si želel zgraditi svoj domači računalnik, nekako v retro slogu, nič lepega, vendar s posebnimi zmogljivostmi, prilagojenimi mojim željam. Tako sem prišel do tega z atmega328 MCU in razvojnim kompletom Arduino.

Naj povem, da bi ta projekt z dvomljivimi končnimi rezultati trajal precej dlje, če ne bi bilo nadarjenih oboževalcev, ki sebično manj ponujajo brezplačne knjižnice za uporabo vsem. Hvala vsem:-)

obiščite mojo spletno stran, če želite prebrati celotno zgodbo in prenesti vse ustrezne datoteke

www.sites.google.com/site/demeterart

1. korak: Lastnosti

  • Na podlagi ATMEGA328 z 32KB bliskavico, 2KB SRAM in 1KB EEPROM.
  • podpora za interaktivne in paketne načine
  • urejevalnik vrstic in način urejanja seznama
  • 8 znakov po meri za grafiko uporabnika
  • 60 programskih korakov oštevilčenih 00,…, 99
  • Zanke "if" pogojno, "while" in "for" ter stavki "goto" in "sub" za razvejanje
  • Osnovni aritmetični in matematični izrazi ter logični testi
  • sistemske spremenljivke omogočajo časovno določene dogodke, povprečne vrednosti, efektivne vrednosti, min in max vrednosti iz analognih zatičev itd
  • 26 uporabniških spremenljivk za interakcijo s sistemskimi spremenljivkami in ukazi
  • 104 bajtov uporabniško naslovljive matrike ali 52 kratkih celih števil
  • sposobnost branja/pisanja podatkov programa in kodiranja med letenjem (spremenljivka p)
  • aplikacija mini osciloskop s prilagojenimi znaki za psevdo grafiko
  • shranite in naložite programe in podatke v/iz EEPROM -a
  • naložite/shranite programe in spremenljivke iz/v računalnik
  • autoexec pri nalaganju in zagonu programa iz EEPROM -a po vsaki ponastavitvi
  • Na zunanjem priključku DB15 je na voljo 9 zatičev GPIO (vključen SPI)
  • BUZZER za zvočne učinke

2. korak: stvari, ki jih boste potrebovali

Stara tipkovnica ps/2, ki je dovolj debela, da je v njej na voljo pcb LCD -prikazovalnik (priljubljena vzporedna oblika) čip MAX232 za vrata RS232 atmel atmega328PU Arduino razvojni komplet z regulatorjem IDE 1.0.1 LM7805 5V brenčalni usmernik, kondenzatorji, gumb za ponastavitev, priključki itd

3. korak: zapisovanje zagonskega nalagalnika

Torej, potem ko ste kupili "prazen" čip atmega328PU, je treba sprejeti odločitev. Ali uporabljam poseben programer, zunanji ali ponudnik internetnih storitev, ali zagonim nalagalnik Arduino zapisem v zver in enoto programiram prek vrat UART? Za slednje sem se odločil za lažje življenje! Novi zagonski nalagalnik zavzame le pol kilobajta pomnilnika flash, na voljo pa je nekaj več kot 31 KB uporabniškega programa in statičnih podatkov. Spletno mesto Arduino zajema primer zapisovanja zagonskega nalagalnika na nov čip, ko je prišlo do uporabe avrdude za dejansko zapisovanje ciljnega čipa, postopek ni uspel z napako, ki je pokazala napačen ID za določeno MCU. Tako sem po nekaj iskanju našel tega fanta, ki je imel prav, in sledil njegovemu postopku. Edina razlika je bila v 2 konfiguracijskih datotekah, avrdude.conf in Board.txt, ki sta jih za to potrebovala avrdude in arduino IDE 1.0.1. Po kopiranju dveh datotek na ustrezna mesta (najprej varnostno kopirajte stare) je bila na voljo možnost 'arduino328' iz orodja-> Board in avrdude je nadaljeval z zapisovanjem varovalk in zagonskega nalagalnika. Zdaj je čip pripravljen za programiranje v novem stroju!

4. korak: Izdelava enote

Gradnja enote
Gradnja enote
Gradnja enote
Gradnja enote

Perforirana plošča z bakrenimi trakovi je bila uporabljena kot hitra rešitev za montažo z DIP vtičnicami za čipe, veste, za vsak slučaj! Nato so se skozi izjemno trdno in debelo plastiko tipkovnice odprle luknje in rezi za priključke, gumb za ponastavitev in LCD zaslon. Ja, to je bilo zgrajeno pred 25 leti! Sledila je zmešnjava žic, ki so izhajale iz tiskanega vezja proti različnim zunanjim napravam. Osnovno preverjanje kontinuitete in nato napajanje je bilo povezano brez čipov, ki so bili poseljeni, samo da bi preverili ustrezne napetosti vtičnic. Nato sta prišla dva IC -ja in ohišje tipkovnice je bilo trdno zaprto s plastičnimi zatiči na dnu. Enota je bila pripravljena za zapisovanje skic v krmilniku!

Predlagam, da za polnilne črpalke MAX232 uporabite nepolarne kondenzatorje 1uF/16V. Poiščite 100nF ločilne kondenzatorje za dva čipa čim bližje ustreznim zatičem VCC in GND. Za napajanje in maso, ki se nanaša na regulator LM7805, uporabite zvezdno povezavo. Stikalo 2 je lahko mostič, odvisno od zagona, vendar ga je dobro imeti, če se le izognemo neželenim ponastavitvam MCU iz gostiteljskega računalnika v določenih primerih. V vsakem primeru mora biti stikalo zaprto, da lahko Arduino IDE zapisuje skico s ponastavitvijo ciljnega MCU (pin DTR RS232). V mojem primeru je povezava trajna (vedno zaprta). Za zvočni signal uporabite serijski upor, da izolirate več nF kapacitivnosti od pogonskih vrat … nikoli ne veste.. Poiščite XTAL in obremenitvene kondenzatorje 18-22 pF čim bližje ustreznim zatičem krmilnika.

Zaradi usmerniškega mostu lahko enoto napajajo tako napajalniki za izmenični in enosmerni tok. V primeru enosmernega toka pride do padca napetosti 1,5 V med adapterjem in vhodom v regulator. V primeru izmeničnega toka je vhod regulatorja približno 1,4 -kratnik RMS -izhoda adapterja ali manj zaradi obremenitve. Če je razlika med vhodom regulatorja in njegovim izhodom (+5V) velika, recimo 7 voltov, potem se moč, ki jo porabi regulator, približa 0,5 vatom in je bolje uporabiti majhen hladilnik, na katerega bo nameščen čip (pod pogojem, da obstaja prostor zanj) za dolge ure delovanja v vročem vremenu.

Vhodno varovalko AC lahko izberete glede na vaše zunanje obremenitve (preko priključka DB15). Drugi dejavniki, ki vplivajo na izbiro varovalke, so tokovni omejevalni upor za LED osvetlitev LCD -ja, premostitveni kondenzator za polnilni tok in trenutna zmogljivost napajalnega transformatorja.

5. korak: SHEMATSKI

SHEMATSKA
SHEMATSKA

6. korak: PROGRAMSKA OPREMA NA TEKU

To je skica, zaradi katere se vse zgodi … in 32KB NI dovolj! Lahko ga uporabite nespremenjenega, v tem primeru bi bil hvaležen, če se sklicujete na svoje ime, ali pa ga poljubno spremenite in pozabite name;-)

To je podrobna dokumentacija o stroju.

Povzetek ukazov in izrazov

“: Vrstica komentarja, ki je ni mogoče natisniti

ai: priklopi prekinitev 0 (pin D2)

ar: analogno branje

aw: "analogno pisanje" na arduino ali pravilneje pwm

ca: analogno zajemanje v matriki

cl: počisti prikaz cno: return *Prgm indeks številke vrstice

di: počakajte na vrsto impulzov in izmerite trajanje in čas

dl: zamuda

do: v povezavi z "wh"

dr: digitalno branje katerega koli zatiča

dw: digitalni zapis katerega koli pina

ed: način urejevalnika / program za nalaganje iz računalnika / preštevilčenje vrstic

el: funkcija dostopa do EEPROM -a

end: stavek END programa

ensb: konča podprogram

es: funkcija dostopa do EEPROM -a

fl: preprost filter z drsečim povprečjem

fr: zanka za naslednjo (fr-nx)

pojdi: skoči na programski korak

gosb: nadaljuj z izvajanjem v podprogram

gt: čaka na vnos uporabnika

if: preskusno stanje in skok na korak

io: GPIO 1-9 bitov

ld: naložite/združite program iz EEPROM -a

lp:: zanka s tipkovnico v interaktivnem načinu

ls: način seznama / pošiljanje programa na računalnik po vrstici hkrati

ml: dobi čas

mm: prikaz prostega pomnilnika

nos: pretvori število v niz

nx: v povezavi z "fr"

pl: matrika ploskev cxx

pm: nastavite nožice za vhod ali izhod

pr: natisne sporočilo ali vrednost ali znak po meri

rgc: ukaz za kopiranje obsega za matrike

rgs: ukaz set range za matrike

rn: zaženite program v RAM -u

rs: mehka ponastavitev

rx: sprejmite znak prek RS232

si: sinhroni serijski vhod z uro in podatkovnimi zatiči

sm: mini osciloskop app sno: pretvori niz v številko

torej: sinhroni serijski izhod z uro in podatkovnimi zatiči

sub: razglasi podprogram

sv: shrani program v EEPROM

tn: pisk ton

tx: pošljite številko prek RS232

wh: do-while zanka, ki se uporablja skupaj z 'do'

7. korak: Video posnetek mini aplikacije 'sm' teče

obiščite mojo spletno stran, če želite prebrati celotno zgodbo in prenesti vse ustrezne datoteke

www.sites.google.com/site/demeterart

Priporočena: