Innholdsfortegnelse:
- Trinn 1: Deler jeg brukte
- Trinn 2: Kretsen
- Trinn 3: PCB
- Trinn 4: Last opp koden
- Trinn 5: Montering
- Trinn 6: Bugs og fremtidig arbeid
Video: Håndholdt BASIC datamaskin: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Denne instruksjonsboken beskriver prosessen min med å bygge en liten håndholdt datamaskin som kjører BASIC. Datamaskinen er bygget rundt ATmega 1284P AVR -brikken, som også inspirerte det dumme navnet på datamaskinen (HAL 1284).
Denne bygningen er STORT inspirert av det fantastiske prosjektet som er funnet her og SuperCON BASIC -merket.
Datamaskinen kjører en modifisert versjon av TinyBasic, selv om mye av programvaren er basert på prosjektet av dan14. Du kan selvfølgelig følge denne instruksjonsmessige, eller enda bedre, forbedre den siden jeg gjorde noen feil.
For dette prosjektet laget jeg også en manual. Den nevner noen feil og spesifikasjoner for den valgte skjermen, men viktigst av alt, den har listen over BASIC -operasjoner.
Etter at dette ble publisert, laget jeg en video som viste prosjektet.
Trinn 1: Deler jeg brukte
For hoved -IC:
- ATmega 1284P
- 16MHz krystall
- 2x 22pf keramisk kondensator
- 10KΩ motstand (for tilbakestilling trekk opp)
- 4-pinners knapp (for tilbakestilling)
- 470Ω reistor (for komposittvideo)
- 1 kΩ motstand (for sammensatt videosynkronisering)
- 3-pinners jumper (for videosignal)
- Passiv summer
For keybaord -kontroll:
- ATmega 328P (Som de som ble brukt i Arduino Uno)
- 16MHz krystall
- 2x 22pf keramisk kondensator
- 12x 10KΩ motstand (for tilbakestilling av pull up og knapper)
- 51x 4-pinners knapp (for selve tastaturet)
For strøm:
- L7805 spenningsregulator
- 3 mm LED
- 220Ω motstand (for LED)
- 2x 0,1µF elektrolytisk kondensator
- 0,22 µF elektrolytisk kondensator (Du kan bytte ut denne 0,22 og en 0,1 for en 0,33. Jeg har også blitt fortalt at verdiene egentlig ikke spiller noen rolle, men jeg er ikke flink med kondensatorer)
- 2x 2-pinners jumper (For strøminngang og for hovedbryter)
GPIO (Kan legge til et par flere begrunnelser):
- 7-pinners genser
- 2x 8-pinners genser
- 2-pinners genser (for 5V og GND)
- 3-4-pinners jumper (for seriell kommunikasjon)
Ikke-PCB:
- 4 "LCD-skjerm med komposittvideo (min hadde en inngangsspenning mellom 7-30V)
- 3D -trykt holder for visning
- En slags bryter
Trinn 2: Kretsen
Kretsen er ikke veldig pen, og mye av IC-hovedområdet er inspirert av dan14. Når det er sagt, er det en ganske rett frem Arduino på en Breadboard-krets. Tastaturet er et enkelt rutenett og styres av ATmega328. De to AVR -brikkene kommuniserer via UART Serial -pinnene.
Både et bilde og mine Eagle-filer er vedlagt og vil forhåpentligvis være nok til å gjenskape kretsen. Hvis ikke, vennligst informer meg, så oppdaterer jeg instruksjonsboken.
Trinn 3: PCB
PCB er to-lags og laget med Auto Route (Oh, for et ** hull!). Den har knapper og strømindikator LED foran og resten på baksiden. Jeg hadde min PCB laget med JCL PCB, og de gjorde en fantastisk jobb med det. Filene som trengs for å gjenskape kretskortet, skal være i Eagle-filene fra før.
Jeg vil foreslå at du redesigner kretskortet, ettersom jeg har noen ting jeg gjerne skulle ha gjort annerledes. Hvis du liker designet mitt, har jeg fremdeles (når jeg skriver) fire ubrukte brett som jeg er mer enn villig til å selge.
Brettet har fire borehull som jeg har brukt til montering av LCD -skjermen.
Trinn 4: Last opp koden
Både 1284 og 328 trenger selvfølgelig kode og koden jeg brukte finner du her: https://github.com/PlainOldAnders/HAL1284 under ArduinoSrc/src. Jeg brukte ganske enkelt Arduino IDE for å endre og laste opp koden, men før det kan gjøres, må du brenne oppstartsladere på IC -ene:
ATMega328:
Denne er enkel, i den forstand at det er mye støtte der ute om hvordan du brenner en oppstartslaster og laster opp kode til denne IC. Jeg følger vanligvis denne guiden, hovedsakelig fordi jeg stadig glemmer detaljene.
Koden for 328 (under ArduinoSrc/tastatur) er ganske enkel. Det er helt avhengig av Adafruit_Keypad-master- biblioteket. Hvis noe endres om lib, har jeg inkludert versjonen jeg brukte på min github-side under ArduinoSrc/lib.
ATmega1284:
Dette var litt vanskelig for meg da jeg først fikk IC. Jeg begynte med å få oppstartslaster herfra, og fulgte installasjonsveiledningen. For å brenne bootloaderen gjorde jeg ganske enkelt det samme som med 328 og fikk hjelp herfra. For begge ICene brukte jeg nettopp en Arduino Uno for både brenning av oppstartslaster og opplasting av koden (fjernet IC fra Arduino Uno ved opplasting).
Koden (under ArduinoSrc/HAL1284Basic) er altfor komplisert for meg, men jeg klarte å endre noen deler av koden:
Jeg la til et par kommandoer (de merket med [A] i manualen.pdf), og jeg endret også andre kommandoer:
Tone: Tone-kommandoen brukte nettopp Arduinos tone-funksjon før, men når du brukte TVout-biblioteket, forårsaket dette at summeren ikke fungerte som den skulle. Jeg endret den for å bruke TVouts tonefunksjon, men dette betyr at tonepinnen MÅ være pin 15 (for atmega1284)
Seriell kommunikasjon: Siden tastaturet er DIY, bruker det seriell kommunikasjon for å lese karakterene. Siden atmega1284 brukes her, er det to tilgjengelige serielle kommunikasjonslinjer, og når "sercom" er aktivert, tillater koden også skriving via serieporten (fra en datamaskin eller hva som helst).
Oppløsning: Skjermen som ble brukt til dette prosjektet er ganske dum, og en liten oppløsning er nødvendig, ellers flimrer bildet. Hvis en bedre skjerm brukes, vil jeg foreslå at du endrer oppløsningen i oppsettfunksjonen.
Trinn 5: Montering
Med koden lastet opp og PCB og deler klar, er det nå tid for montering. Alle delene jeg brukte var gjennom hull, så lodding var ikke så vanskelig (i motsetning til badass-SMD-lodding-fellas der ute). Skjermen ble festet til de fire borehullene i kretskortet med en 3D -trykt holder. Hvis en annen skjerm brukes, kan de fire borehullene forhåpentligvis brukes til å montere dette.
Monitorholderen som brukes her, er også designet for å huse en vippebryter (koblet til "bryter" -hopperen på kretskortet) og de tre kontrollknappene for skjermen. Holderen er festet med plast M3 bolter og avstandsstykker.
For strømpluggen brukte jeg en JST PCB -kontakt, selv om en glatt fatkontakt ville vært litt mer jevn. For å drive kortet, byttet jeg mellom en 12V strømforsyning eller tre 18650 batterier i serie. En mykere cowboy enn meg selv kan sannsynligvis designe en glatt batteriholder til brettet.
Trinn 6: Bugs og fremtidig arbeid
Piltaster: Piltastene ble plassert ved et uhell og tjener ikke mye funksjon. Dette gjør navigasjonen vanskelig
File I/O: Det finnes File I/O -funksjoner, men disse er ikke implementert. For å bekjempe dette kan HAL1284Com -programvaren laste opp filer til brettet. Det er også mulig å laste opp til EEPROM.
PEEK/POKE: PEEK og POKE er uprøvd, og jeg er ikke sikker på hva adressene er.
Break: Break (Esc) har noen ganger rotet med hele koden, i uendelige sløyfer.
Pin 7: PWM pin 7 kan være vanskelig når du prøver å DWRITE High eller AWRITE 255. Det fungerer fint med AWRITE 254.
Idiot: Det ville være ideelt å også kunne laste opp via UART1, men opplasting er bare mulig via UART0, så opplasting må gjøres ved å trekke ut hoved -IC. Skjermen og spenningsregulatoren 5 blir litt for varm når den kjører i lang tid.
Anbefalt:
MutantC V3 - modulær og kraftig håndholdt PC: 9 trinn (med bilder)
MutantC V3 - modulær og kraftig håndholdt PC: En bringebær -pi håndholdt plattform med et fysisk tastatur, display- og ekspansjonsoverskrift for tilpassede brett (som Arduino Shield) .mutantC_V3 er etterfølgeren til mutantC_V1 og V2. Sjekk ut mutantC_V1 og mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Slik sender du store filer fra datamaskin til datamaskin: 6 trinn
Slik sender du store filer fra datamaskin til datamaskin: Filstørrelsene fortsetter å øke i størrelse etter hvert som teknologien utvikler seg. Hvis du er i et kreativt håndverk, for eksempel design eller modellering, eller bare en hobbyist, kan det være vanskelig å overføre store filer. De fleste e -posttjenester begrenser maksimale vedleggsstørrelser til omtrent 25
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
Håndholdt konsoll med trådløse kontrollere og sensorer (Arduino MEGA & UNO): 10 trinn (med bilder)
Håndholdt konsoll med trådløse kontrollere og sensorer (Arduino MEGA & UNO): Det jeg brukte:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " TFT 320x480 berøringsskjerm HXD8357D- Buzzer- 4Ohm 3W høyttaler- 5mm LED-lys- Ultimaker 2+ skriver m/ svart PLA-filament- Laserkutter m/ MDF tre- Svart spraymaling (for treverket)- 3x nRF24
Bruk SSH og XMing til å vise X -programmer fra en Linux -datamaskin på en Windows -datamaskin: 6 trinn
Bruk SSH og XMing til å vise X -programmer fra en Linux -datamaskin på en Windows -datamaskin: Hvis du bruker Linux på jobben, og Windows hjemme, eller omvendt, kan det være at du til tider må logge deg på datamaskinen på din andre plassering og kjøre programmer. Vel, du kan installere en X -server og aktivere SSH -tunneling med SSH -klienten din, og en