Orodha ya maudhui:

Kompyuta ya BASIC ya mkono: Hatua 6 (zilizo na Picha)
Kompyuta ya BASIC ya mkono: Hatua 6 (zilizo na Picha)

Video: Kompyuta ya BASIC ya mkono: Hatua 6 (zilizo na Picha)

Video: Kompyuta ya BASIC ya mkono: Hatua 6 (zilizo na Picha)
Video: Zuchu Amwaga Machozi Baada Ya kupewa Kiss Na Diamond Platinumz 2024, Novemba
Anonim
Kompyuta ya BASIC ya mkononi
Kompyuta ya BASIC ya mkononi
Kompyuta ya BASIC ya mkononi
Kompyuta ya BASIC ya mkononi

Agizo hili linaelezea mchakato wangu wa kujenga kompyuta ndogo ya mkono inayoendesha BASIC. Kompyuta imejengwa karibu na chip ya ATmega 1284P AVR, ambayo pia iliongoza jina la ujinga kwa kompyuta (HAL 1284).

Ujenzi huu ni WAZIMA ulioongozwa na mradi wa kushangaza unaopatikana hapa na Beji ya SuperCON BASIC.

Kompyuta inaendesha toleo lililobadilishwa la TinyBasic, ingawa programu nyingi zinategemea mradi na dan14. Kwa kweli unaweza kufuata Agizo hili, au bora zaidi, kuiboresha kwani nilifanya makosa kadhaa.

Kwa mradi huu, niliunda pia mwongozo. Inataja mende na maalum kwa mfuatiliaji aliyechaguliwa lakini muhimu zaidi, ina orodha ya shughuli za BASIC.

Baada ya hii kuchapishwa, nilifanya video kuonyesha mradi huo.

Hatua ya 1: Sehemu nilizotumia

Sehemu nilizozitumia
Sehemu nilizozitumia
Sehemu nilizotumia
Sehemu nilizotumia
Sehemu nilizozitumia
Sehemu nilizozitumia

Kwa IC kuu:

  • ATmega 1284P
  • Kioo cha 16MHz
  • 2x 22pf Ceramic Capacitor
  • Kizuizi cha 10KΩ (Kwa kuweka upya tena)
  • Kitufe cha pini 4 (Ili kuweka upya)
  • Rejista ya 470Ω (Kwa video iliyojumuishwa)
  • 1kΩ Resistor (Kwa usawazishaji wa video nyingi)
  • Jumper ya pini 3 (Kwa ishara ya video)
  • Buzzer ya kupita

Kwa udhibiti wa ufunguo:

  • ATmega 328P (Kama zile zinazotumiwa katika Arduino Uno)
  • Kioo cha 16MHz
  • 2x 22pf Ceramic Capacitor
  • Kizuizi cha 12x 10KΩ (Kwa kuweka upya vuta na vifungo)
  • Kitufe cha pini-51x (Kwa kibodi halisi)

Kwa nguvu:

  • Mdhibiti wa Voltage L7805
  • 3mm LED
  • Kizuizi cha 220Ω (Kwa LED)
  • 2x 0.1µF Kiambatisho cha Electrolytic
  • 0.22 µF Electrolytic Capacitor (Unaweza kubadilisha hii 0.22 na 0.1 kwa moja 0.33. Pia nimeambiwa kwamba maadili hayajalishi sana, lakini mimi sio mzuri na capacitors)
  • 2x 2-pin jumper (Kwa kuingiza nguvu na kwa kubadili kuu)

GPIO (Labda ongeza sababu kadhaa):

  • Jumper ya pini 7
  • 2x 8 ya Jumper
  • Jumper ya pini 2 (Kwa 5V na GND)
  • Jumper ya pini 3-4 (Kwa Mawasiliano ya Siri)

Isiyo ya PCB:

  • Onyesho la LCD la 4 na Video ya Mchanganyiko (Mgodi ulikuwa na voltage ya kuingiza kati ya 7-30V)
  • Mmiliki aliyechapishwa wa 3D kwa onyesho
  • Aina fulani ya kubadili

Hatua ya 2: Mzunguko

Mzunguko
Mzunguko

Mzunguko sio mzuri sana na sehemu kubwa ya mkoa wa IC imeongozwa na dan14. Hiyo inasemwa, ni moja kwa moja mbele Arduino kwenye Bodi ya mkate. Kibodi ni gridi rahisi na inadhibitiwa na ATmega328. Chips mbili za AVR zinawasiliana kupitia pini za UART Serial.

Picha zote na faili zangu za tai zimeambatanishwa na kwa matumaini zitatosha kurudisha mzunguko. Ikiwa sivyo, jisikie huru kuniarifu na nitasasisha inayoweza kufundishwa.

Hatua ya 3: PCB

PCB
PCB
PCB
PCB

PCB ni laini-2 na imeundwa kwa kutumia Njia ya Kiotomatiki (Ah, ni shimo **!). Ina vifungo na kiashiria cha nguvu cha LED mbele na zingine nyuma. Nilikuwa na PCB yangu iliyotengenezwa na JCL PCB, na walifanya kazi ya kushangaza nayo. Faili zinahitajika kuunda tena PCB inapaswa kuwa kwenye faili za Tai kutoka hapo awali.

Ningeshauri kwamba ubadilishe tena PCB, kwani nina mambo kadhaa ambayo ningependa kufanya tofauti. Ikiwa unapenda muundo wangu, bado nina (kama ya kuandika) bodi nne ambazo hazijatumika ambazo niko tayari kuuza.

Bodi ina mashimo manne ya kuchimba ambayo nimetumia kuweka Uonyesho wa LCD.

Hatua ya 4: Kupakia Nambari

