Sadržaj:

DemUino - Kućni računar/kontroler: 7 koraka
DemUino - Kućni računar/kontroler: 7 koraka

Video: DemUino - Kućni računar/kontroler: 7 koraka

Video: DemUino - Kućni računar/kontroler: 7 koraka
Video: CS50 2015 - Week 9 2024, Novembar
Anonim
Image
Image
Snimanje pokretačkog programa
Snimanje pokretačkog programa

Računar inspiriran Arduinom kompanije DemeterArt Iskoristite na najbolji način svoju staru PS2 tastaturu. Hakirajte ga u prilagođeni lični računar za kontrolu stvari! Oduvijek sam želio izgraditi vlastiti kućni računar, u retro stilu, ništa otmjeno, ali sa posebnim mogućnostima prilagođenim mojim željama. Pa sam došao do toga s atmega328 MCU -om i Arduino razvojnim kompletom.

Dopustite mi da napomenem da bi ovaj projekt trajao znatno duže sa sumnjivim krajnjim rezultatima da nije bilo nadarenih fanova koji manje sebično isporučuju besplatne biblioteke za korištenje svima. Hvala vam svima:-)

posjetite moju web stranicu kako biste pročitali cijelu priču i preuzeli sve relevantne datoteke

www.sites.google.com/site/demeterart

Korak 1: Karakteristike

  • Zasnovano na ATMEGA328 sa 32KB blica, 2KB SRAM -a i 1KB EEPROM -a.
  • podrška za interaktivne i paketne načine rada
  • uređivač linija i način rada za uređivanje liste
  • 8 prilagođenih znakova za grafiku korisnika
  • 60 programskih koraka numerisanih 00,…, 99
  • "If" uvjetno, "while" i "for" petlje plus "goto" i "sub" naredbe za grananje
  • Osnovni aritmetički i matematički izrazi plus logički testovi
  • sistemske varijable dopuštaju vremenske događaje, prosječne, rms, min i max vrijednosti iz analognih pinova itd
  • 26 korisničkih varijabli za interakciju sa sistemskim varijablama i naredbama
  • 104 bajta korisnički adresabilnog niza ili 52 kratka cijela broja
  • mogućnost čitanja/pisanja programskih podataka, kao i kodiranja u hodu (p varijabla)
  • mini aplikacija za osciloskop sa prilagođenim likovima za pseudo grafiku
  • spremanje i učitavanje programa i podataka u/iz EEPROM -a
  • učitavanje/spremanje programa i varijabli sa/na PC
  • autoexec za učitavanje i pokretanje programa sa EEPROM -a nakon svakog resetovanja
  • 9 GPIO pinova (SPI uključen) dostupno na vanjskom konektoru DB15
  • ZVUČNIK za zvučne efekte

Korak 2: Stvari koje će vam trebati

Stara ps/2 tastatura dovoljno debela da primi PCB LCD prikaz znakova (popularni paralelni format) MAX232 čip za RS232 port atmel atmega328PU Arduino razvojni komplet s IDE 1.0.1 LM7805 regulatorom, 5V zujavim ispravljačem, kondenzatorima, gumbom za resetiranje, konektori itd

Korak 3: Snimanje pokretačkog programa

Dakle, nakon što ste kupili „prazan“čip atmega328PU, morate donijeti odluku. Koristim li poseban programer ili vanjski ili ISP ili mogu snimiti Arduino bootloader u zvijer i prikazati jedinicu programibilnom preko UART porta? Odabrao sam ovo drugo da bih si olakšao život! Novi bootloader zauzima samo pola kilobajta flash memorije ostavljajući na raspolaganju nešto više od 31 KB korisničkog programa i statičkih podataka. Arduino web mjesto pokriva slučaj spaljivanja pokretačkog programa na novom čipu, kada je došlo do korištenja avrdudea za stvarno snimanje ciljnog čipa, proces nije uspio s greškom koja označava pogrešan ID za određeni MCU. Tako sam nakon nekog pretraživanja pronašao tog momka koji je dobro shvatio i slijedio sam njegovu proceduru. Jedina razlika je bila 2 konfiguracijske datoteke, avrdude.conf i Board.txt potrebne avrdude i arduino IDE 1.0.1 kako bi to bilo moguće. Nakon kopiranja 2 datoteke na odgovarajuće lokacije (prvo sigurnosno kopirajte stare), opcija ‘arduino328’ iz alata-> Board bila je dostupna, a avrdude je nastavio s paljenjem osigurača i pokretačkog programa. Sada je čip spreman za programiranje iz nove mašine!

Korak 4: Izgradnja jedinice

Izgradnja jedinice
Izgradnja jedinice
Izgradnja jedinice
Izgradnja jedinice

Perforirana ploča s bakrenim trakama korištena je kao brzo rješenje za sastavljanje s DIP utičnicama za čipove, znate, za svaki slučaj! Zatim su otvore i rezovi za konektore, dugme za resetiranje i LCD ekran otvoreni kroz izuzetno čvrstu i debelu plastiku tastature. Da, to je izgrađeno prije 25 godina! Uslijedio je nered žica koje su izlazile s PCB -a prema različitim periferijama. Jednostavna provjera kontinuiteta, a zatim je napajanje povezano bez napunjenih čipova samo radi provjere odgovarajućih napona na utičnicama. Zatim su došla 2 IC -a, a kućište tipkovnice bilo je čvrsto zatvoreno zahvaljujući plastičnim zatvaračima na dnu. Jedinica je bila spremna za snimanje skica u kontroleru!

