Turinys:
- 1 žingsnis: Naudotos I dalys
- 2 žingsnis: grandinė
- 3 žingsnis: PCB
- 4 veiksmas: įkelkite kodą
- 5 žingsnis: Surinkimas
- 6 žingsnis: klaidos ir būsimas darbas
Video: Rankinis PAGRINDINIS kompiuteris: 6 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šioje instrukcijoje aprašomas mano procesas kuriant mažą rankinį kompiuterį, kuriame veikia BASIC. Kompiuteris sukurtas remiantis ATmega 1284P AVR mikroschema, kuri taip pat įkvėpė kvailą kompiuterio pavadinimą (HAL 1284).
Ši konstrukcija yra sunkiai įkvėpta čia esančio nuostabaus projekto ir „SuperCON BASIC Badge“.
Kompiuteryje veikia modifikuota „TinyBasic“versija, nors daugelis programinės įrangos yra pagrįsti dan14 projektu. Žinoma, galite sekti šią instrukciją arba dar geriau ją patobulinti, nes padariau keletą klaidų.
Šiam projektui taip pat sukūriau vadovą. Jame minimos kai kurios pasirinkto monitoriaus klaidos ir specifika, tačiau svarbiausia, kad jame yra PAGRINDINIŲ operacijų sąrašas.
Po to, kai tai buvo paskelbta, aš padariau vaizdo įrašą, kuriame pristatė projektą.
1 žingsnis: Naudotos I dalys
Pagrindiniam IC:
- ATmega 1284P
- 16MHz krištolas
- 2x 22pf keraminis kondensatorius
- 10KΩ rezistorius (atstatymui pakelti)
- 4 kontaktų mygtukas (atstatymui)
- 470Ω rezistorius (sudėtiniam vaizdo įrašui)
- 1 kΩ rezistorius (sudėtiniam vaizdo įrašo sinchronizavimui)
- 3 kontaktų trumpiklis (vaizdo signalui)
- Pasyvus garsinis signalas
Norėdami valdyti klavišus, atlikite toliau nurodytus veiksmus.
- ATmega 328P (kaip ir tie, kurie buvo naudojami „Arduino Uno“)
- 16MHz krištolas
- 2x 22pf keraminis kondensatorius
- 12x 10KΩ rezistorius (atstatymui pakelkite ir mygtukus)
- 51x 4 kontaktų mygtukas (tikrajai klaviatūrai)
Dėl galios:
- Įtampos reguliatorius L7805
- 3 mm LED
- 220Ω rezistorius (LED)
- 2x 0,1 µF elektrolitinis kondensatorius
- 0,22 µF elektrolitinis kondensatorius (galite pakeisti šį 0,22, o vieną 0,1 - 0,33. Man taip pat buvo pasakyta, kad vertės tikrai nesvarbios, bet aš nesu puikus su kondensatoriais)
- 2x 2 kontaktų trumpiklis (maitinimo įėjimui ir pagrindiniam jungikliui)
GPIO (galbūt pridėkite dar porą pagrindų):
- 7 kontaktų megztinis
- 2x 8 kontaktų trumpiklis
- 2 kontaktų trumpiklis (5V ir GND)
- 3-4 kontaktų trumpiklis (nuosekliam ryšiui)
Ne PCB:
- 4 colių LCD ekranas su sudėtiniu vaizdo įrašu (mano įėjimo įtampa buvo 7–30 V)
- 3D spausdintas laikiklis ekranui
- Kažkoks jungiklis
2 žingsnis: grandinė
Grandinė nėra labai graži ir didžiąją dalį pagrindinio IC regiono įkvėpė dan14. Tai sakant, tai yra gana tiesus „Arduino“duonos lentos grandinėje. Klaviatūra yra paprastas tinklelis ir valdoma ATmega328. Du AVR lustai bendrauja per UART serijos kaiščius.
Tiek vaizdas, tiek mano „Eagle“failai pridedami ir, tikiuosi, jų pakaks grandinei atkurti. Jei ne, nedvejodami praneškite man ir aš atnaujinsiu „Instructable“.
3 žingsnis: PCB
PCB yra dviejų sluoksnių ir sukurta naudojant automatinį maršrutą (O, kokia ** skylė!). Priekyje yra mygtukai ir maitinimo indikatorius, kiti - gale. Aš padariau savo PCB su JCL PCB, ir jie padarė nuostabų darbą. Failai, reikalingi norint atkurti PCB, turėtų būti Eagle rinkmenose.
Siūlyčiau pertvarkyti PCB, nes turiu keletą dalykų, kuriuos norėčiau padaryti kitaip. Jei jums patinka mano dizainas, aš vis dar turiu (rašymo metu) keturias nepanaudotas plokštes, kurias aš daugiau nei noriu parduoti.
Plokštėje yra keturios gręžimo angos, kurias naudojau LCD ekranui montuoti.
4 veiksmas: įkelkite kodą
Žinoma, ir 1284, ir 328 reikia kodo, o kodą, kurį naudoju, rasite čia: https://github.com/PlainOldAnders/HAL1284, esantį „ArduinoSrc/src“. Aš tiesiog naudoju „Arduino IDE“kodui modifikuoti ir įkelti, bet prieš tai galite padaryti, turėsite įrašyti įkrovos įkroviklius IC:
ATMega328:
Tai lengva, ta prasme, kad yra daug palaikymo, kaip įrašyti įkrovos įkėlimo programą ir įkelti kodą į šį IC. Paprastai vadovaujuosi šiuo vadovu, dažniausiai todėl, kad vis pamirštu specifiką.
328 kodas (naudojant „ArduinoSrc“/klaviatūrą) yra gana paprastas. Tai visiškai priklauso nuo „Adafruit_Keypad-master“bibliotekos. Jei kas nors pasikeis dėl lib, aš įtraukiau versiją, kurią naudoju savo „github“puslapyje, esančiame „ArduinoSrc/lib“.
ATmega1284:
Man tai buvo šiek tiek sunku, kai pirmą kartą gavau IC. Pradėjau iš čia parsisiuntęs įkrovos tvarkyklę ir vadovavausi diegimo vadovu. Norėdami įrašyti įkrovos įkroviklį, aš tiesiog padariau tą patį, ką ir su 328, ir gavau pagalbą iš čia. Abiejuose IC aš tiesiog naudoju „Arduino Uno“tiek įkrovos įkėlimui, tiek kodo įkėlimui (įkėlus pašalintas IC iš „Arduino Uno“).
Kodas (pagal „ArduinoSrc“/HAL1284Basic) man yra per daug sudėtingas, tačiau galėjau pakeisti kai kurias kodo dalis:
Pridėjau keletą komandų (kurios vadove pažymėtos [A]), taip pat pakeičiau kitas komandas:
Tonas: „Tone“komanda anksčiau naudojo „Arduino“tono funkciją, tačiau naudojant „TVout“biblioteką, dėl to garsinis signalas netinkamai veikė. Aš jį pakeičiau, kad galėčiau naudoti „TVout“tono funkciją, tačiau tai reiškia, kad tono kaištis TURI būti 15 kaištis („atmega1284“)
Serijinis ryšys: Kadangi klaviatūra yra „pasidaryk pats“, ji naudoja serijinį ryšį simboliams skaityti. Kadangi čia naudojama „atmega1284“, yra dvi galimos nuosekliosios ryšio linijos, o kai įjungta „sercom“, kodas taip pat leidžia rašyti per nuoseklųjį prievadą (iš kompiuterio ar bet ko).
Skiriamoji geba: šiam projektui naudojamas monitorius yra gana kvailas, todėl reikia mažos skiriamosios gebos, kitaip vaizdas mirksės. Jei naudojamas geresnis monitorius, siūlyčiau pakeisti sąrankos funkcijos skiriamąją gebą.
5 žingsnis: Surinkimas
Įkėlus kodą ir paruoštą PCB bei dalis, laikas surinkti. Visos dalys, kurias naudojau, buvo per skylę, todėl litavimas nebuvo per sunkus (priešingai nei ten esantys „badass-SMD-liting-fellas“). Monitorius buvo pritvirtintas prie keturių gręžimo skylių PCB naudojant 3D spausdintą laikiklį. Jei naudojamas kitas monitorius, tikimasi, kad keturios gręžimo skylės bus naudojamos šiam įrengimui.
Čia naudojamas monitoriaus laikiklis taip pat skirtas perjungimo jungikliui (prijungtam prie PCB jungiklio „jungiklio“) ir trims monitoriaus valdymo mygtukams. Laikiklis tvirtinamas plastikiniais M3 varžtais ir tarpikliais.
Maitinimo kištukui naudoju JST PCB jungtį, nors slidus statinės lizdas būtų buvęs kiek sklandesnis. Norėdami maitinti plokštę, perjungiau 12 V maitinimo šaltinį arba tris serijines 18650 baterijas. Lygesnis kaubojus, nei aš, greičiausiai galėtų suplanuoti plokščią baterijos laikiklį.
6 žingsnis: klaidos ir būsimas darbas
Rodyklių klavišai: rodyklių klavišai buvo įdėti atsitiktinai ir neatlieka daug funkcijų. Tai apsunkina navigaciją
Failo įvestis/išvestis: yra failo įvesties/išvesties galimybių, tačiau jos neįgyvendinamos. Norėdami su tuo kovoti, HAL1284Com programinė įranga gali įkelti failus į lentą. Taip pat galima įkelti į EEPROM.
PEEK/POKE: PEEK ir POKE yra neišbandyti, ir aš nesu tikras, kokie yra adresai.
Pertrauka: Pertrauka (Esc) kartais suklaidino visą kodą, kai jis buvo begalinis.
7 kaištis: PWM kaištis 7 gali būti sudėtingas, kai bandoma DWRITE High arba AWRITE 255. Jis puikiai veikia su AWRITE 254.
Idiotas: Būtų idealu, jei taip pat būtų galima įkelti per UART1, bet įkelti galima tik per UART0, todėl įkėlimas turės būti atliktas ištraukiant pagrindinį IC. Ilgai veikiant, ekrano ir įtampos reguliatorius 5 tampa šiek tiek per karštas.
Rekomenduojamas:
„MutantC V3“- modulinis ir galingas rankinis kompiuteris: 9 žingsniai (su nuotraukomis)
„MutantC V3“- modulinis ir galingas rankinis kompiuteris: „Raspberry -pi“delninė platforma su fizine klaviatūra, ekrano ir išplėtimo antraštė pasirinktinėms plokštėms (kaip „Arduino Shield“). „MutantC_V3“yra mutantC_V1 ir V2 įpėdinis. Patikrinkite mutantC_V1 ir mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Nelyginis ar lyginis rankinis kriketo žaidimas „Vs Intelligence“pridėtas kompiuteris C ++: 4 žingsniai
Nelyginis ar lyginis kriketo žaidimas „Vs Intelligence“Pridėtas kompiuteris C ++ kalba: rankinis kriketas/ nelyginis ar lyginis yra populiarus žaidimas tarp mūsų nuo pat mokyklos laikų. Šioje pamokoje mes kuriame šį žaidimą C ++. Tai vieno žaidėjo žaidimas, kuriame jūs turite žaisti prieš kompiuterį, kuris nėra kvailas. Kompiuteris neteikia atsitiktinių skaičių
„Pi-Berry“nešiojamasis kompiuteris-klasikinis „pasidaryk pats“nešiojamas kompiuteris: 21 žingsnis (su nuotraukomis)
„Pi-Berry“nešiojamasis kompiuteris-klasikinis „pasidaryk pats“nešiojamas kompiuteris: mano sukurtas nešiojamasis kompiuteris „Pi-Berry“nešiojamasis kompiuteris yra pastatytas aplink „Raspberry Pi 2.“Jame yra 1 GB RAM, keturių branduolių procesorius, 4 USB prievadai ir vienas eterneto prievadas. Nešiojamasis kompiuteris atitinka kasdienio gyvenimo poreikius ir sklandžiai vykdo tokias programas kaip VLC media player, Mozilla Firefox, Ardu
ESP32 pagrindinis kompiuteris su VGA išvestimi: 7 žingsniai
ESP32 pagrindinis kompiuteris su VGA išvestimi: Šioje instrukcijoje aš parodysiu, kaip sukurti paprastą retro stiliaus kompiuterį, pagamintą naudojant vieną ESP32 ir keletą kitų komponentų. Šis kompiuteris naudoja „Tiny Basic“, supaprastintą BASIC tarmę, ir generuoja VGA monitoriaus išvestį. Skiriamoji geba yra 640
„MacBook“planšetinis kompiuteris arba „pasidaryk pats“„Cintiq“arba „Homebrew“planšetinis kompiuteris „Mac“: 7 žingsniai
„MacBook“planšetinis kompiuteris arba „pasidaryk pats“„Cintiq“arba „Homebrew“„Mac“planšetinis kompiuteris: labai įkvėptas „c4l3b“instrukcijos, kurią, savo ruožtu, įkvėpė bongofish, nusprendžiau išbandyti tą patį savo „Core 2 Duo MacBook“. Žingsniai buvo pakankamai skirtingi, todėl maniau, kad pateisinamas atskiras nurodymas. Taip pat