Indholdsfortegnelse:
- Trin 1: Funktioner
- Trin 2: Ting, du får brug for
- Trin 3: Brænding af bootloader
- Trin 4: Opbygning af enheden
- Trin 5: SKEMATISK
- Trin 6: SOFTWARE KØRES OMBORD
- Trin 7: Videoklip af Mini App 'sm' Running
Video: DemUino - hjemmecomputer/controller: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
En Arduino -inspireret computer af DemeterArt Få mest muligt ud af dit gamle PS2 -tastatur. Hack den til en tilpasset personlig computer for at styre ting! Jeg har altid ønsket at bygge min egen hjemmecomputer, en slags retrostil, ikke noget fancy, men med særlige muligheder tilpasset mine præferencer. Så jeg nåede det med atmega328 MCU og Arduino -udviklingssættet.
Lad mig konstatere, at dette projekt ville have taget betydeligt længere tid med tvivlsomme slutresultater, hvis det ikke var for de begavede fans derude, der egoistisk mindre leverer freeware -biblioteker, som alle kan bruge. Tak allesammen:-)
besøg mit websted for at læse hele historien og downloade alle relevante filer
www.sites.google.com/site/demeterart
Trin 1: Funktioner
- Baseret på ATMEGA328 med 32KB flash, 2KB SRAM og 1KB EEPROM.
- understøttelse af interaktive og batch -tilstande
- linjeditor og liste-mens-redigeringstilstand
- 8 brugerdefinerede tegn til brugergrafik
- 60 programtrin nummereret 00,…, 99
- "Hvis" betinget, "mens" og "for" sløjfer plus "gå" og "sub" udsagn til forgrening
- Grundlæggende aritmetiske og matematiske udtryk plus boolske tests
- systemvariabler giver mulighed for tidsbestemte hændelser, gennemsnit, rms, min og max værdier fra analoge ben osv
- 26 brugervariabler til at interagere med systemvariabler og kommandoer
- 104 bytes i et brugeradresserbart array eller 52 korte heltal
- evne til at læse/skrive programdata samt kode on-the-fly (p variabel)
- mini -oscilloskop -app med tilpassede tegn til pseudografik
- gemme og indlæse programmer og data til/fra EEPROM
- indlæse/gemme programmer og variabler fra/til pc
- autoexec til at indlæse og køre et program fra EEPROM efter hver nulstilling
- 9 GPIO -ben (inkluderet SPI) tilgængelige på eksternt DB15 -stik
- BUZZER til lydeffekter
Trin 2: Ting, du får brug for
Et gammelt ps/2 -tastatur, der er tykt nok til at rumme pcb LCD -tegnskærmen (det populære parallelle format) MAX232 -chip til RS232 -port atmel atmega328PU Arduino -udviklingssæt med IDE 1.0.1 LM7805 -regulator 5V summer -bro -ensretter, kondensatorer, en reset -knap, stik osv
Trin 3: Brænding af bootloader
Så efter at have købt en 'tom' atmega328PU -chip er der en beslutning, der skal træffes. Bruger jeg en speciel programmerer enten ekstern eller internetudbyder, eller brænder jeg Arduino bootloader ind i dyret og gør enheden programmerbar via dens UART -port? Jeg valgte det sidste for at gøre mit liv lettere! Den nye bootloader fylder kun en halv kilobyte flashhukommelse og efterlader lidt mere end 31 KB brugerprogram og statiske data til rådighed. Arduino -stedet dækker sagen om at brænde bootloaderen på en ny chip, da det kom til at bruge avrdude til faktisk at brænde målchippen, mislykkedes processen med en fejl, der angav det forkerte id for den pågældende MCU. Så efter lidt søgning fandt jeg denne fyr, der havde det rigtigt, og jeg fulgte hans procedure. Den eneste forskel var 2 konfigurationsfiler, avrdude.conf og boards.txt, som avrdude og arduino IDE 1.0.1 havde brug for for at gøre det muligt. Efter at have kopieret de 2 filer til deres rigtige placeringer (sikkerhedskopier først de gamle) var indstillingen 'arduino328' fra værktøjs-> Board tilgængelig, og avrdude fortsatte med at brænde sikringerne og bootloaderen. Nu er chippen klar til at blive programmeret inde fra den nye maskine!
Trin 4: Opbygning af enheden
Et perforeret bræt med kobberstrimler blev brugt som en hurtig montageløsning med DIP -fatninger til chipsene, du ved, bare for sikkerheds skyld! Derefter blev hullerne og snittene til stik, reset -knappen og LCD -displayet åbnet gennem tastaturets ekstremt robuste og tykke plast. Ja, den blev bygget for 25 år siden! Der fulgte rodet af ledninger, der kom fra pcb'et mod de forskellige perifere enheder. En rudimentær kontinuitetskontrol og derefter var forsyningen tilsluttet uden chips fyldt bare for at kontrollere stikkontakterne for korrekte spændinger. Derefter kom de 2 IC'er, og tastaturetuiet var godt lukket via sine plastiksnaps i bunden. Enheden var klar til at brænde skitser i controlleren!
Jeg foreslår, at man bruger upolare 1uF/16V kondensatorer til MAX232 opladningspumper. Find 100nF afkoblingskondensatorer for de to chips så tæt som muligt på de respektive VCC- og GND -ben. Brug en stjerneforbindelse til strøm og jord, der refereres til LM7805 -regulatoren. Switch 2 kan være en jumper afhængigt af impementation, men det er godt at have, hvis det kun er for at undgå uønsket MCU -nulstilling fra værts -pc'en i visse tilfælde. I hvert fald skal kontakten være lukket, så Arduino IDE kan brænde skitsen ved at nulstille mål -MCU'en (pin DTR på RS232). I mit tilfælde er forbindelsen permanent (altid lukket). Brug en seriemodstand til summeren til at isolere de forskellige nF'er for kapacitans fra køreporten … du ved aldrig.. Find XTAL og indlæsningskondensatorerne 18-22pF så tæt som muligt på regulatorens respektive ben.
På grund af ensretterbroen kan enheden drives af både vekselstrøms- og jævnstrømsadaptere. I tilfælde af DC er der et 1,5 V spændingsfald mellem adapteren og indgangen til regulatoren. I tilfælde af vekselstrøm er regulatorens input cirka 1,4 gange adapterens RMS -output eller mindre på grund af belastning. Hvis forskellen mellem regulatorens indgang og dens udgang (+5V) er stor, f.eks. 7 volt, når den effekt, der bruges af regulatoren, 0,5 watt, og det er bedre at bruge en lille kølelegeme til at montere chippen på (forudsat der er plads til det) til lange driftstimer i varmt vejr.
AC -indgangssikringen kan vælges afhængigt af dine eksterne belastninger (via DB15 -stikket). Andre faktorer, der påvirker sikringsvalget, er strømbegrænsningsmodstanden til LCD -baggrundsbelysningen på LCD'en, brokondensatoren til ladestrømmen og strømforsyningens transformatorens nuværende kapacitet.
Trin 5: SKEMATISK
Trin 6: SOFTWARE KØRES OMBORD
Dette er skitsen, der får det hele til at ske … og 32KB er IKKE nok! Du kan enten bruge det uændret, i så fald ville jeg sætte pris på en henvisning til mit navn, eller ændre det efter behag og glemme mig;-)
Dette er den detaljerede dokumentation om maskinen.
Oversigt over kommandoer og udtryk
“: En kommentarlinje, der ikke kan udskrives
ai: vedhæft afbrydelse 0 (pin D2)
ar: analog læsning
aw: 'analog skrivning' per arduino eller mere korrekt pwm
ca: analog optagelse i en matrix
cl: sletter displayet cno: return *Prgm indeks for linjenummer
di: vent på en række pulser og mål varighed og timing
dl: forsinkelse
gøre: i forbindelse med 'wh'
dr: digital læs enhver pin
dw: digital skriv en hvilken som helst pin
ed: editor mode / load program from PC / renumber lines
el: EEPROM adgangsfunktion
slut: END -erklæringen for et program
ensb: slutter underprogram
es: EEPROM adgangsfunktion
fl: enkelt glidende gennemsnitsfilter
fr: for-næste sløjfe (fr-nx)
gå: spring til programtrin
gosb: fortsæt udførelsen til underprogram
gt: venter på brugerinput
hvis: test tilstand og spring til trin
io: GPIO 1-9 bits
ld: indlæs/flet program fra EEPROM
lp:: tastaturstyret sløjfe i interaktiv tilstand
ls: listetilstand / send program til pc en linje ad gangen
ml: få tid
mm: vis ledig hukommelse
nr.: konverterer nummer til streng
nx: i forbindelse med 'fr'
pl: plot array cxx
pm: indstil stifter til ind eller udgang
pr: udskriver en meddelelse eller værdi eller et tilpasset tegn
rgc: kommando for områdekopiering til arrays
rgs: range set -kommando for arrays
rn: kør programmet i RAM
rs: blød nulstilling
rx: modtag et tegn via RS232
si: synkron seriel indgang med ur og datapinde
sm: mini oscilloskop app sno: konverterer streng til tal
altså: synkron seriel udgang med ur og datapinde
sub: erklærer underprogram
sv: gem program til EEPROM
tn: bip en tone
tx: overfør et nummer via RS232
wh: en do-while-loop, der bruges sammen med 'do'
Trin 7: Videoklip af Mini App 'sm' Running
besøg mit websted for at læse hele historien og downloade alle relevante filer
www.sites.google.com/site/demeterart
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)