Predlažem da se koriste nepolarne 1uF/16V kondenzatori za pumpe za punjenje MAX232. Locirajte kondenzatore za razdvajanje od 100 nF za dva čipa što je moguće bliže odgovarajućim VCC i GND pinovima. Za napajanje i masu upotrijebite zvjezdasti priključak na regulator LM7805. Prekidač 2 bi mogao biti kratkospojnik ovisno o impementaciji, ali ga je dobro imati samo kako bi se izbjeglo neželjeno resetiranje MCU -a s računala domaćina u određenim slučajevima. U svakom slučaju, prekidač mora biti zatvoren kako bi Arduino IDE mogao snimiti skicu resetiranjem ciljnog MCU -a (pin DTR RS232). U mom slučaju veza je trajna (uvijek zatvorena). Upotrijebite serijski otpornik za zujalicu kako biste odvojili nekoliko nF kapacitivnosti od upravljačkih vrata … nikad se ne zna. Locirajte XTAL i kondenzatore s opterećenjem 18-22pF što je moguće bliže odgovarajućim pinovima kontrolera.

Zbog ispravljačkog mosta, jedinicu mogu napajati i AC i DC adapteri. U slučaju istosmjernog napona, dolazi do pada napona od 1,5 V između adaptera i ulaza u regulator. U slučaju izmjenične struje, ulaz regulatora je oko 1,4 puta veći od RMS izlaza adaptera ili manji zbog opterećenja. Ako je razlika između ulaza regulatora i njegovog izlaza (+5V) velika, recimo 7 volti, tada se snaga koju regulator troši približava 0,5 vata i bolje je upotrijebiti mali hladnjak na koji se postavlja čip (pod uvjetom ima prostora za to) za duge sate rada po toplom vremenu.

Ulazni osigurač naizmjenične struje može se odabrati ovisno o vanjskim opterećenjima (preko konektora DB15). Drugi čimbenici koji utječu na izbor osigurača su otpornik za ograničavanje struje za LED pozadinsko osvjetljenje LCD -a, kondenzator mosta za struju punjenja i trenutni kapacitet dovodnog transformatora.

Korak 5: SHEMATSKI

SHEMATSKI
SHEMATSKI

Korak 6: POKRETANJE SOFTVERA NA BORDI

Ovo je skica koja čini da se sve dogodi … a 32KB NIJE dovoljno! Možete ga koristiti neizmijenjenog, u tom slučaju bih bio zahvalan na pozivu na moje ime ili ga promijenite po želji i zaboravite na mene;-)

Ovo je detaljna dokumentacija o mašini.

Sažetak naredbi i izraza

“: Linija komentara koja se ne može štampati

ai: pričvrstite prekid 0 (pin D2)

ar: analogno čitanje

aw: "analogno pisanje" po arduinu ili tačnije pwm

ca: analogno hvatanje u nizu

cl: briše prikaz cno: return *Prgm indeks broja retka

di: pričekajte niz impulsa i izmjerite trajanje i vrijeme

dl: kašnjenje

do: zajedno sa 'wh'

dr: digitalno čitanje bilo kojeg pina

dw: digitalno upisivanje bilo kojeg pina

ed: način rada uređivača / učitavanje programa sa računara / prenumeriranje redova

el: Pristupna funkcija EEPROM -a

end: naredba END programa

ensb: završava potprogram

es: Funkcija pristupa EEPROM -u

fl: jednostavan filter s pomičnim prosjekom

fr: for-next petlja (fr-nx)

go: pređite na programski korak

gosb: nastaviti izvršavanje na potprogram

gt: čeka unos korisnika

if: test uvjet i skok na korak

io: GPIO 1-9 bita

ld: učitavanje/spajanje programa iz EEPROM -a

lp:: petlja kontrolisana tastaturom u interaktivnom režimu

ls: režim liste / slanje programa na računar po red

ml: dobiti vrijeme

mm: prikaz slobodne memorije

nos: pretvara broj u niz

nx: zajedno sa 'fr'

pl: plot cxx

pm: postavite pinove za ulaz ili izlaz

pr: štampa poruku ili vrijednost ili prilagođeni znak

rgc: naredba copy range za nizove

rgs: naredba range set za nizove

rn: pokrenite program u RAM -u

rs: soft reset

rx: primite znak putem RS232

si: sinhroni serijski ulaz sa satovima i pinovima podataka

sm: mini osciloskopska aplikacija sno: pretvara niz u broj

tako: sinhroni serijski izlaz sa satovima i pinovima podataka

sub: deklarira potprogram

sv: spremi program na EEPROM

tn: zvučni signal

tx: prenesite broj putem RS232

wh: do-while petlja koja se koristi zajedno sa "do"

Korak 7: Video zapis mini aplikacije 'sm' u pokretu

posjetite moju web stranicu kako biste pročitali cijelu priču i preuzeli sve relevantne datoteke

www.sites.google.com/site/demeterart

Preporučuje se: