Cov txheej txheem:

DemUino - Tsev Khoos Phis Tawj/Kws Tswj: 7 Kauj Ruam
DemUino - Tsev Khoos Phis Tawj/Kws Tswj: 7 Kauj Ruam

Video: DemUino - Tsev Khoos Phis Tawj/Kws Tswj: 7 Kauj Ruam

Video: DemUino - Tsev Khoos Phis Tawj/Kws Tswj: 7 Kauj Ruam
Video: Nraug txuj kev hlub 2024, Kaum ib hlis
Anonim
Image
Image
Hlawv Bootloader
Hlawv Bootloader

Ib Arduino Inspired Computer los ntawm DemeterArt Ua kom zoo tshaj koj li qub PS2 keyboard. Hack nws mus rau hauv lub khoos phis tawj ntiag tug los tswj cov khoom! Kuv ib txwm xav tsim kuv tus kheej lub khoos phis tawj hauv tsev, hom retro-style, tsis muaj dab tsi zoo nkauj tab sis muaj peev xwm tshwj xeeb raws li kuv nyiam. Yog li, kuv tau txais nws nrog atmega328 MCU thiab cov khoom siv txhim kho Arduino.

Cia kuv hais tias txoj haujlwm no yuav siv sijhawm ntev dua nrog qhov tsis txaus siab qhov kawg yog tias nws tsis yog rau cov kiv cua uas muaj txiaj ntsig tawm muaj leej twg qia dub tsawg dua muab cov tsev qiv ntawv dawb rau txhua tus siv. Ua tsaug txhua tus:-)

mus ntsib kuv lub xaib kom nyeem tag nrho zaj dab neeg thiab rub tawm txhua cov ntaub ntawv cuam tshuam

www.sites.google.com/site/demeterart

Kauj ruam 1: Nta

  • Raws li ATMEGA328 nrog 32KB nyem, 2KB SRAM thiab 1KB EEPROM.
  • kev txhawb nqa rau kev sib tham sib thiab cov txheej txheem
  • kab editor thiab daim ntawv teev npe-thaum-hloov hom
  • 8 tus cim kev cai rau cov neeg siv duab
  • 60 txoj haujlwm cov phiaj xwm suav nrog 00,…, 99
  • 'Yog' raws li, 'thaum' thiab 'rau' loops ntxiv rau 'goto' thiab 'sub' nqe lus rau kev faib
  • Cov lej zauv thiab lej zauv yooj yim ntxiv rau kev ntsuas boolean
  • cov kab ke hloov pauv tso cai rau sijhawm xwm txheej, nruab nrab, rms, min thiab qhov tseem ceeb tshaj los ntawm analog pins, thiab lwm yam
  • 26 tus neeg siv hloov pauv los cuam tshuam nrog cov kab ke hloov pauv thiab cov lus txib
  • 104 bytes ntawm tus neeg siv qhov chaw nyob tuaj yeem lossis 52 tus lej luv luv
  • muaj peev xwm nyeem/sau cov ntaub ntawv program nrog rau cov lej ntawm-tus-ya (p sib txawv)
  • mini oscilloscope app nrog cov cim tshwj xeeb rau pseudo duab
  • txuag thiab thauj cov haujlwm thiab cov ntaub ntawv rau/los ntawm EEPROM
  • thauj khoom/txuag cov program thiab hloov pauv los ntawm/rau PC
  • autoexec mus rau hauv chaw thau khoom thiab khiav haujlwm los ntawm EEPROM tom qab txhua qhov pib dua
  • 9 GPIO pins (suav nrog SPI) muaj nyob rau sab nraud DB15 txuas
  • BUZZER rau cov teebmeem suab

Kauj Ruam 2: Cov Khoom Koj Yuav Tsum Tau

Lub qub ps/2 keyboard tuab txaus los ua lub tsev pcb LCD tus cim tso tawm (hom ntawv sib luag nrov) MAX232 nti rau RS232 chaw nres nkoj atmel atmega328PU Arduino txhim kho cov khoom siv nrog IDE 1.0.1 LM7805 tus tswj 5V buzzer choj rectifier, capacitors, rov pib dua khawm, connectors lwm yam

Kauj ruam 3: Hlawv Bootloader

Yog li, tom qab tau yuav "khoob" atmega328PU nti muaj kev txiav txim siab los ua. Kuv puas siv tus programmer tshwj xeeb xws li sab nraud lossis ISP lossis kuv puas hlawv Arduino bootloader rau hauv cov tsiaj nyaum thiab ua kom lub tsev programmable ntawm nws qhov chaw nres nkoj UART? Kuv xaiv qhov tom kawg kom ua rau kuv lub neej yooj yim dua! Lub bootloader tshiab nyob tsuas yog ib nrab kilobyte ntawm flash nco tawm me ntsis ntau dua 31KB ntawm cov neeg siv program thiab cov ntaub ntawv zoo li qub muaj. Arduino qhov chaw npog rooj plaub ntawm kev hlawv lub bootloader ntawm lub nti tshiab, thaum nws tau los siv avrdude los hlawv lub hom phiaj nti txheej txheem ua tsis tiav nrog qhov ua yuam kev qhia tus lej tsis raug rau tshwj xeeb MCU. Yog li tom qab qee qhov tshawb nrhiav kuv pom tus txiv neej no uas tau txais nws raug thiab kuv tau ua raws nws cov txheej txheem. Qhov sib txawv tsuas yog 2 cov ntaub ntawv teeb tsa, avrdude.conf thiab boards.txt xav tau los ntawm avrdude thiab arduino IDE 1.0.1 kom nws ua tau. Tom qab theej 2 cov ntaub ntawv mus rau lawv qhov chaw tsim nyog (thaub qab cov qub qub ua ntej) qhov kev xaiv 'arduino328' los ntawm cov cuab yeej-> Pawg tau muaj thiab avrdude tau pib nrog hlawv cov fuses thiab lub bootloader. Tam sim no lub nti tau npaj los ua haujlwm los ntawm hauv lub tshuab tshiab!

Kauj Ruam 4: Tsim Tsev Kawm Ntawv

Tsim Tsev Kawm Ntawv
Tsim Tsev Kawm Ntawv
Tsim Tsev Kawm Ntawv
Tsim Tsev Kawm Ntawv

Lub vaj huam sib luag perforated nrog cov ntawv tooj liab tau siv los ua kev daws teeb meem nrawm nrog DIP qhov rau cov chips, koj paub, tsuas yog qhov xwm txheej! Tom qab ntawd lub qhov thiab txiav rau qhov txuas, khawm rov pib dua thiab cov duab LCD tau qhib los ntawm cov yas ruaj khov thiab tuab ntawm cov keyboard. Yog, uas tau tsim 25 xyoo dhau los! Muaj ua raws qhov tsis sib xws ntawm cov xov hluav taws xob los ntawm pcb mus rau ntau yam khoom siv ib puag ncig. Rudimentary txuas mus txuas ntxiv thiab tom qab ntawd cov khoom siv txuas nrog tsis muaj cov neeg nyob ib puag ncig tsuas yog los tshuaj xyuas lub qhov (socket) kom raug rau qhov ntsuas hluav taws xob. Tom qab ntawd tuaj txog hauv 2 ICs thiab cov ntaub ntawv keyboard tau raug kaw ruaj khov los ntawm nws cov yas snaps hauv qab. Chav tsev tau npaj los hlawv cov duab kos hauv tus tswj!

Kuv qhia ib qho siv nonpolar 1uF/16V capacitors rau MAX232 tus nqi twj. Nrhiav lub 100nF decoupling capacitors rau ob lub chips kom ze li sai tau rau qhov VCC thiab GND pins. Siv lub hnub qub txuas rau lub zog thiab hauv av uas tau hais rau LM7805 tus tswj hwm. Hloov 2 tuaj yeem yog jumper nyob ntawm qhov ua kom raug tab sis nws yog qhov zoo yog tias tsuas yog zam qhov tsis xav tau MCU rov pib dua los ntawm tus tswv tsev PC hauv qee kis. Txawm li cas los xij, qhov hloov pauv yuav tsum raug kaw kom tso cai rau Arduino IDE txhawm rau hlawv cov duab kos los ntawm rov kho lub hom phiaj MCU (tus pin DTR ntawm RS232). Hauv kuv qhov kev sib txuas yog tas mus li (ib txwm kaw). Siv cov tshuaj tiv thaiv kab mob rau lub suab nrov kom cais ob peb nFs ntawm lub peev xwm los ntawm lub qhov rooj tsav tsheb … koj yeej tsis paub.. Nrhiav XTAL thiab thauj khoom 18-22pF capacitors kom ze li sai tau rau cov pins ntawm tus tswj.

Vim yog tus choj txuas txuas lub tsev tuaj yeem siv los ntawm ob qho AC thiab DC lub zog hloov pauv. Hauv DC, muaj qhov 1.5 V qhov hluav taws xob poob nruab nrab ntawm lub adapter thiab cov tswv yim rau tus tswj hwm. Nyob rau hauv rooj plaub ntawm AC cov tswv yim ntawm tus tswj hwm yog kwv yees li 1.4 npaug ntawm RMS cov khoom siv los yog tsawg dua vim yog thauj khoom. Yog tias qhov sib txawv ntawm cov tswv yim ntawm tus tswj hwm thiab nws cov zis (+5V) loj, hais tias 7 volts, tom qab ntawd lub zog siv los ntawm tus tswj hwm ze rau 0.5 watts thiab nws zoo dua los siv lub rhaub dej me me uas yuav ua rau lub nti (muab muaj qhov chaw rau nws) rau cov sijhawm ua haujlwm ntev hauv huab cua sov.

AC input fuse tej zaum yuav raug xaiv nyob ntawm koj cov load sab nraud (ntawm DB15 txuas). Lwm yam uas cuam tshuam rau kev xaiv fuse yog qhov txwv tam sim no rau LED backlight ntawm LCD, tus choj txuas rau them nqi tam sim no thiab lub peev xwm tam sim no ntawm kev hloov pauv.

Kauj Ruam 5: SCHEMATIC

SCHEMATIC
SCHEMATIC

Kauj Ruam 6: SOFTWARE RUNNING ONBOARD

Nov yog cov duab kos uas ua rau txhua yam tshwm sim… thiab 32KB tsis txaus! Koj tuaj yeem siv nws yam tsis tau hloov pauv, hauv qhov xwm txheej twg kuv yuav txaus siab rau qhov siv rau kuv lub npe, lossis hloov nws ntawm qhov yuav thiab tsis nco qab txog kuv;-)

Nov yog cov ntaub ntawv ntxaws ntxaws txog lub tshuab.

Cov ntsiab lus ntawm Cov Lus txib & Cov Lus Qhia

: Kab lus tsis tuaj yeem sau tseg

ai: txuas cuam tshuam 0 (tus pin D2)

ar: analog nyeem ntawv

aw: 'analog write' per arduino lossis ntau dua pwm kom raug

ca: analog ntes hauv ib qho array

cl: tshem cov zaub cno: rov qab *Prgm qhov ntsuas ntawm kab lej

di: tos ib pliag ntawm cov mem tes thiab ntsuas lub sijhawm thiab sijhawm

dl: duav

ua: ua ke nrog 'wh'

dr: digital nyeem txhua tus pin

dw: digital sau txhua tus pin

ed: hom hloov kho / thauj cov haujlwm los ntawm PC / tus lej xov tooj

el: EEPROM kev ua haujlwm

kawg: END nqe lus ntawm txoj haujlwm

ensb: xaus subroutine

es: EEPROM siv tau

fl: yooj yim txav nruab nrab lim

fr: rau-lub voj tom ntej (fr-nx)

mus: dhia mus rau theem program

gosb: txuas ntxiv ua tiav rau subroutine

gt: tos rau cov neeg siv tswv yim

yog: kuaj mob thiab dhia mus rau kauj ruam

io: GPIO 1-9 khoom

ld: thauj khoom/sib koom ua ke los ntawm EEPROM

lp:: keyboard tswj lub voj hauv kev sib tham sib

ls: teev hom / xa qhov program rau PC ib kab zuj zus

ml: xav

mm: tso saib lub cim xeeb pub dawb

nos: hloov tus lej rau txoj hlua

nx: ua ke nrog 'fr'

pl: txwj array cxx

pm: teeb tus pin rau hauv lossis tso tawm

pr: luam tawm cov lus lossis tus nqi lossis tus yam ntxwv tshwj xeeb

rgc: range copy command rau arrays

rgs: range set command rau arrays

rn: khiav qhov program hauv RAM

rs: muag pib dua

rx: tau txais lub cim ntawm RS232

si: synchronous serial input nrog moos thiab cov ntaub ntawv pins

sm: mini oscilloscope app sno: hloov txoj hlua rau tus lej

yog li: synchronous serial output nrog moos thiab cov ntaub ntawv pins

sub: tshaj tawm subroutine

sv: txuag qhov program rau EEPROM

tn: pib

tx: xa tus lej ntawm RS232

wh: lub voj ua-thaum siv ua ke nrog 'ua'

Kauj Ruam 7: Videoclip ntawm Mini App 'sm' Khiav

mus ntsib kuv lub xaib kom nyeem tag nrho zaj dab neeg thiab rub tawm txhua cov ntaub ntawv cuam tshuam

www.sites.google.com/site/demeterart

Pom zoo: