Sisällysluettelo:

Kannettava BASIC -tietokone: 6 vaihetta (kuvilla)
Kannettava BASIC -tietokone: 6 vaihetta (kuvilla)

Video: Kannettava BASIC -tietokone: 6 vaihetta (kuvilla)

Video: Kannettava BASIC -tietokone: 6 vaihetta (kuvilla)
Video: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, Heinäkuu
Anonim
Kannettava BASIC -tietokone
Kannettava BASIC -tietokone
Kannettava BASIC -tietokone
Kannettava BASIC -tietokone

Tässä ohjeessa kuvataan prosessini, jolla rakennan pienen kannettavan tietokoneen, jossa on BASIC. Tietokone on rakennettu ATmega 1284P AVR -piirin ympärille, joka myös innoitti tietokoneen typerän nimen (HAL 1284).

Tämä rakenne on HEAVILY innoittamana hämmästyttävä projekti löytyy täältä ja SuperCON BASIC Badge.

Tietokoneessa on muokattu TinyBasic -versio, vaikka suuri osa ohjelmistosta perustuu dan14: n projektiin. Voit tietysti noudattaa tätä ohjeistusta tai vielä parempaa parantaa sitä, koska tein muutaman virheen.

Tätä projektia varten tein myös käsikirjan. Siinä mainitaan joitakin valitun näytön virheitä ja yksityiskohtia, mutta mikä tärkeintä, siinä on luettelo BASIC -toiminnoista.

Tämän julkaisun jälkeen tein projektin esittelevän videon.

Vaihe 1: Käytetyt osat

Käytetyt osat
Käytetyt osat
Käytetyt osat
Käytetyt osat
Käytetyt osat
Käytetyt osat

Tärkein IC:

  • ATmega 1284P
  • 16MHz Crystal
  • 2x 22pf keraaminen kondensaattori
  • 10KΩ vastus (kuittausta varten)
  • 4-nastainen painike (nollaus)
  • 470Ω: n vastus (komposiittivideolle)
  • 1 kΩ vastus (komposiittivideon synkronointiin)
  • 3-nastainen hyppyjohdin (videosignaalille)
  • Passiivinen summeri

Näppäimistön ohjaus:

  • ATmega 328P (kuten Arduino Unossa käytetyt)
  • 16MHz Crystal
  • 2x 22pf keraaminen kondensaattori
  • 12x 10KΩ vastus (nollaus ylös ja painikkeet)
  • 51x 4-nastainen painike (varsinaiselle näppäimistölle)

Virta:

  • L7805 jännitesäädin
  • 3mm LED
  • 220Ω vastus (LEDille)
  • 2x 0,1 µF elektrolyyttikondensaattori
  • 0,22 µF elektrolyyttikondensaattori (voit korvata tämän 0,22 ja yhden 0,1 yhdellä 0,33. Minulle on myös kerrottu, että arvoilla ei ole väliä, mutta en ole hyvä kondensaattoreiden kanssa)
  • 2x 2-nastainen hyppyjohdin (virtatulolle ja pääkytkimelle)

GPIO (Ehkä lisää pari perustelua):

  • 7-nastainen hyppyjohdin
  • 2x 8-nastainen hyppyjohdin
  • 2-nastainen hyppyjohdin (5V ja GND)
  • 3-4-nastainen hyppyjohdin (sarjaliikennettä varten)

Ei-PCB:

  • 4 "LCD-näyttö komposiittivideolla (Minun tulojännite oli 7-30V)
  • 3D -tulostettu pidike näytölle
  • Jonkinlainen kytkin

Vaihe 2: Piiri

Piiri
Piiri

Piiri ei ole kovin kaunis ja suuri osa tärkeimmistä IC-alueista on innoittanut dan14. Siitä huolimatta se on melko suoraviivainen Arduino leipälevypiirillä. Näppäimistö on yksinkertainen ruudukko ja sitä ohjaa ATmega328. Kaksi AVR -sirua kommunikoivat UART -sarjan nastojen kautta.

Sekä kuva että Eagle-tiedostoni on liitetty, ja ne toivottavasti riittävät piirin luomiseen uudelleen. Jos ei, ilmoita siitä minulle, niin päivitän Instructable -ohjelman.

Vaihe 3: Piirilevy

Piirilevy
Piirilevy
Piirilevy
Piirilevy

Piirilevy on kaksikerroksinen ja luotu käyttämällä automaattista reittiä (Voi mikä helvetin reikä!). Siinä on painikkeet ja virran merkkivalo edessä ja loput takana. Tein PCB: n JCL -piirilevyllä, ja he tekivät hämmästyttävää työtä sen kanssa. Piirilevyn luomiseen tarvittavien tiedostojen pitäisi olla Eagle-tiedostoissa aikaisemmin.

Ehdotan, että suunnittelet piirilevyn uudelleen, koska minulla on joitakin asioita, jotka haluaisin tehdä toisin. Jos pidät suunnittelustani, minulla on (kirjoitettaessa) vielä neljä käyttämätöntä levyä, jotka olen enemmän kuin valmis myymään.

Levyllä on neljä porausreikää, joita olen käyttänyt LCD -näytön asentamiseen.

Vaihe 4: Lataa koodi

Koodin lataaminen
Koodin lataaminen
Koodin lataaminen
Koodin lataaminen
Koodin lataaminen
Koodin lataaminen