Inapakia Nambari
Inapakia Nambari
Inapakia Nambari
Inapakia Nambari
Inapakia Nambari
Inapakia Nambari

Wote 1284 na 328 bila shaka wanahitaji nambari na nambari niliyotumia inaweza kupatikana hapa: https://github.com/PlainOldAnders/HAL1284 chini ya ArduinoSrc / src. Nilitumia IDE ya Arduino kwa kurekebisha na kupakia nambari lakini kabla ya hapo kufanywa, utahitaji kuchoma bootloaders kwenye ICs:

ATMega328:

Hii ni rahisi, kwa maana kwamba kuna msaada mwingi huko nje juu ya jinsi ya kuchoma bootloader na kupakia nambari kwa IC hii. Kawaida mimi hufuata mwongozo huu, haswa kwa sababu ninaendelea kusahau maalum.

Nambari ya 328 (chini ya ArduinoSrc / keypad) ni rahisi sana. Inategemea kabisa maktaba ya Adafruit_Keypad-master. Ikiwa kitu chochote kitabadilika juu ya lib, nimejumuisha toleo ambalo nilitumia kwenye ukurasa wangu wa github chini ya ArduinoSrc / lib.

ATmega1284:

Hii ilikuwa ngumu kwangu wakati nilipata IC. Nilianza kwa kupata bootloader kutoka hapa, na kufuata mwongozo wa kusanikisha. Ili kuchoma bootloader, nilifanya tu kitu sawa na ile ya 328 na nikapata msaada kutoka hapa. Kwa IC zote mbili nilitumia tu Arduino Uno kwa kuchoma bootloader na kupakia nambari (imeondolewa IC kutoka Arduino Uno wakati wa kupakia).

Nambari (chini ya ArduinoSrc / HAL1284Basic) ni ngumu sana kwangu lakini niliweza kurekebisha sehemu kadhaa za nambari:

Niliongeza amri kadhaa (zile zilizowekwa alama na [A] katika mwongozo.pdf), na pia nilibadilisha amri zingine:

Toni: Amri ya toni ilitumia tu kazi ya toni ya Arduino hapo awali, lakini wakati wa kutumia maktaba ya TVout, hii ilisababisha buzzer isifanye kazi vizuri. Nilibadilisha kutumia kazi ya toni ya TVout, lakini hii inamaanisha kuwa pini ya toni INATAKIWA kuwa siri 15 (kwa atmega1284)

Mawasiliano ya Siri: Kwa kuwa kibodi ni DIY, inatumia mawasiliano ya serial kwa kusoma wahusika. Kwa kuwa atmega1284 inatumiwa hapa, kuna laini mbili za mawasiliano zinazopatikana, na wakati "sercom" inapowezeshwa, nambari pia inaruhusu kuandika kupitia bandari ya serial (kutoka kwa kompyuta au chochote).

Azimio: Mfuatiliaji uliotumiwa kwa mradi huu ni bubu, na azimio dogo linahitajika, au sivyo picha zinaangaza. Ikiwa mfuatiliaji bora unatumiwa, ningependekeza ubadilishe azimio katika kazi ya usanidi.

Hatua ya 5: Mkutano

Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
Mkutano

Na nambari iliyopakiwa na PCB na sehemu ziko tayari, ni wakati wa mkutano. Sehemu zote nilizotumia zilikuwa kupitia shimo, kwa hivyo soldering haikuwa ngumu sana (tofauti na badass-SMD-soldering-fellas huko nje). Mfuatiliaji ulifungwa kwenye mashimo manne ya kuchimba kwenye PCB na mmiliki aliyechapishwa wa 3D. Ikiwa mfuatiliaji mwingine unatumiwa, mashimo manne ya kuchimba visima yanaweza kutumiwa kwa kuweka hii.

Mmiliki wa mfuatiliaji anayetumiwa hapa, pia ameundwa kuweka swichi ya kugeuza (iliyounganishwa na jumper ya "swichi" kwenye PCB) na vifungo vitatu vya udhibiti wa mfuatiliaji. Mmiliki amefungwa na vifungo vya plastiki M3 na spacers.

Kwa kuziba nguvu nilitumia kiunganishi cha JST PCB, ingawa pipa mjanja wa pipa ingekuwa laini zaidi. Ili kuwezesha bodi, nilibadilisha kati ya usambazaji wa umeme wa 12V au betri tatu za 18650 mfululizo. Mchungaji laini kuliko mimi labda angeweza kubuni mmiliki wa betri mjanja kwa bodi.

Hatua ya 6: Bugs na Kazi ya Baadaye

Funguo za Mshale: Funguo za Mshale ziliwekwa kwa bahati mbaya na hazitumiki kazi nyingi. Hii inafanya ugumu wa urambazaji

Faili I / O: Kuna uwezo wa Faili I / O lakini hizi hazitekelezwi. Ili kupambana na hii, programu ya HAL1284Com ina uwezo wa kupakia faili kwenye bodi. Inawezekana pia kupakia kwenye EEPROM.

PEEK / POKE: PEEK na POKE hazijapimwa, na sina hakika anwani hizo ni zipi.

Kuvunja: Break (Esc) wakati mwingine imekuwa ikiingiliana na nambari yote, ikiwa katika matanzi yasiyo na kipimo.

Pin 7: PWM pin 7 inaweza kuwa ngumu wakati unajaribu DWRITE High au AWRITE 255. Inafanya kazi vizuri na AWRITE 254.

Idiot: Itakuwa bora pia kuweza kupakia kupitia UART1 lakini upakiaji unawezekana tu kupitia UART0, kwa hivyo upakiaji utalazimika kufanywa kwa kutoa IC kuu. Udhibiti wa Screen na Voltage 5 hupata moto sana wakati wa kukimbia kwa muda mrefu.

Ilipendekeza: