Cov txheej txheem:
- Kauj Ruam 1: Yuav Ua Li Cas Tsim Koj Tus Kheej Arduino VGA Console
- Kauj Ruam 2: Kev Ua Si Los Ntawm Lwm Tus Sau
- Kauj Ruam 3: Cov Ntawv Ntxiv 1: Xav paub ntau ntxiv txog Yuav Ua Li Cas Tsim Cov Tswj
- Kauj Ruam 4: Cov Ntawv Ntxiv 2: Qee Qhov Kev Xav Txog Lub Cim Txwv
Video: Arduino VGA Console Nrog Tsib Ua Si: 4 Cov Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Hauv kuv Cov Lus Qhia yav dhau los, Kuv tau rov tsim dua cov ntawv yooj yim ntawm qee qhov nrov tshaj plaws hauv kev ua si arcade, los ntawm kev siv Arduino liab qab thiab ob peb lwm yam ntxiv. Tom qab ntawd kuv tau koom nrog tsib ntawm lawv ua ke hauv ib daim duab. Ntawm no kuv yuav qhia koj li cas tuaj yeem tsim lub console yooj yim uas tuaj yeem ua si Pong, Breakout, Bomber, Tetris thiab cov khoom ua si uas tau tshoov siab rau Etch-a-Sketch. Lub console no tseem tuaj yeem siv ua si Snake, thiab ob qhov kev ua si sau los ntawm lwm tus kws sau ntawv: Bit Ninja los ntawm Sandro Maffiodo aka "Smaffer" thiab Stacker los ntawm Nikita Kurylev.
Lub ntsiab tseem ceeb yog tiam ntawm VGA teeb liab, ua tsaug rau VGAx lub tsev qiv ntawv, yog li lub console xav tau VGA saib. Kuv lub hom phiaj, raws li ib txwm muaj, yog kom tsis txhob muaj "cov khoom tshwj xeeb" los tsim nws, koj tsis xav tau ib qho kev txhawb nqa IC lossis daim thaiv! Cov khoom siv tsuas yog ob lub zog, tsib lub nyees khawm, ob peb tus tiv thaiv thiab DSUB15 (VGA) txuas. Ib tus neeg hais lus piezo yog xaiv tau. Koj tuaj yeem pom qhov kev ua si zoo li cas hauv cov duab hauv nplooj ntawv no.
Lub tsev qiv ntawv VGAx tso cai siv plaub xim nrog daws teeb meem 120 x 60 pixels, tsis ntau tab sis txaus rau qhov kev ua si retro-game. Cov duab yog nyoos tab sis, ua tsaug rau kev siv lub zog loj, cov kev ua si ua haujlwm tau zoo. Cov suab yooj yim los kuj muaj thiab.
Kauj Ruam 1: Yuav Ua Li Cas Tsim Koj Tus Kheej Arduino VGA Console
Thawj zaug rub tawm ArduinoVGAgame.ino thiab/lossis Snake.ino cov lej hauv qab ntawm nplooj ntawv no thiab luam lawv hauv koj lub PC hauv cov npe nrog tib lub npe. Rub tawm VGAx lub tsev qiv ntawv los ntawm qhov txuas ntawm GitHub. Txoj hauv kev yooj yim tshaj plaws yog luam nws hauv Arduino software subfolder lub npe "tsev qiv ntawv", kom tau lees paub tam sim ntawd.
TSEEM CEEB: lub tsev qiv ntawv no ua haujlwm rau Arduno IDE 1.6.4 tab sis nws tsis ua tiav nrog cov laus lossis cov kho tshiab.
Tshaj tawm cov cai hauv koj li Arduino board (Kuv tau sim ob qho Uno thiab Nano). Ib qho lus ceeb toom rau lub cim xeeb muaj tsawg yog qhov ib txwm muaj. Yog tias koj tsis muaj lwm qhov yuam kev txhua yam zoo thiab koj tuaj yeem pib tsim koj tus kheej tam sim.
Rau qhov no koj xav tau:
- Arduino Uno Rev. 3 lossis Arduino Nano 3.x (ATmega328)
- DSUB15 Connector, piv txwv li yog VGA poj niam txuas lossis VGA cable kom raug txiav.
- resistors: 2 x 68 Ohm thiab 2 x 470 Ohm thiab 5 x 1 txog 2 kOhm
- ob 10 kOhm linear potentiometers (cov txiaj ntsig zoo ib yam zoo ib yam)
- tsib khawm
- ib co kab
- ib lossis ob lub thawv zoo kom muab tag nrho cov khoom siv.
Lub ntsej muag:
- ib daim ntawv qhia zaub mov los yog ib lub rooj noj mov
- tus neeg hais lus piezo
Cov txheej txheem tau tshaj tawm rau saum toj ntawm cov kauj ruam no, ua ke nrog ib qho piv txwv ntawm qhov ua tiav "console".
cov qauv qhia pom yuav ua li cas txuas lub pob thiab lub hwj chim. Tshwj xeeb, koj yuav tsum txuas tsib lub khawm rau tus pin 5, 10, 11, 12 thiab 13 feem. Qhov kev nqis tes ua los ntawm txhua lub khawm tau piav qhia nyob rau sab saud sab xis hauv kab lus. Ntawm sab laug nws tau qhia yuav ua li cas txuas lub hwj chim (koj xav tau ob lub hwj chim loj rau tus pin A1 thiab A2). Tus neeg hais lus yuav tsum txuas nrog tus pin analog A0.
Kuv tso Arduino pawg thawj coj nrog VGA txuas rau hauv lub thawv ntoo, uas tseem yog thawj tus neeg ua si potentiometer thiab plaub lub nyees khawm, thaum tus neeg siv thib ob potentiometer thiab nws pib khawm nyob hauv ib lub thawv cais thiab me dua.
Yog tias koj nyiam cov khoom ua si no thiab koj txiav txim siab rov tsim nws, kuv zoo siab yog tias koj sau ntawv tawm tswv yim lossis xa duab hauv kab lus hauv qab no.
Kauj Ruam 2: Kev Ua Si Los Ntawm Lwm Tus Sau
Sandro Maffiodo tsis ntev los no tau tshaj tawm qhov kev ua si BitNinja. Koj tuaj yeem pom cov ntaub ntawv qhia ntxiv ntawm no thiab rub tawm cov cai ntawm no.
Txhawm rau siv kuv lub console, koj tsuas yog yuav tsum rov ua lub pob hauv nws cov cai raws li hauv qab no:
#define BTN_UP 11 (hloov ntawm 13)
#define BTN_LEFT 10 (hloov 12)
#define BTN_RIGHT 12 (hloov 11)
Stacker, los ntawm Nikita Kurylev, muaj nyob ntawm no. Xav paub ntau ntxiv ntawm no.
Ib zaug ntxiv, koj yuav tsum rov ua dua ib lub pob, hauv ib feem sib txawv ntawm cov cai: tsuas yog hloov digitalRead (2) nrog digitalRead (13)
Kauj Ruam 3: Cov Ntawv Ntxiv 1: Xav paub ntau ntxiv txog Yuav Ua Li Cas Tsim Cov Tswj
Koj tuaj yeem paub tus tswj hwm hauv ntau txoj kev sib txawv, nyob ntawm cov khoom muaj thiab koj nyiam.
Kuv nyiam kom paub lawv nrog cov thawv ntoo (saib cov duab hauv nplooj ntawv no). Ib lub thawv loj rau Arduino, VGA txuas thiab thawj tus neeg siv khawm thiab potenziometer; thib ob (me dua) ib qho rau tus khawm thib ob thiab lub log (xav tau rau Pong thiab cov khoom ua si teeb duab). Lwm qhov muaj peev xwm yog muab txhua yam tso rau hauv ib lub thawv loj dua.
Ua ntej kuv rov hais dua kom txuas VGA chaw nres nkoj. Hauv cov duab thawj thiab thib ob koj tuaj yeem pom qee cov ntsiab lus: nco ntsoov ob 470 Ohm resistors rau Liab thiab Ntsuab txuas nrog pins 6 thiab 7 feem, thiab ob 68 Ohm rau pins 3 thiab 9 rau kab rov tav thiab ntsug synchronization teeb liab.
Koj tuaj yeem xaiv cov xim sib txawv sib txawv nyob ntawm tus pin koj txuas rau ntawm VGA DSUB15 tus txuas, tus pin 1, 2 thiab 3 sawv cev rau Liab, Ntsuab, Xiav (RGB) feem. Kuv txuas tus pin 1 thiab 2, yog li kuv muaj cov xim hauv qab no ua ke: (0, 0) = dub; (1, 0) = liab; (0, 1) = ntsuab; (1, 1) = daj.
Rau txhua qhov muaj peev xwm sib txawv, kuv hais kom nyeem cov ntsiab lus hauv nplooj ntawv uas koj rub tawm VGAx cov tsev qiv ntawv.
Sai li qhov VGA txuas tau npaj tiav, koj tuaj yeem npaj tag nrho lwm cov hlua rau cov nyees khawm, lub log thiab tus hais lus (saib daim duab 2).
Tam sim no tsuas yog muab txhua yam ua ke: nco ntsoov tias txhua tus khawm tus pin yuav tsum tau txuas rau hauv av los ntawm 1 lossis 2 kOhm resistor, txwv tsis pub thaum lub pob qhib lub xeev tus pin yuav tsis tau txhais. Qhov no txhais tau tias yog tus pin raug txuas tsis txuas koj tuaj yeem muaj qhov hluav taws xob tsis zoo (zoo li qub) rau nws uas tuaj yeem qhib nws. Saib kom paub ntau ntxiv txog cov txheej txheem hauv theem ob ntawm cov lus qhia no.
Kauj ruam kawg yog kho txhua yam hauv qhov chaw. Kuv tau siv rab yaj phom kub, tab sis koj tuaj yeem siv koj txoj kev nyiam.
Kauj Ruam 4: Cov Ntawv Ntxiv 2: Qee Qhov Kev Xav Txog Lub Cim Txwv
Nws yog qhov xav tsis thoob uas Arduino yooj yim muaj peev xwm tsim lub teeb liab VGA thiab txhua qhov kev ua si no ua ke. Lub raj mis tiag tiag yog qhov tsis muaj SRAM. AVR microcontroller tsuas muaj 2048 bytes muaj los khaws thiab tswj cov kev hloov pauv, thiab VGAx lub tsev qiv ntawv khaws cov vijtsam hloov pauv hauv 120x60 pixels framebuffer qhov twg txhua pixel xav tau 2 khoom (4 xim), rau tag nrho ntawm 1800 bytes. Qhov no txhais tau tias tsuas muaj 248 bytes sab laug rau qhov hloov pauv kos duab. Ib qho ntxiv, hauv kuv qhov kev paub, ib tus yuav tsum tawm tsawg kawg 100 bytes dawb kom tsis txhob muaj kev tsis haum xeeb. Siv siab dua 1950 bytes ntawm lub cim xeeb hloov pauv, lub microcontroller pib qhia coj txawv txawv thiab tsis tuaj yeem kwv yees tau.
Qhov no txhais tau tias txhua qhov sib txawv yuav tsum tau sib koom ntawm cov kev ua si sib txawv, thiab qhov no ua rau cov cai tsis tuaj yeem nyeem thiab nyuaj rau kev debug. Nws tsis yog ib qho teeb meem rau "ntxiv qhov kev ua si tshiab" rau cov duab kos yav dhau los, tab sis txhua txoj cai yuav tsum tau hloov kho thiab ua kom zoo dua qub.
Tsis tas li ntawd, kuv yuav tsum tau siv yam tsawg kawg nkaus tuaj yeem hloov pauv hom ntawv: piv txwv li, rau txhua qhov kev tswj hwm kuv yuav tsum siv "byte" hloov "int" lossis, hauv lwm qhov xwm txheej, kuv yuav tsum nyiam "int" hloov "ntab".
Thaum kawg, kuv qhov kev paub paub mus rau Sandro Maffiodo aka Smaffer, tus tsim VGAx lub tsev qiv ntawv thiab qhov kev ua si txaus BitNinja. Yog tsis muaj lub tsev qiv ntawv no, txoj haujlwm no tsis tuaj yeem ua tiav.
Ua tsaug rau koj rau Nikita Kurylev rau qhov yooj yim tab sis lom zem game Stacker.
Pom zoo:
Cronómetro tsib Cocina. Tsob Ntoo Ntawm Lub Neej: 4 Kauj Ruam
Cronómetro tsib Cocina. Tsob Ntoo Ntawm Lub Neej: El cron ó metro de cocina es una herramienta que le permite al estudiante realizar varias tareas sin perder la atenci ó n de los tiempos de la cocina. Funciona como un cron ó metro midiendo intervalos de 10 min, cada lapso de tiempo s
Tsib Neat Me Projects: 6 Kauj Ruam
Tsib Txoj Haujlwm Me Me Neat: Tau nyiam cov kab hluav taws xob uas nyem thiab ua suab nrov thaum koj qhia cov khoom siv hluav taws xob rau cov tub ntxhais hluas. Cov tsib qhov hluav taws xob uas siv sijhawm li ob peb feeb los tsim, lawv yooj yim rau kev hloov pauv txhawm rau hloov pauv qhov nrawm lossis lub sijhawm. Thawj Circuit
Tsib Tsib! - Tes Neeg Hlau: 5 Kauj Ruam
Tsib Tsib! - Robotic Hand: Muaj ib hnub, hauv peb Cov Cai Kawm Txuj Ci ntawm chav kawm Engineering, peb tau teeb tsa los tsim cov tshuab sib xyaw tawm ntawm VEX qhov chaw. Thaum peb pib tsim cov txheej txheem, peb tau tawm tsam los tswj hwm ntau yam khoom siv uas yuav tsum tau sib sau ua ke. Yog tias tsuas yog qee tus
Tshiab thiab Txhim Kho Tsib Cov pos hniav Ipod Case (Rau NANO 3G): 5 Kauj Ruam
Tshiab thiab Txhim Kho Tsib Cov pos hniav Ipod (Rau NANO 3G): Tomcat94 Tsis ntev los no Tshaj Tawm Ib Tus Ipod Case Ua Ntawm Ib Plaub Ntub Hnab Wrapper. Zoo Kuv txiav txim siab ua qee yam zoo sib xws, Tab sis Rau Ipod Nano
Tsib-xaij Tilt Sensor: 4 Kauj Ruam (nrog Duab)
Tsib-cent Qaij Sensor: Qhov no yog lub hauv paus qaij sensor tau tshoov siab los ntawm lub pob-thiab-tawb style sensors, tab sis 2d hloov chaw 3d. Ib tus xaum npuaj npuaj tau txuas ob khub ntawm cov xov hlau nyob ntawm qhov ntsuas kev ntsuas. Cov no tau tsim sai, thiab pheej yig zoo nkauj; Kuv tuaj nrog lawv rau ib qhov project w