Satura rādītājs:
- 1. darbība. Izmantotās detaļas
- 2. solis: ķēde
- 3. solis: PCB
- 4. darbība: koda augšupielāde
- 5. solis: montāža
- 6. darbība. Kļūdas un turpmākie darbi
Video: Rokas BASIC dators: 6 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Šajā pamācībā aprakstīts mans process, kā izveidot nelielu rokas datoru, kurā darbojas BASIC. Dators ir veidots ap ATmega 1284P AVR mikroshēmu, kas arī iedvesmoja dīvaino datora nosaukumu (HAL 1284).
Šī konstrukcija ir smagi iedvesmota no šeit atrodamā apbrīnojamā projekta un SuperCON BASIC emblēmas.
Datorā darbojas modificēta TinyBasic versija, lai gan liela daļa programmatūras ir balstīta uz dan14 projektu. Jūs, protams, varat ievērot šo pamācību vai vēl labāk to uzlabot, jo es pieļāvu dažas kļūdas.
Šim projektam es izveidoju arī rokasgrāmatu. Tajā ir minētas dažas kļūdas un specifika izvēlētajam monitoram, bet pats galvenais - tajā ir BASIC darbību saraksts.
Pēc tam, kad tas tika publicēts, es izveidoju video, kas demonstrēja projektu.
1. darbība. Izmantotās detaļas
Galvenajam IC:
- ATmega 1284P
- 16MHz kristāls
- 2x 22pf keramikas kondensators
- 10KΩ rezistors (atiestatīšanai)
- 4 kontaktu poga (atiestatīšanai)
- 470Ω rezistors (saliktam video)
- 1kΩ rezistors (kompozītmateriālu video sinhronizācijai)
- 3 kontaktu džemperis (video signālam)
- Pasīvais zvana signāls
Atslēgas taustiņu kontrolei:
- ATmega 328P (tāpat kā Arduino Uno)
- 16MHz kristāls
- 2x 22pf keramikas kondensators
- 12x 10KΩ rezistors (atiestatīšanai velciet uz augšu un pogas)
- 51x 4 kontaktu poga (faktiskajai tastatūrai)
Jaudai:
- Sprieguma regulators L7805
- 3 mm LED
- 220Ω rezistors (LED)
- 2x 0,1 µF elektrolītiskais kondensators
- 0,22 µF elektrolītiskais kondensators (jūs varētu aizstāt šo 0,22 un vienu 0,1 ar vienu 0,33. Man arī ir teikts, ka vērtībām nav nozīmes, bet es neesmu lielisks ar kondensatoriem)
- 2x 2-kontaktu džemperis (barošanas ievadei un galvenajam slēdzim)
GPIO (varbūt pievienojiet vēl dažus pamatus):
- 7 kontaktu džemperis
- 2x 8 kontaktu džemperis
- 2 kontaktu džemperis (5V un GND)
- 3-4 kontaktu džemperis (seriālajai komunikācijai)
Bez PCB:
- 4 collu LCD displejs ar kompozītvideo (manējā ieejas spriegums bija no 7 līdz 30 V)
- 3D drukāts turētājs displejam
- Kaut kāds slēdzis
2. solis: ķēde
Ķēde nav ļoti skaista, un lielu daļu galvenā IC reģiona iedvesmojis dan14. Tas nozīmē, ka tas ir diezgan taisns Arduino uz maizes dēļa ķēdes. Tastatūra ir vienkāršs režģis, un to kontrolē ATmega328. Abas AVR mikroshēmas sazinās, izmantojot UART sērijas tapas.
Gan attēls, gan mani Eagle faili ir pievienoti, un, cerams, ar to pietiks, lai atjaunotu ķēdi. Ja nē, lūdzu, informējiet mani, un es atjaunināšu pamācību.
3. solis: PCB
PCB ir divslāņu un izveidota, izmantojot automātisko maršrutu (Ak, kāds ** caurums!). Tā priekšpusē ir pogas un strāvas indikatora gaismas diode, bet pārējā - aizmugurē. Man bija izgatavots mans PCB ar JCL PCB, un viņi ar to paveica pārsteidzošu darbu. Failiem, kas vajadzīgi, lai atjaunotu PCB, vajadzētu būt Eagle failos no iepriekš.
Es ieteiktu jums pārveidot PCB, jo man ir dažas lietas, kuras es vēlētos darīt citādi. Ja jums patīk mans dizains, man joprojām (rakstīšanas laikā) ir četri neizmantoti dēļi, kurus esmu vairāk nekā gatavs pārdot.
Plātnei ir četri urbšanas caurumi, kurus esmu izmantojis LCD displeja uzstādīšanai.
4. darbība: koda augšupielāde
Gan 1284, gan 328, protams, ir nepieciešams kods, un manu izmantoto kodu var atrast šeit: https://github.com/PlainOldAnders/HAL1284 zem ArduinoSrc/src. Es vienkārši izmantoju Arduino IDE, lai modificētu un augšupielādētu kodu, bet pirms to var izdarīt, jums būs jāsadedzina sāknēšanas ielādētāji IC:
ATMega328:
Tas ir viegli tādā ziņā, ka tur ir daudz atbalsta, kā ierakstīt sāknēšanas ielādētāju un augšupielādēt kodu šajā IC. Es parasti sekoju šai rokasgrāmatai, galvenokārt tāpēc, ka aizmirstu specifiku.
328 kods (zem ArduinoSrc/tastatūras) ir diezgan vienkāršs. Tas pilnībā balstās uz Adafruit_Keypad-master-bibliotēku. Ja kaut kas mainās saistībā ar lib, esmu ievietojis versiju, ko izmantoju savā github lapā, zem ArduinoSrc/lib.
ATmega1284:
Tas man bija mazliet grūti, kad pirmo reizi ieguvu IC. Sākumā es no šejienes paņēmu sāknēšanas ielādētāju un sekoju instalēšanas ceļvedim. Lai ierakstītu sāknēšanas ielādētāju, es vienkārši darīju to pašu, ko ar 328, un no šejienes saņēmu palīdzību. Abiem IC es tikko izmantoju Arduino Uno gan sāknēšanas ielādēšanai, gan koda augšupielādei (augšupielādes laikā tika noņemts IC no Arduino Uno).
Kods (zem ArduinoSrc/HAL1284Basic) man ir pārāk sarežģīts, bet es varēju mainīt dažas koda daļas:
Es pievienoju pāris komandas (tās, kas rokasgrāmatā ir atzīmētas ar [A]), un mainīju arī citas komandas:
Tonis: Komanda signāls iepriekš izmantoja Arduino toņu funkciju, bet, izmantojot TVout bibliotēku, zvans nedarbojās pareizi. Es to nomainīju, lai izmantotu TVout toņa funkciju, bet tas nozīmē, ka toņa tapai IR jābūt 15. tapai (atmega1284)
Seriālā komunikācija: Tā kā tastatūra ir DIY, tā izmanto sērijas sakarus rakstzīmju lasīšanai. Tā kā šeit tiek izmantots atmega1284, ir pieejamas divas sērijas sakaru līnijas, un, ja ir iespējots "sercom", kods ļauj arī rakstīt, izmantojot seriālo portu (no datora vai jebkura cita).
Izšķirtspēja: šim projektam izmantotais monitors ir diezgan mēms, un ir nepieciešama neliela izšķirtspēja, pretējā gadījumā attēls mirgo. Ja tiek izmantots labāks monitors, es ieteiktu mainīt iestatīšanas funkcijas izšķirtspēju.
5. solis: montāža
Kad kods ir augšupielādēts un PCB un detaļas ir gatavas, ir pienācis laiks montāžai. Visas detaļas, kuras es izmantoju, bija caur caurumu, tāpēc lodēšana nebija pārāk grūta (pretstatā badass-SMD-lodēšanas puišiem). Monitors tika piestiprināts pie četriem urbumiem PCB ar 3D drukātu turētāju. Ja tiek izmantots cits monitors, cerams, ka četrus urbšanas caurumus var izmantot tā uzstādīšanai.
Šeit izmantotais monitora turētājs ir paredzēts arī pārslēgšanas slēdzim (savienots ar PCB džemperi) un trim monitora vadības pogām. Turētājs ir piestiprināts ar plastmasas M3 skrūvēm un starplikām.
Strāvas kontaktdakšai es izmantoju JST PCB savienotāju, lai gan slidens mucas ligzda būtu bijusi nedaudz gludāka. Lai barotu plati, es pārslēdzos starp 12 V barošanas avotu vai trim 18650 baterijām sērijveidā. Gludāks kovbojs par mani, iespējams, varētu izveidot gludu akumulatora turētāju.
6. darbība. Kļūdas un turpmākie darbi
Bulttaustiņi: bulttaustiņi tika ievietoti nejauši un tiem nav lielas funkcijas. Tas apgrūtina navigāciju
Failu I/O: pastāv faila I/O iespējas, taču tās netiek ieviestas. Lai to novērstu, programmatūra HAL1284Com spēj augšupielādēt failus uz tāfeles. Ir iespējams arī augšupielādēt EEPROM.
PEEK/POKE: PEEK un POKE nav pārbaudīti, un es neesmu pārliecināts, kādas ir adreses.
Pārtraukums: pārtraukums (Esc) dažreiz ir sajaucis visu kodu, atrodoties bezgalīgās cilpās.
7. tapa: PWM tapa 7 var būt sarežģīta, mēģinot DWRITE High vai AWRITE 255. Tas darbojas labi ar AWRITE 254.
Idiots: būtu ideāli, ja varētu augšupielādēt arī caur UART1, bet augšupielāde ir iespējama tikai caur UART0, tāpēc augšupielāde būs jāveic, iegūstot galveno IC. Ekrāna un sprieguma regulators 5 ilgstoši darbojoties kļūst mazliet par karstu.
Ieteicams:
MutantC V3 - modulārs un jaudīgs rokas dators: 9 soļi (ar attēliem)
MutantC V3 - modulārs un jaudīgs rokas dators: Raspberry -pi rokas platforma ar fizisku tastatūru, displeja un paplašināšanas galvene pielāgotajiem dēļiem (piemēram, Arduino Shield). MutantC_V3 ir mutantu C_V1 un V2 pēctecis. Pārbaudiet mutantC_V1 un mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Portfeļa dators, ko veidojusi sieviete: 14 soļi (ar attēliem)
Portfeļa dators, ko veidojusi sieviete: 1. SOLIS: pierakstiet izmantojamos materiālus: Balsa koka 3 collu ekrāna monitors AMD RYZEN 5 3500X 3.6GHZ 35MB AMD CPU (6C/6T) GIGABYTE B550 AORUS PRO A WIFI AM4 ATX DDR4 CORSAIR VENGEANCE LPX3600416GB (2X8GB) KOMPLEKTS CL18 DDR4 (RYZEN) ADATA XPG SX8200 2TB PRO 2 P
Padariet to! Star Trek TNG mini inženierzinātņu dators: 11 soļi (ar attēliem)
Padariet to! Star Trek TNG mini inženierzinātņu dators: pārskats Es uzaugu, skatoties Star Trek: nākamā paaudze. Es vienmēr esmu vēlējies izveidot ierīci ar Star Trek tēmu, tāpēc beidzot sāku remiksēt vienu no saviem vecajiem projektiem, lai izveidotu Star Trek Display Terminal. Terminālis sniedz šādu informāciju
Nepāra vai pāra rokas kriketa spēle Vs Intelligence Pievienots dators C ++: 4 soļi
Nepāra vai pāra rokas kriketa spēle Vs izlūkošana Pievienots dators C ++ valodā: roku krikets/ nepāra vai pāra spēle ir populāra mūsu vidū jau no skolas laikiem. Šajā pamācībā mēs izstrādājam šo spēli C ++. Tā ir viena spēlētāja spēle, kurā jums jāspēlē pret datoru, kurš nav mēms. Dators neliek nejaušus skaitļus
Rokas tahikometrs uz rokas: 9 soļi
Rokas tahometrs, kas balstīts uz IR: šī pamācība ir balstīta uz ķēdi, ko portatīvajā digitālajā tahometrā ir aprakstījis electro18. Es domāju, ka būtu lietderīgi iegūt rokas ierīci un ka tas būtu jautrs projekts. Man patīk, kā ierīce izrādījās - dizains varētu būt