Cuprins:
- Pasul 1: Părțile pe care le-am folosit
- Pasul 2: Circuitul
- Pasul 3: PCB
- Pasul 4: Încărcarea codului
- Pasul 5: Asamblare
- Pasul 6: Bug-uri și lucrări viitoare
Video: Computer portabil BASIC: 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acest instructable descrie procesul meu de construire a unui computer portabil mic care rulează BASIC. Computerul este construit în jurul cipului ATmega 1284P AVR, care a inspirat și numele prostesc pentru computer (HAL 1284).
Această construcție este HEAVILY inspirată de proiectul uimitor găsit aici și insigna SuperCON BASIC.
Computerul rulează o versiune modificată a TinyBasic, deși o mare parte din software se bazează pe proiect de dan14. Puteți, desigur, să urmați acest instructabil, sau chiar mai bine, să îl îmbunătățiți, deoarece am făcut câteva greșeli.
Pentru acest proiect, am creat și un manual. Menționează câteva erori și specificități pentru monitorul ales, dar cel mai important, are lista operațiunilor BASIC.
După ce a fost publicat acest lucru, am realizat un videoclip care prezintă proiectul.
Pasul 1: Părțile pe care le-am folosit
Pentru IC principal:
- ATmega 1284P
- Cristal de 16 MHz
- 2x condensator ceramic de 22pf
- Rezistor de 10KΩ (pentru resetare)
- Buton cu 4 pini (pentru resetare)
- 470Ω Reistor (pentru video compozit)
- Rezistor 1kΩ (pentru sincronizare video compozit)
- Jumper cu 3 pini (pentru semnal video)
- Buzzer pasiv
Pentru controlul keybaord:
- ATmega 328P (Ca și cele utilizate în Arduino Uno)
- Cristal de 16 MHz
- 2x condensator ceramic de 22pf
- 12x 10KΩ Rezistor (Pentru resetare trageți în sus și butoane)
- Buton 51x cu 4 pini (Pentru tastatura reală)
Pentru putere:
- L7805 Regulator de tensiune
- LED de 3 mm
- Rezistor 220Ω (pentru LED)
- 2x 0,1µF condensator electrolitic
- Condensator electrolitic 0,22 µF (Puteți înlocui acest 0,22 și unul 0,1 cu unul 0,33. De asemenea, mi s-a spus că valorile nu contează cu adevărat, dar nu sunt grozav cu condensatorii)
- 2x jumper cu 2 pini (pentru intrarea de alimentare și pentru comutatorul principal)
GPIO (Poate adăugați încă câteva motive):
- Jumper cu 7 pini
- 2x jumper cu 8 pini
- Jumper cu 2 pini (pentru 5V și GND)
- Jumper cu 3-4 pini (pentru comunicare în serie)
Non-PCB:
- Afișaj LCD de 4 "cu video compozit (al meu avea o tensiune de intrare între 7-30V)
- Suport imprimat 3D pentru afișare
- Un fel de comutator
Pasul 2: Circuitul
Circuitul nu este foarte frumos și o mare parte din regiunea IC principală este inspirată de dan14. Acestea fiind spuse, este un Arduino destul de direct pe un circuit Breadboard. Tastatura este o rețea simplă și este controlată de ATmega328. Cele două cipuri AVR comunică prin intermediul pinilor seriali UART.
Atât o imagine, cât și fișierele mele Eagle sunt atașate și, sperăm, vor fi suficiente pentru a recrea circuitul. Dacă nu, nu ezitați să mă informați și voi actualiza instructabilul.
Pasul 3: PCB
PCB este pe două straturi și este creat folosind Auto Route (Oh, ce ** gaură!). Are butoane și LED indicator de alimentare în față și restul în spate. Mi-am făcut PCB-ul cu JCL PCB și au făcut o treabă uimitoare cu el. Fișierele necesare pentru a recrea PCB ar trebui să fie în fișierele Eagle dinainte.
Aș sugera să reproiectați PCB-ul, deoarece am câteva lucruri pe care aș vrea să le fac diferit. Dacă îți place designul meu, mai am (la scriere) patru plăci neutilizate pe care sunt mai mult decât dispus să le vând.
Placa are patru găuri pe care le-am folosit pentru montarea ecranului LCD.
Pasul 4: Încărcarea codului
Atât 1284, cât și 328, desigur, au nevoie de cod, iar codul pe care l-am folosit pot fi găsite aici: https://github.com/PlainOldAnders/HAL1284 sub ArduinoSrc / src. Am folosit pur și simplu Arduino IDE pentru modificarea și încărcarea codului, dar înainte de a putea face acest lucru, va trebui să ardeți bootloadere pe IC-uri:
ATMega328:
Acesta este ușor, în sensul că există o mulțime de asistență pentru a arde un bootloader și a încărca codul pe acest IC. Urmez de obicei acest ghid, mai ales pentru că tot uit specificul.
Codul pentru 328 (sub ArduinoSrc / tastatură) este destul de simplu. Se bazează în totalitate pe biblioteca Adafruit_Keypad-master-. În cazul în care se schimbă ceva despre lib, am inclus versiunea pe care am folosit-o pe pagina mea github sub ArduinoSrc / lib.
ATmega1284:
Acest lucru a fost un pic dificil pentru mine când am primit IC-ul pentru prima dată. Am început prin a lua bootloader-ul de aici și am urmat ghidul de instalare. Pentru a arde bootloader-ul, pur și simplu am făcut același lucru ca și cu 328 și am primit ajutor de aici. Pentru ambele IC-uri tocmai am folosit un Arduino Uno atât pentru arderea bootloaderului, cât și pentru încărcarea codului (IC a fost eliminat din Arduino Uno la încărcare).
Codul (sub ArduinoSrc / HAL1284Basic) este mult prea complicat pentru mine, dar am putut modifica unele părți ale codului:
Am adăugat câteva comenzi (cele marcate cu [A] în manual.pdf) și am schimbat și alte comenzi:
Ton: Comanda de ton tocmai a folosit funcția de ton Arduino înainte, dar atunci când se utilizează biblioteca TVout, acest lucru a făcut ca soneria să nu funcționeze corect. L-am schimbat pentru a utiliza funcția de ton a TVout, dar acest lucru înseamnă că pinul de ton trebuie să fie pinul 15 (pentru atmega1284)
Comunicare în serie: Deoarece tastatura este DIY, aceasta utilizează comunicarea în serie pentru citirea personajelor. Deoarece atmega1284 este utilizat aici, există două linii de comunicații seriale disponibile, iar când „sercom” este activat, codul permite și scrierea prin portul serial (de la un computer sau orice altceva).
Rezoluție: Monitorul utilizat pentru acest proiect este destul de prost și este necesară o rezoluție mică, altfel imaginea pâlpâie. Dacă se folosește un monitor mai bun, aș sugera să modificați rezoluția în funcția de configurare.
Pasul 5: Asamblare
Cu codul încărcat și cu PCB-ul și piesele pregătite, acum este timpul pentru asamblare. Toate piesele pe care le-am folosit au fost găurite, astfel încât lipirea nu a fost prea dificilă (spre deosebire de badass-SMD-lipit-fellas acolo). Monitorul a fost fixat pe cele patru găuri din PCB cu un suport tipărit 3D. Dacă se utilizează un alt monitor, sperăm că cele patru găuri pot fi folosite pentru montarea acestuia.
Suportul monitorului utilizat aici este, de asemenea, conceput pentru a găzdui un comutator de comutare (conectat la jumperul "comutatorului" de pe PCB) și cele trei butoane de control pentru monitor. Suportul este fixat cu șuruburi și distanțieri M3 din plastic.
Pentru mufa de alimentare am folosit un conector PCB JST, deși o mufă cu țeavă ar fi fost ceva mai netedă. Pentru a alimenta placa, am trecut între o sursă de alimentare de 12V sau trei baterii 18650 în serie. Un cowboy mai lin decât mine ar putea, probabil, să proiecteze un suport de baterie pentru tablă.
Pasul 6: Bug-uri și lucrări viitoare
Taste cu săgeți: tastele cu săgeți au fost puse accidental și nu au prea multe funcții. Acest lucru face navigarea dificilă
I / O fișier: există capabilități I / O fișier, dar acestea nu sunt implementate. Pentru a combate acest lucru, software-ul HAL1284Com poate încărca fișiere pe tablă. De asemenea, este posibil să încărcați în EEPROM.
PEEK / POKE: PEEK și POKE nu sunt testate și nu sunt sigur care sunt adresele.
Break: Break (Esc) a fost uneori deranjant cu întregul cod, când se află în bucle infinite.
Pinul 7: Pinul PWM 7 poate fi dificil atunci când încercați să DWRITE High sau AWRITE 255. Funcționează bine cu AWRITE 254.
Idiot: Ar fi ideal să poți încărca și prin UART1, dar încărcarea este posibilă doar prin UART0, deci încărcarea va trebui făcută prin extragerea IC-ului principal. Regulatorul de ecran și tensiune 5 se încălzește puțin când rulează mult timp.
Recomandat:
OpenLogger: un înregistrator de date portabil de înaltă rezoluție, Wi-Fi, Open Source, portabil: 7 pași
OpenLogger: un înregistrator de date portabil, cu sursă deschisă, cu sursă deschisă, cu sursă deschisă: OpenLogger este un înregistrator de date portabil, cu sursă deschisă, cu cost redus, cu rezoluție ridicată, conceput pentru a oferi măsurători de înaltă calitate fără a necesita software scump sau software de scriere de la zero. Dacă sunteți inginer, om de știință sau entuziast care nu
Amplificator portabil cu miniatură portabil (și sistem sonar pentru articole portabile, etc.): 7 pași
Amplificator portabil cu miniatură portabil (și sistem sonar pentru articole portabile, etc.): Construiți un amplificator portabil în formă de miniatură care poate fi încorporat în rame de ochelari și pentru a crea un sistem de vizionare sonar pentru nevăzători sau o ultrasunete simplă mașină care îți monitorizează continuu inima și folosește Învățarea Umană-Mașină pentru a avertiza despre p
Difuzor portabil Bluetooth portabil cu Powerbank .: 12 pași (cu imagini)
Difuzor portabil Bluetooth portabil cu Powerbank.: Difuzor monocanal compact, dar puternic, cu ieșire de 3 W și banc de putere încorporat. Difuzor Bluetooth construit de la Scratch !! Specificații & Caracteristici: Difuzor full-range Bluetooth 4.0.3W.18650 baterie simplă 2600mah. Încărcare micro USB. Ieșire USB pentru
Stand portabil IPhone / PMP portabil ieftin și rapid: 3 pași (cu imagini)
Stand portabil IPhone / PMP portabil ieftin și rapid: călătoresc destul de mult și am căutat mereu standuri pentru orice PMP (player media personal) / iPod / PSP / iPhone sau orice alt gadget pe care îl folosesc în prezent pentru a viziona filme în timp ce zbor. captura este că standurile trebuie să fie mici și ușor de t
Suport / cooler portabil simplu, ieftin, portabil: 9 pași (cu imagini)
Suport / cooler portabil pentru laptop simplu, ieftin, portabil: Acesta este un proiect foarte ușor, cu costuri reduse, pe care oricine îl poate face. Acest suport / cooler pentru laptop poate fi făcut pentru orice dimensiune sau orice laptop de marcă (eu l-am făcut pe al meu pentru un MacBook de 13,3 inch)