Sekä 1284 että 328 tietenkin tarvitsevat koodin ja käyttämäni koodi löytyvät täältä: https://github.com/PlainOldAnders/HAL1284 alla ArduinoSrc/src. Käytin yksinkertaisesti Arduino IDE: tä koodin muokkaamiseen ja lataamiseen, mutta ennen kuin se voidaan tehdä, sinun on poltettava käynnistyslataimet IC: ille:

ATMega328:

Tämä on helppoa siinä mielessä, että siellä on paljon tukea käynnistyslataimen polttamisesta ja koodin lataamisesta tähän IC: hen. Seuraan yleensä tätä opasta, lähinnä siksi, että unohdan yksityiskohdat.

328 -koodi (ArduinoSrc/näppäimistö) on melko yksinkertainen. Se perustuu täysin Adafruit_Keypad-master-kirjastoon. Jos lib: ssä tapahtuu jotain muutoksia, olen sisällyttänyt github-sivulla käyttämäni version ArduinoSrc/lib-kohtaan.

ATmega1284:

Tämä oli minulle hieman vaikeaa, kun sain ensimmäisen IC: n. Aloitin hankkimalla käynnistyslataimen täältä ja seurasin asennusopasta. Käynnistyslataimen polttamiseksi tein yksinkertaisesti saman asian kuin 328 ja sain apua täältä. Molemmissa IC: issä käytin juuri Arduino Unoa sekä käynnistyslataimen polttamiseen että koodin lataamiseen (poistettu IC Arduino Unosta ladattaessa).

Koodi (ArduinoSrc/HAL1284Basic alla) on minulle liian monimutkainen, mutta pystyin muuttamaan joitain koodin osia:

Lisäsin pari komentoa (ne, jotka on merkitty [A]: lla käsikirjassa.pdf), ja muutin myös muita komentoja:

Ääni: Äänikomento käytti juuri Arduinon äänitoimintoa aiemmin, mutta TVout-kirjastoa käytettäessä tämä aiheutti summerin toimimattomuuden. Muutin sen käyttämään TVoutin äänitoimintoa, mutta tämä tarkoittaa, että äänitapin PITÄÄ olla nasta 15 (atmega1284)

Sarjaliikenne: Koska näppäimistö on itse tehty, se käyttää sarjaliikennettä merkkien lukemiseen. Koska täällä käytetään atmega1284: tä, käytettävissä on kaksi sarjaliikenneyhteyttä, ja kun "sercom" on käytössä, koodi mahdollistaa myös kirjoittamisen sarjaportin kautta (tietokoneesta tai mistä tahansa).

Tarkkuus: Tässä projektissa käytetty näyttö on melko tyhmä, ja tarvitaan pieni resoluutio, tai muuten kuva välkkyy. Jos käytät parempaa näyttöä, suosittelen, että muutat resoluutiota asetustoiminnossa.

Vaihe 5: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Kun koodi on ladattu ja piirilevy ja osat valmiina, on nyt koottava aika. Kaikki käyttämäni osat olivat reiän läpi, joten juottaminen ei ollut liian vaikeaa (toisin kuin siellä olevat badass-SMD-juottimet). Näyttö kiinnitettiin piirilevyn neljään reikään 3D -tulostetulla pidikkeellä. Jos käytetään toista näyttöä, neljä porausreikää voidaan toivottavasti käyttää tämän kiinnittämiseen.

Tässä käytetty näytön pidike on suunniteltu myös vaihtokytkimen (kytketty piirilevyn "kytkimen" hyppyjohtimeen) ja näytön kolmen ohjauspainikkeen sisältämiseen. Pidike on kiinnitetty muovisilla M3 -pultteilla ja välikappaleilla.

Virtapistokkeessa käytin JST -piirilevyliitintä, vaikka liukas piippuliitin olisi ollut hieman tasaisempi. Taulutietokoneen virtalähteeksi vaihdoin 12 V: n virtalähteen tai kolmen 18650 -sarjan pariston välillä. Minua tasaisempi cowboy voisi luultavasti suunnitella liukkaan akun pidikkeen laudalle.

Vaihe 6: Virheitä ja tulevaa työtä

Nuolinäppäimet: Nuolinäppäimet asetettiin vahingossa, eivätkä ne palvele paljon. Tämä vaikeuttaa navigointia

Tiedoston I/O: Tiedoston I/O -ominaisuuksia on olemassa, mutta niitä ei ole otettu käyttöön. Tämän torjumiseksi HAL1284Com -ohjelmisto pystyy lataamaan tiedostoja taululle. On myös mahdollista ladata EEPROMiin.

PEEK/POKE: PEEK ja POKE ovat testaamattomia, enkä ole varma, mitkä ovat osoitteet.

Break: Break (Esc) on joskus sekoittanut koko koodin äärettömiin silmukoihin.

Nasta 7: PWM -nasta 7 voi olla vaikeaa, kun yritetään DWRITE High- tai AWRITE 255 -toimintoa. Se toimii hyvin AWRITE 254: n kanssa.

Idiootti: Olisi ihanteellista, että voit ladata myös UART1: n kautta, mutta lataus on mahdollista vain UART0: n kautta, joten lataus on tehtävä purkamalla tärkein IC. Näyttö- ja jännitesäädin 5 kuumenee hieman liian pitkään, kun sitä käytetään pitkään.

Suositeltava: