Innholdsfortegnelse:
- Trinn 1: Funksjoner
- Trinn 2: Ting du trenger
- Trinn 3: Brenning av bootloader
- Trinn 4: Bygg enheten
- Trinn 5: Skjematisk
- Trinn 6: PROGRAMVARE KJØRER OMBOARD
- Trinn 7: Videoklipp av Mini App 'sm' Running
Video: DemUino - hjemmemaskin/kontroller: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
En Arduino -inspirert datamaskin av DemeterArt Få mest mulig ut av det gamle PS2 -tastaturet. Hack den inn i en tilpasset personlig datamaskin for å kontrollere ting! Jeg har alltid ønsket å bygge min egen hjemmemaskin, en slags retrostil, ikke noe fancy, men med spesielle evner tilpasset mine preferanser. Så jeg fikk det til med atmega328 MCU og Arduino utviklingskit.
La meg konstatere at dette prosjektet ville ha tatt betydelig lengre tid med tvilsomme sluttresultater hvis det ikke var for de begavede fansen der ute som mindre egoistisk leverer freeware -bibliotekene som alle kan bruke. Takk alle sammen:-)
besøk mitt nettsted for å lese hele historien og laste ned alle relevante filer
www.sites.google.com/site/demeterart
Trinn 1: Funksjoner
- Basert på ATMEGA328 med 32KB blits, 2KB SRAM og 1KB EEPROM.
- støtte for interaktive og batchmoduser
- linjeditor og liste-mens-redigeringsmodus
- 8 egendefinerte tegn for brukergrafikk
- 60 programtrinn nummerert 00,…, 99
- "Hvis" betinget, "mens" og "for" sløyfer pluss "gå" og "sub" utsagn for forgrening
- Grunnleggende aritmetiske og matematiske uttrykk pluss boolske tester
- systemvariabler tillater tidsbestemte hendelser, gjennomsnitt, rms, min og maks verdier fra analoge pinner, etc.
- 26 brukervariabler for å samhandle med systemvariabler og kommandoer
- 104 byte av en brukeradresserbar matrise eller 52 korte heltall
- evne til å lese/skrive programdata samt kode i farten (p-variabel)
- mini oscilloskop -app med tilpassede tegn for pseudografikk
- lagre og last programmer og data til/fra EEPROM
- laste/lagre programmer og variabler fra/til PC
- autoexec til å laste og kjøre et program fra EEPROM etter hver tilbakestilling
- 9 GPIO -pinner (SPI inkludert) tilgjengelig på ekstern DB15 -kontakt
- BUZZER for lydeffekter
Trinn 2: Ting du trenger
Et gammelt ps/2 -tastatur som er tykt nok til å romme PCB LCD -tegnvisning (det populære parallelle formatet) MAX232 -brikke for RS232 -port atmel atmega328PU Arduino -utviklingssett med IDE 1.0.1 LM7805 regulator 5V summer -bro -likeretter, kondensatorer, en tilbakestillingsknapp, kontakter osv
Trinn 3: Brenning av bootloader
Så, etter å ha kjøpt en 'tom' atmega328PU -brikke, er det en beslutning som må tas. Bruker jeg en spesiell programmerer, enten ekstern eller ISP, eller brenner jeg Arduino bootloader inn i dyret og gjør enheten programmerbar via UART -porten? Jeg valgte det siste for å gjøre livet mitt enklere! Den nye bootloaderen opptar bare en halv kilobyte flashminne og etterlater litt mer enn 31 KB brukerprogram og statiske data tilgjengelig. Arduino -nettstedet dekker tilfellet med brenning av oppstartslaster på en ny brikke, da det gjaldt å bruke avrdude for å faktisk brenne målbrikken, mislyktes prosessen med en feil som angav feil ID for den spesifikke MCU. Så etter litt leting fant jeg denne fyren som gjorde det riktig, og jeg fulgte prosedyren hans. Den eneste forskjellen var 2 konfigurasjonsfiler, avrdude.conf og boards.txt som trengs av avrdude og arduino IDE 1.0.1 for å gjøre det mulig. Etter å ha kopiert de 2 filene til de riktige plasseringene (sikkerhetskopier de gamle først) var alternativet 'arduino328' fra tools-> Board tilgjengelig, og avrdude fortsatte med å brenne sikringene og oppstartslasteren. Nå er brikken klar til å bli programmert fra den nye maskinen!
Trinn 4: Bygg enheten
Et perforert brett med kobberstrimler ble brukt som en rask monteringsløsning med DIP -sokkler for brikkene, du vet, bare i tilfelle! Deretter ble hullene og kuttene for kontaktene, tilbakestillingsknappen og LCD -skjermen åpnet gjennom den ekstremt robuste og tykke plasten på tastaturet. Ja, den ble bygget for 25 år siden! Det fulgte rotet av ledninger som kom fra kretskortet mot de forskjellige eksterne enhetene. En rudimentær kontinuitetskontroll og deretter tilførselen ble tilkoblet uten at det var noen chips fylt bare for å sjekke stikkontaktene for riktige spenninger. Så kom de 2 IC -ene og tastaturetuiet var godt lukket via plastknappene i bunnen. Enheten var klar til å brenne skisser i kontrolleren!
Jeg foreslår at man bruker upolare 1uF/16V kondensatorer for MAX232 ladepumper. Finn 100nF -frakoblingskondensatorene for de to brikkene så nært som mulig til de respektive VCC- og GND -pinnene. Bruk en stjernekobling for strøm og jord som refereres til LM7805 -regulatoren. Bryter 2 kan være en jumper avhengig av hindring, men den er god å ha for å unngå uønskede MCU -tilbakestillinger fra verts -PC -en i visse tilfeller. Uansett må bryteren være lukket for at Arduino IDE skal kunne brenne skissen ved å tilbakestille mål -MCU (pin DTR på RS232). I mitt tilfelle er tilkoblingen permanent (alltid stengt). Bruk en seriemotstand for summeren for å isolere flere nFs med kapasitans fra drivporten … du vet aldri.. Finn XTAL- og lasting 18-22pF kondensatorene så nært som mulig til de respektive pinnene på kontrolleren.
På grunn av likeretterbroen kan enheten drives av både vekselstrøm- og likestrømadaptere. Ved DC er det et 1,5 V spenningsfall mellom adapteren og inngangen til regulatoren. I tilfelle AC er inngangen til regulatoren omtrent 1,4 ganger RMS -utgangen til adapteren eller mindre på grunn av belastning. Hvis forskjellen mellom inngangen til regulatoren og dens utgang (+5V) er stor, si 7 volt, så nærmer strømmen som regulatoren bruker 0,5 watt, og det er bedre å bruke en liten kjøleribbe for å montere brikken (forutsatt det er plass til det) for lange driftstimer i varmt vær.
AC -inngangssikringen kan velges avhengig av dine eksterne belastninger (via DB15 -kontakten). Andre faktorer som påvirker sikringsvalget er strømbegrensningsmotstanden for LED -bakgrunnsbelysningen på LCD -skjermen, brokondensatoren for ladestrømmen og strømkapasiteten til forsyningstransformatoren.
Trinn 5: Skjematisk
Trinn 6: PROGRAMVARE KJØRER OMBOARD
Dette er skissen som får alt til å skje … og 32KB er IKKE nok! Du kan enten bruke det umodifisert, i så fall vil jeg sette pris på en henvisning til navnet mitt, eller endre det etter ønske og glemme meg;-)
Dette er den detaljerte dokumentasjonen om maskinen.
Sammendrag av kommandoer og uttrykk
“: En kommentar som ikke kan skrives ut
ai: fest avbrudd 0 (pin D2)
ar: analog lesning
aw: ‘analog write’ per arduino eller mer riktig pwm
ca: analog fangst i en matrise
cl: sletter displayet cno: return *Prgm indeks for linjenummer
di: vent på en serie pulser og mål varighet og timing
dl: forsinkelse
gjøre: i forbindelse med ‘wh’
dr: digital les hvilken som helst pin
dw: digital skriv hvilken som helst pin
ed: editor mode / load program from PC / renumber lines
el: EEPROM tilgangsfunksjon
slutt: END -uttalelsen til et program
ensb: avslutter subrutine
es: EEPROM tilgangsfunksjon
fl: enkelt glidende gjennomsnittsfilter
fr: for-neste sløyfe (fr-nx)
gå: gå til programtrinn
gosb: fortsett utførelsen til underrutine
gt: venter på brukerinngang
hvis: test tilstand og gå til trinn
io: GPIO 1-9 bits
ld: last/flett program fra EEPROM
lp:: tastaturstyrt sløyfe i interaktiv modus
ls: listemodus / send program til PC en linje om gangen
ml: få tid
mm: vis ledig minne
nr: konverterer tall til streng
nx: i forbindelse med ‘fr’
pl: plot array cxx
pm: sett pins for inn eller ut
pr: skriver ut en melding eller verdi eller egendefinert tegn
rgc: kommando for områdekopi for matriser
rgs: range set -kommando for matriser
rn: kjør programmet i RAM
rs: myk tilbakestilling
rx: motta et tegn via RS232
si: synkron seriell inngang med klokke og datapinner
sm: mini oscilloskop app sno: konverterer streng til tall
altså: synkron seriell utgang med klokke og datapinner
sub: erklærer subroutine
sv: lagre programmet i EEPROM
tn: pip en tone
tx: overfør et nummer via RS232
wh: en gjør-mens-sløyfe som brukes i forbindelse med "gjør"
Trinn 7: Videoklipp av Mini App 'sm' Running
besøk mitt nettsted for å lese hele historien og laste ned alle relevante filer
www.sites.google.com/site/demeterart
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte