Ստեղծեք ձեր սեփական տեսախցիկը `8 քայլ
Ստեղծեք ձեր սեփական տեսախցիկը `8 քայլ
Anonim
Image
Image
Պատրաստեք ձեր սեփական տեսախցիկը
Պատրաստեք ձեր սեփական տեսախցիկը

Այս հրահանգը բացատրում է, թե ինչպես պատրաստել մոնոխրոմ տեսախցիկ `օգտագործելով Omnivision OV7670 պատկերի սենսորը, Arduino միկրոկոնտրոլերը, մի քանի ցատկող լարերը և Processing 3 ծրագրակազմը:

Ներկայացված է նաև գունավոր պատկեր ստանալու փորձարարական ծրագրակազմ:

Սեղմեք «c» ստեղնը ՝ 640*480 պիքսելանոց պատկեր ստանալու համար … կտտացրեք «s» ստեղնը ՝ պատկերը ֆայլում պահելու համար: Հաջորդական պատկերները հաջորդաբար համարակալվում են, եթե ցանկանում եք կարճ ժամանակամիջոց ստեղծող ֆիլմ ստեղծել:

Տեսախցիկը արագ չէ (յուրաքանչյուր սկան տևում է 6,4 վայրկյան) և հարմար է միայն ֆիքսված լուսավորության դեպքում օգտագործելու համար:

Արժեքը, առանց ձեր Arduino- ի և համակարգչի, ավելի քիչ է, քան մեկ գավաթ սուրճ:

Պատկերներ

Բաղադրիչ մասերը, առանց ցատկող լարերի, ցուցադրված են բացման լուսանկարում:

Երկրորդ լուսանկարը էկրանի նկարահանումն է, որը ցույց է տալիս Arduino տեսախցիկի ծրագրակազմը և Processing 3 շրջանակի գրավումը: Ներդիրը ցույց է տալիս, թե ինչպես է միացված տեսախցիկը:

Տեսանյութը ցույց է տալիս տեսախցիկը գործողության մեջ: Երբ «c» գրավման ստեղնը սեղմվում է, կա կարճ բռնկում, որին հաջորդում է գործունեության պոռթկում, երբ պատկերը սկանավորվում է: Պատկերն ինքնաբերաբար հայտնվում է ցուցադրման պատուհանում, երբ սկանավորումն ավարտված է: Այնուհետև պատկերները հայտնվում են «s» ստեղնի յուրաքանչյուր սեղմումից հետո «Processing» թղթապանակում: Տեսանյութը եզրափակվում է երեք պահված պատկերներից յուրաքանչյուրի արագ հեծանվավազքով:

Քայլ 1: Շղթայի դիագրամ

Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ

Շրջանակային դիագրամը, այս տեսախցիկի բոլոր տարբերակների համար, ցուցադրված է լուսանկար 1 -ում:

Լուսանկարներ 2, 3-ը ցույց են տալիս, թե ինչպես են թռչկոտող-լարերը և բաղադրիչները միացված:

Առանց ալյումինե փակագծի պատկերները ընկած են իրենց կողքին:

Գուշացում

Programրագրավորեք ձեր Arduino- ն ԱՌԱ OV7670 տեսախցիկի չիպին միացնող լարեր ամրացնելուց առաջ: Սա կանխելու է նախորդ ծրագրից 5 վոլտ ելքային կապի ոչնչացումը 3v3 վոլտանոց OV7670 տեսախցիկի չիպը:

Քայլ 2: Մասերի ցուցակ

Մասերի ցուցակ
Մասերի ցուցակ

Հետևյալ մասերը ստացվել են https://www.aliexpress.com/ կայքից

  • Միայն 1 OV7670 300KP VGA տեսախցիկի մոդուլ arduino DIY KIT- ի համար
  • Միայն 1 տեսախցիկի փակագիծ `ամբողջական ընկույզներով և պտուտակներով
  • 1 միայն UNO R3 arduino MEGA328P- ի համար 100% օրիգինալ ATMEGA16U2 USB մալուխով

Հետևյալ մասերը ստացվել են տեղում

  • 18 Arduino տղամարդ-կին թռիչքային մալուխներ
  • 3 միայն Arduinin կին-կին jumper մալուխներ
  • Միայն 1 մինի հացաթուղթ
  • 4 միայն 4K7 օմ 1/2 վտ հզորությամբ դիմադրիչներ
  • Ալյումինի միայն 1 գրություն:

Ձեզ նույնպես կպահանջվեն հետևյալ տվյալների թերթերը.

  • https://web.mit.edu/6.111/www/f2016/tools/OV7670_20…
  • https://www.haoyuelectronics.com/Attachment/OV7670%…

Քայլ 3: Տեսություն

Տեսություն
Տեսություն

OV7670 տեսախցիկի չիպ

OV7670 տեսախցիկի չիպի լռելյայն ելքը ներառում է YUV (4: 2: 2) տեսա ազդանշան և ժամանակի 3 ալիքի ձև: Այլ ելքային ձևաչափեր հնարավոր են `ներքին ռեգիստրերը ծրագրավորելով I2C համատեղելի ավտոբուսի միջոցով:

YUV (4: 2: 2) տեսաազդանշանը (լուսանկար 1) մոնոխրոմ (սև և սպիտակ) պիքսելների շարունակական հաջորդականություն է, որը բաժանված է U (կապույտ գույնի տարբերություն) և V (կարմիր գույնի տարբերություն) գունային տեղեկատվությամբ:

Այս ելքային ձևաչափը հայտնի է որպես YUV (4: 2: 2), քանի որ 4 բայթերից բաղկացած յուրաքանչյուր խումբ պարունակում է 2 մոնոխրոմ բայթ և և 2 գունավոր բայթ:

Մոնոխրոմ

Մոնոխրոմ պատկեր ստանալու համար մենք պետք է փորձենք յուրաքանչյուր երկրորդ տվյալների բայթ:

Arduino- ն ունի ընդամենը 2K պատահական մուտքի հիշողություն, սակայն յուրաքանչյուր շրջանակ ներառում է 640*2*480 = 307, 200 տվյալների բայթ: Եթե OV7670- ին շրջանակ ավելացնող չավելացնենք, բոլոր տվյալները պետք է համակարգչին ուղարկվեն տող առ տող մշակման համար:

Երկու հնարավորություն կա

480 հաջորդական շրջանակներից յուրաքանչյուրի համար մենք կարող ենք մեկ տող Arduino- ին բարձր արագությամբ գրավել, նախքան այն համակարգչին ուղարկել 1 Մբիթ / վ արագությամբ: Նման մոտեցումը ցույց կտա, որ OV7670- ը կաշխատի ամբողջ արագությամբ, բայց երկար ժամանակ կպահանջի (ավելի քան մեկ րոպե):

Իմ որդեգրած մոտեցումն է ՝ դանդաղեցնել PCLK- ը մինչև 8uS և յուրաքանչյուր նմուշ ուղարկել ըստ անհրաժեշտության: Այս մոտեցումը զգալիորեն ավելի արագ է (6,4 վայրկյան):

Քայլ 4: Դիզայնի նշումներ

Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ

Համատեղելիություն

OV7670 տեսախցիկի չիպը 3v3 վոլտ սարք է: Տվյալների թերթիկը ցույց է տալիս, որ 3.5 վոլտից բարձր լարումները կվնասեն չիպը:

Ձեր 5 վոլտ Arduino- ին թույլ չտալ OV7670 տեսախցիկի չիպը քանդել.

  • Արտուինոյի արտաքին ժամացույցի (XCLK) ազդանշանը պետք է նվազեցվի անվտանգ մակարդակի `լարման բաժանարարի միջոցով:
  • Ներքին Arduino I2C ձգման դիմադրիչները մինչև 5 վոլտ պետք է անջատված լինեն և փոխարինվեն 3v3 վոլտ հզորությամբ արտաքին ձգվող դիմադրիչներով:
  • Programրագրեք ձեր Arduino- ն BEԱՆԿԱՈ մետաղալարեր ամրացնելուց առաջ, քանի որ որոշ կապանքներ դեռ կարող են ծրագրավորված լինել որպես ավելի վաղ նախագծի արդյունք !!! (Ես դա սովորեցի դժվար ճանապարհով … բարեբախտաբար ես գնեցի երկուսը, քանի որ դրանք այդքան էժան էին):

Արտաքին ժամացույց

OV7670 տեսախցիկի չիպը պահանջում է արտաքին ժամացույց `10 ՄՀց -ից 24 ՄՀց հաճախականությունների տիրույթում:

Ամենաբարձր հաճախականությունը, որը մենք կարող ենք արտադրել 16 ՄՀց Arduino- ից, 8 ՄՀց է, բայց դա, կարծես, աշխատում է:

Սերիական հղում

Առնվազն 10 uS (միկրովայրկյան) տևում է 1 ՄԲիթ / վայրկյան միլիոն բիթ) սերիական հղման միջոցով 1 տվյալների բայթ ուղարկելու համար: Այս ժամանակը կազմված է հետևյալ կերպ.

  • 8 տվյալների բիթ (8us)
  • 1 մեկնարկային բիթ (1uS)
  • 1 կանգառ-բիթ (1uS)

Ներքին ժամացույց

OV7670- ի ներսում ներքին պիքսելային ժամացույցի (PCLK) հաճախականությունը սահմանվում է CLKRC գրանցամատյանում [5: 0] բիթերով (տես լուսանկար 1): [1]

Եթե մենք դնում ենք բիթեր [5: 0] = B111111 = 63 և այն կիրառում ենք վերը նշված բանաձևին, ապա.

  • F (ներքին ժամացույց) = F (մուտքի ժամացույց)/(բիթ [5: 0} +1)
  • = 8000000/(63+1)
  • = 125000 Հց կամ
  • = 8uS

Քանի որ մենք ընդամենը յուրաքանչյուր երկրորդ բայթ ենք նմուշառում, 8uS PCLK ընդմիջումից ստացվում է 16uS նմուշ, որը բավարար ժամանակ է 1 տվյալների բայթ (10uS) փոխանցելու համար, որը թողնում է 6uS մշակման համար:

Շրջանակի արագություն

Յուրաքանչյուր VGA վիդեո շրջանակ ներառում է 784*510 պիքսել (նկարի տարրեր), որից ցուցադրվում է 640*480 պիքսել: Քանի որ YUV (4: 2: 2) ելքային ձևաչափն ունի միջինում 2 բայթ մեկ պիքսելում, յուրաքանչյուր շրջանակ կտևի 784*2*510*8 uS = 6,4 վայրկյան:

Այս տեսախցիկը արագ չէ !!!

Հորիզոնական դիրքավորում

Պատկերը կարող է տեղափոխվել հորիզոնական, եթե փոխենք HSTART և HSTOP արժեքները ՝ պահպանելով 640 պիքսել տարբերություն:

Պատկերը ձախ տեղափոխելիս հնարավոր է, որ ձեր HSTOP արժեքը լինի ավելի փոքր, քան HSTART արժեքը:

Մի անհանգստացեք… ամեն ինչ կապված է հակառակ հոսքերի հետ, ինչպես նկարագրված է լուսանկար 2 -ում:

Գրանցամատյաններ

OV7670- ն ունի 201 ութ-բիթանոց գրանցիչ `այնպիսի բաներ վերահսկելու համար, ինչպիսիք են շահույթը, սպիտակ հավասարակշռությունը և լուսավորությունը:

Տվյալների մեկ բայթը թույլ է տալիս միայն 256 արժեք [0] - ից [255] միջակայքում: Եթե մենք պահանջում ենք ավելի շատ վերահսկողություն, ապա մենք պետք է մի քանի գրանցամատյաններ կասկադ անենք: Երկու բայթ տալիս է մեզ 65536 հնարավորություն… երեք բայթ ՝ 16, 777, 216:

Լուսանկար 3 -ում ցուցադրված 16 բիթանոց AEC (posառագայթման ավտոմատ վերահսկում) գրանցամատյանը նման օրինակ է և ստեղծվում է հետևյալ երեք գրանցամատյանների հատվածների համատեղմամբ:

  • AECHH [5: 0] = AEC [15:10]
  • AECH [7: 2] = AEC [9: 2]
  • COM1 [1: 0] = AEC [1: 0]

Warnedգուշացեք… գրանցամատյանների հասցեները խմբավորված չեն:

Կողմնակի ազդեցություն

Շրջանակի դանդաղ արագությունը ներկայացնում է մի շարք անցանկալի կողմնակի բարդություններ.

Exposureիշտ լուսաբանման համար OV7670- ն ակնկալում է աշխատել 30 կադր / վրկ արագությամբ (վայրկյան կադրեր): Քանի որ յուրաքանչյուր շրջանակ 6.4 վայրկյան է տևում, էլեկտրոնային կափարիչը բացվում է սովորականից 180 անգամ ավելի երկար, ինչը նշանակում է, որ բոլոր պատկերները չափազանց մերկացված կլինեն, եթե չփոխենք գրանցման որոշ արժեքներ:

Չափից դուրս ճառագայթումը կանխելու համար ես AEC- ի (ավտոմատ ճառագայթման վերահսկման) գրանցման բիթերը զրոյացրել եմ: Չնայած դրան, ոսպնյակի դիմաց անհրաժեշտ է չեզոք խտության զտիչ, երբ լուսավորությունը պայծառ է:

Երկարատև ազդեցությունը նույնպես ազդում է ուլտրամանուշակագույն ճառագայթների տվյալների վրա: Քանի որ ես դեռ չեմ գտել գրանցման համադրություններ, որոնք տալիս են ճիշտ գույներ … համարեք, որ սա ընթացքի մեջ է:

Նշում

[1]

Տվյալների թերթիկում ցուցադրված բանաձևը (լուսանկար 1) ճի՞շտ է, բայց միջակայքը ցույց է տալիս միայն բիթեր [4: 0]:

Քայլ 5. Ալիքի ձևերի ժամանակացույց

Timամկետային ալիքի ձևեր
Timամկետային ալիքի ձևեր
Timամկետային ալիքի ձևեր
Timամկետային ալիքի ձևեր
Timամկետային ալիքի ձևեր
Timամկետային ալիքի ձևեր

«VGA Frame Timeing» դիագրամի ներքևի ձախ անկյունում կատարված գրառման մեջ (լուսանկար 1) ասվում է.

YUV/RGB- ի համար tp = 2 x TPCLK

Նկարներ 1, 2 և 3 -ը հաստատում են տվյալների թերթիկը (ներ) ը և հաստատում են, որ Omnivision- ը յուրաքանչյուր 2 բայթ դիտում է որպես 1 պիքսելին համարժեք:

Տատանման ալիքների ձևերը նույնպես հաստատում են, որ HREF- ը մնում է OWԱՐ ՝ դատարկվող ընդմիջումներում:

Նկար 4 -ը հաստատում է, որ Arduino- ից XCLK ելքը 8 ՄՀց է: Պատճառն այն է, որ մենք տեսնում ենք ոչ թե քառակուսի ալիք, այլ այն, որ բոլոր տարօրինակ ներդաշնակներն անտեսանելի են իմ 20 ՄՀց նմուշառման տատանումների համար:

Քայլ 6: Շրջանակի գրավիչ

Շրջանակ Grabber
Շրջանակ Grabber

OV7670 տեսախցիկի չիպի ներսում պատկերի տվիչը ներառում է 656*486 պիքսել զանգված, որից լուսանկարի համար օգտագործվում է 640*480 պիքսելանոց ցանց:

HSTART, HSTOP, HREF և VSTRT, VSTOP, VREF գրանցամատյանները օգտագործվում են պատկերը սենսորի վրա տեղադրելու համար: Եթե պատկերը ճիշտ տեղադրված չէ սենսորի վրա, ապա կտեսնեք սև գոտի մեկ կամ մի քանի եզրերի վրա, ինչպես բացատրված է «Դիզայնի նշումներ» բաժնում:

OV7670- ը նկարի յուրաքանչյուր տող սկանավորում է մեկ պիքսել միաժամանակ ՝ սկսած վերին ձախ անկյունից, մինչև հասնի ներքևի աջ պիքսելին: Arduino- ն պարզապես փոխանցում է այս պիքսելները համակարգչին սերիական հղման միջոցով, ինչպես ցույց է տրված լուսանկար 1 -ում:

Շրջանակներ գրավողների խնդիրն է գրավել այս 640*480 = 307200 պիքսելներից յուրաքանչյուրը և բովանդակությունը ցուցադրել «պատկեր» պատուհանում

Մշակումը 3 -ը հասնում է դրան ՝ օգտագործելով հետևյալ չորս տողերի ծածկագիրը !!

Կոդ 1:

բայթ byteBuffer = նոր բայթ [maxBytes+1]; // որտեղ maxBytes = 307200

Այս հայտարարության հիմքում ընկած ծածկագիրը ստեղծում է.

  • 307201 բայթ զանգված, որը կոչվում է «byteBuffer [307201]»
  • Լրացուցիչ բայթը նախատեսված է դադարեցման (linefeed) բնույթի համար:

Կոդ 2:

չափը (640, 480);

Այս հայտարարության հիմքում ընկած ծածկագիրը ստեղծում է.

  • փոփոխական, որը կոչվում է «լայնություն = 640;»
  • «բարձրություն = 480» կոչվող փոփոխական;
  • 307200 պիքսել զանգված, որը կոչվում է «պիքսել [307200]»
  • 640*480 պիքսել «պատկերի» պատուհան, որում ցուցադրվում է պիքսելների զանգվածի բովանդակությունը: Այս «պատկերի» պատուհանը անընդհատ թարմացվում է 60 կ / վրկ արագությամբ:

Կոդ 3:

byteCount = myPort.readBytesUntil (lf, byteBuffer);

Այս հայտարարության հիմքում ընկած ծածկագիրը.

  • բուֆերացնում է մուտքային տվյալները տեղում, մինչև չտեսնի «lf» (linefeed) նիշ:
  • որից հետո այն առաջին 307200 բայթ տեղական տվյալները թափում է byteBuffer զանգվածի մեջ:
  • Այն նաև պահում է ստացված բայթերի քանակը (307201) «byteCount» կոչվող փոփոխականի մեջ:

Կոդ 4:

պիքսելներ = գույն (byteBuffer );

Երբ տեղադրվում է հաջորդ օղակում, այս հայտարարության հիմքում ընկած ծածկագիրը.

  • պատճենում է «byteBuffer » զանգվածի բովանդակությունը «պիքսել » զանգվածին
  • որի բովանդակությունը հայտնվում է պատկերի պատուհանում:

Հիմնական հարվածներ

Շրջանակը գրավողը ճանաչում է հետևյալ ստեղնաշարի հարվածները.

  • ‘C’ = նկարել պատկերը
  • ‘S’ = պահեք պատկերը ֆայլում:

Քայլ 7:.րագրակազմ

Ներբեռնեք և տեղադրեք հետևյալ ծրագրային փաթեթներից յուրաքանչյուրը, եթե այն արդեն տեղադրված չէ.

  • «Arduino» ՝
  • «Java 8» ՝ https://java.com/hy/download/ [1]
  • «Մշակում 3» ՝ https://processing.org/download/ կայքից

Arduino ուրվագծի տեղադրում

  • Հեռացրեք բոլոր OV7670 ցատկող լարերը [2]
  • Միացրեք USB մալուխը ձեր Arduino- ին
  • Պատճենեք «OV7670_camera_mono_V2.ino» - ի բովանդակությունը (կցված է) Arduino- ի «ուրվագծի» մեջ և պահեք:
  • Վերբեռնեք ուրվագիծը ձեր Arduino- ում:
  • Անջատեք Arduino- ն վարդակից
  • Այժմ կարող եք ապահով կերպով միացնել OV7670 ցատկող լարերը
  • Միացրեք USB մալուխը:

Մշակման ուրվագծի տեղադրում և գործարկում

  • Պատճենեք «OV7670_camera_mono_V2.pde» - ի (կցված) բովանդակությունը մշակման «ուրվագծի» մեջ և պահեք:
  • Կտտացրեք վերև-ձախ «գործարկել» կոճակին … կհայտնվի սև պատկերի պատուհան
  • Կտտացրեք «սև» պատկերի պատուհանը
  • Սեղմեք «c» ստեղնը ՝ նկարը գրավելու համար: (մոտ 6,4 վայրկյան):
  • Սեղմեք «s» ստեղնը ՝ պատկերը ձեր մշակման թղթապանակում պահելու համար
  • Կրկնեք 4 և 5 քայլերը
  • Սեղմեք «դադարեցնել» կոճակը ՝ ծրագրից դուրս գալու համար:

Նշումներ

[1]

3 -ի մշակումը պահանջում է Java 8

[2]

Սա անվտանգության «մեկ անգամ» քայլ է ՝ ձեր OV7670 տեսախցիկի չիպը վնասելուց խուսափելու համար:

Մինչև «OV7670_camera_mono.ini» էսքիզը ձեր Arduino- ում չբեռնված, ներքին ձգվող դիմադրիչները միացված են 5 վոլտ-ի, գումարած կա հնարավորություն, որ Arduino- ի տվյալների գծերից մի քանիսը կարող են լինել 5 վոլտ ելք … բոլորը մահացու են: 3V3 վոլտ OV7670 տեսախցիկի չիպը:

Երբ Arduino- ն ծրագրավորվի, կարիք չկա կրկնել այս քայլը, և գրանցման արժեքները կարող են ապահով փոխվել:

Քայլ 8: Գունավոր պատկեր ստանալը

Գունավոր պատկեր ստանալը
Գունավոր պատկեր ստանալը
Գունավոր պատկեր ստանալը
Գունավոր պատկեր ստանալը
Գունավոր պատկեր ստանալը
Գունավոր պատկեր ստանալը

Հետևյալ ծրագրաշարը զուտ փորձնական է և տեղադրված է այն հույսով, որ որոշ տեխնիկա օգտակար կդառնա: Գույները, կարծես, շրջված են … Ես դեռ չեմ գտել գրանցման ճիշտ կարգավորումները: Եթե լուծում եք գտնում, խնդրում ենք տեղադրել ձեր արդյունքները:

Եթե մենք պետք է գունավոր պատկեր ստանանք, բոլոր տվյալների բայթերը պետք է գրվեն և կիրառվեն հետևյալ բանաձևերը:

OV7670- ն օգտագործում է հետևյալ բանաձևերը ՝ RGB (կարմիր, կանաչ, կապույտ) գույնի տեղեկատվությունը YUV (4: 2: 2) փոխարկելու համար. [1]

  • Y = 0.31*R + 0.59*G + 0.11*B
  • U = B - Y
  • V = R - Y
  • Cb = 0.563*(B-Y)
  • Cr = 0.713*(R-Y)

Հետեւյալ բանաձեւերը կարող են օգտագործվել YUV- ը (4: 2: 2) RGB գույնի դարձնելու համար [2]

  • R = Y + 1.402* (Cr - 128)
  • G = Y -0.344136*(Cb -128) -0.714136*(Cr -128)
  • B = Y + 1.772*(Cb -128)

Կցված ծրագրաշարը պարզապես մոնոխրոմ ծրագրաշարի ընդլայնումն է.

  • «C» - ի գրավման հայտ է ուղարկվում Arduino- ին
  • Arduino- ն ուղարկում է զույգ համարակալված (միագույն) բայթերը համակարգչին
  • ԱՀ -ն պահում է այս բայթերը զանգվածի մեջ
  • Հաջորդ Arduino- ն համակարգիչ է ուղարկում կենտ համարակալված (քրոմ) բայթ:
  • Այս բայթերը պահվում են երկրորդ զանգվածում … մենք այժմ ունենք ամբողջ պատկերը:
  • Վերոնշյալ բանաձևերն այժմ կիրառվում են UYVY չորս բայթ տվյալների յուրաքանչյուր խմբի համար:
  • Ստացված գունային պիքսելներն այնուհետև տեղադրվում են «պիքսել » զանգվածում
  • ԱՀ -ն սկանավորում է «պիքսել » զանգվածը և պատկեր է հայտնվում «պատկեր» պատուհանում:

Processing 3 ծրագրաշարը հակիրճ ցուցադրում է յուրաքանչյուր սկանավորում և վերջնական արդյունքներ.

  • Լուսանկար 1 -ը ցույց է տալիս սկան 1 -ի U & V քրոմայի տվյալները
  • Լուսանկար 2 -ը ցույց է տալիս սկան 2 -ից Y1 և Y2 լուսավորության տվյալները
  • Լուսանկար 3 -ը ցույց է տալիս գունավոր պատկերը… միայն մի բան սխալ է… պայուսակը պետք է լինի կանաչ !!

Այս ծրագիրը լուծելուց հետո նոր ծածկագիր կտեղադրեմ…

Հղումներ:

[1]

www.haoyuelectronics.com/Attachment/OV7670%… (էջ 33)

[2]

hy.wikipedia.org/wiki/YCbCr (JPEG փոխակերպում)

Կտտացրեք այստեղ ՝ իմ մյուս հրահանգները դիտելու համար:

Խորհուրդ ենք տալիս: