{"id":703,"date":"2021-02-26T10:55:33","date_gmt":"2021-02-26T10:55:33","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=703"},"modified":"2023-08-30T09:51:28","modified_gmt":"2023-08-30T09:51:28","slug":"raspberry-pi-pico-video-output","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/sv\/raspberry-pi-pico-videoutgang\/","title":{"rendered":"Raspberry Pi Pico videoutg\u00e5ng"},"content":{"rendered":"<h2 class=\"wp-block-heading\">TL;DR<\/h2>\n\n\n\n<p>Raspberry Pi Pico \u00e4r en otrolig liten mikrokontroller. \u00c4ven om den inte har ett inbyggt videoutg\u00e5ngsgr\u00e4nssnitt, som dess st\u00f6rre Raspberry Pi Zero \/ 1 \/ 2 \/ 3 \/ 4 \/ 400 syskon (HDMI \/ dubbel HDMI i deras fall), <strong>\u00e4r det m\u00f6jligt att l\u00e4gga till en videoutg\u00e5ng till Pico!<\/strong> (Som VGA eller DVI via en HDMI-kontakt, l\u00e4s vidare f\u00f6r detaljer) <\/p>\n\n\n\n<p>I det h\u00e4r inl\u00e4gget f\u00f6rklarar vi varf\u00f6r en videoutg\u00e5ng \u00e4r en mycket speciell funktion f\u00f6r mikrokontroller, och vilka typer av videoutg\u00e5ngar du kan bygga eller k\u00f6pa till din Pico. Vi visar ocks\u00e5 lite exempelkod - redan f\u00f6rkompilerad \u00e5t dig, s\u00e5 att du kan ladda ner den direkt, och sedan pratar vi om vad du beh\u00f6ver \u00e4ndra f\u00f6r att f\u00e5 den att k\u00f6ra. <\/p>\n\n\n\n<p>V\u00e5r systerbutik, <a href=\"https:\/\/buyzero.de\">buyzero.de<\/a>s\u00e4ljer en m\u00e4ngd olika Pico-tillbeh\u00f6r - bland annat <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico\">DVI-strumpan<\/a>, och <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\">VGA-b\u00e4rarkort f\u00f6r Pico<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578832052\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/Raspberry-Pi-Pico-Video-Output-DVI-Sock-withPicoComfort-1024x683.jpg\" alt=\"\" class=\"wp-image-768\" style=\"width:438px;height:292px\" width=\"438\" height=\"292\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/Raspberry-Pi-Pico-Video-Output-DVI-Sock-withPicoComfort-1024x683.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/Raspberry-Pi-Pico-Video-Output-DVI-Sock-withPicoComfort-300x200.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/Raspberry-Pi-Pico-Video-Output-DVI-Sock-withPicoComfort-768x512.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/Raspberry-Pi-Pico-Video-Output-DVI-Sock-withPicoComfort-1536x1024.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/Raspberry-Pi-Pico-Video-Output-DVI-Sock-withPicoComfort.jpg 1600w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><\/a><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578832052\">Pico DVI strumpa<\/a><\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/raspberry-pi-pico-vga-audio-expansionboard-diagonal1-1024x640.jpeg\" alt=\"\" class=\"wp-image-770\" style=\"width:488px;height:305px\" width=\"488\" height=\"305\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/raspberry-pi-pico-vga-audio-expansionboard-diagonal1-1024x640.jpeg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/raspberry-pi-pico-vga-audio-expansionboard-diagonal1-300x188.jpeg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/raspberry-pi-pico-vga-audio-expansionboard-diagonal1-768x480.jpeg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/raspberry-pi-pico-vga-audio-expansionboard-diagonal1.jpeg 1280w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\">Pico VGA &amp; Audio expansionskort (st\u00f6der \u00e4ven microSD!)<\/a><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Obs: Pico har inte ett Linux-operativsystem som <a href=\"https:\/\/buyzero.de\/collections\/boards-kits\/products\/raspberry-pi-zero-w?variant=6146390491163\">Raspberry Pi Zero W<\/a> till exempel. S\u00e5 du kommer troligen att beh\u00f6va dyka lite djupare f\u00f6r att l\u00e4ra dig hur du kodar och laddar upp dina applikationer till Pico. Om det inte \u00e4r din grej, <a href=\"https:\/\/buyzero.de\/collections\/boards-kits\/products\/raspberry-pi-zero-w?variant=6146390491163\">Pi Zero W<\/a> kan vara en b\u00e4ttre passform att b\u00f6rja spela runt \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/youtu.be\/H4qketn6QzI\" title=\"pico-videoutg\u00e5ng med hj\u00e4lp av DVI-stickan\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/H4qketn6QzI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Pico Video-utg\u00e5ng med hj\u00e4lp av DVI-strumpan - vilda animationer \u00e4r m\u00f6jliga. K\u00e4nner du igen ansiktet? L\u00e5t oss veta i kommentarerna<\/figcaption><\/figure>\n\n\n\n<p><strong>Om du har lyckats g\u00f6ra ett eget videoprojekt med Raspberry Pi Pico, l\u00e5t oss veta det i kommentarerna!<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Varf\u00f6r \u00e4r det en utmaning att l\u00e4gga till en Raspberry Pi Pico Video-utg\u00e5ng?<\/h2>\n\n\n\n<p> <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-400?variant=32091938881638\">Raspberry Pi 400<\/a>\u00e4r t.ex. baserad p\u00e5 BCM2711 SoC. Detta system-on-a-chip har specialiserad h\u00e5rdvara som tar hand om videoutg\u00e5ngen och f\u00f6rbereder den perfekt i det format som \u00e4r specificerat f\u00f6r det eller de specifika videogr\u00e4nssnitten, tv\u00e5 HDMI-portar i fallet med <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-400?variant=32091938881638\">Pi 400<\/a>. Den har ocks\u00e5 ett enormt minne (p\u00e5 4 GB), d\u00e4r videoutg\u00e5ngsdata kan lagras.<\/p>\n\n\n\n<p>F\u00f6r att f\u00f6rst\u00e5 detta b\u00e4ttre m\u00e5ste vi titta p\u00e5 n\u00e5gra grundl\u00e4ggande principer f\u00f6r videoutmatning fr\u00e5n datorer:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Visning och \u00f6verf\u00f6ring av video<\/h3>\n\n\n\n<p>Vi ser det som visas p\u00e5 sk\u00e4rmen \"p\u00e5 en g\u00e5ng\". V\u00e5r hj\u00e4rna har massivt parallella ledningar, d\u00e4r den tar in information fr\u00e5n alla tillg\u00e4ngliga n\u00e4thinneceller p\u00e5 en g\u00e5ng (konceller och stavceller).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/cat.jpg\" alt=\"\" class=\"wp-image-712\" style=\"width:584px;height:439px\" width=\"584\" height=\"439\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/cat.jpg 1000w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/cat-300x226.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/cat-768x578.jpg 768w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><figcaption class=\"wp-element-caption\">en katt med en fj\u00e4ril, ett exempel p\u00e5 vad vi vill visa f\u00f6r v\u00e5ra anv\u00e4ndare. <br>Foto av <a href=\"https:\/\/unsplash.com\/@_k_arinn?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Karina Vorozheeva<\/a> p\u00e5 <a href=\"https:\/\/unsplash.com\/s\/photos\/cat?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/figcaption><\/figure>\n<\/div>\n\n\n<p><em>(* mekanismen f\u00f6r \u00f6verf\u00f6ring till hj\u00e4rnan integrerar information \u00f6ver flera n\u00e4thinneceller, men faktum kvarst\u00e5r att mycket information \u00f6verf\u00f6rs parallellt. Titta in i<a href=\"https:\/\/en.wikipedia.org\/wiki\/Retina_bipolar_cell\"> bipol\u00e4ra celler <\/a>om du \u00e4r intresserad av att veta mer)<\/em><\/p>\n\n\n\n<p>Hj\u00e4rnan har dock latenser - den kan inte l\u00f6sa <a href=\"https:\/\/www.pubnub.com\/blog\/how-fast-is-realtime-human-perception-and-technology\/\">f\u00f6r\u00e4ndringar i visuella stimuli snabbare \u00e4n 13 ms<\/a>. (vilket \u00e4r ungef\u00e4r 1 av 75 bilder per sekund). <\/p>\n\n\n\n<p>F\u00f6r oss inneb\u00e4r det att om vi vill visa en riktigt j\u00e4mn animation m\u00e5ste vi visa cirka 60 olika statiska bilder per sekund.  V\u00e5r hj\u00e4rna kommer att tolka dessa statiska bilder som en j\u00e4mn och verklighetstrogen uppspelning. <\/p>\n\n\n\n<p>Vanligtvis vill vi att dessa bilder ska vara i f\u00e4rg. <\/p>\n\n\n\n<p>Vi har tre olika fotoreceptorer f\u00f6r f\u00e4rg, s\u00e5 sk\u00e4rmen visar bara dessa tre olika f\u00e4rger med olika ljusstyrka. \u00c5terigen kommer v\u00e5r hj\u00e4rna att syntetisera f\u00e4rgerna d\u00e4remellan utifr\u00e5n den information den f\u00e5r. (P\u00e5 en sidenote, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Purple\">lila <\/a>existerar egentligen inte som en egen v\u00e5gl\u00e4ngd - det \u00e4r en blandning av r\u00f6tt och bl\u00e5tt).<\/p>\n\n\n\n<p>Det finns tre prim\u00e4rf\u00e4rger:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>r\u00f6d<\/li>\n\n\n\n<li>gr\u00f6n <\/li>\n\n\n\n<li>bl\u00e5<\/li>\n<\/ul>\n\n\n\n<p>Tillsammans \u00e4r de k\u00e4nda som <a href=\"https:\/\/en.wikipedia.org\/wiki\/RGB_color_model\">RGB<\/a>. N\u00e4r man l\u00e4gger till alla tre f\u00e5r man vitt. Om man adderar r\u00f6tt till gr\u00f6nt f\u00e5r man gult, om man adderar gr\u00f6nt till bl\u00e5tt f\u00e5r man cyan och om man adderar bl\u00e5tt till r\u00f6tt f\u00e5r man magenta.  <\/p>\n\n\n\n<p>S\u00e5 vad vi verkligen vill f\u00e5 ut \u00e4r..:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li> tre olika f\u00e4rger, <\/li>\n\n\n\n<li>var och en med ett annat ljusstyrkev\u00e4rde<\/li>\n\n\n\n<li>idealiskt ca 60 olika v\u00e4rden per sekund (60 Hz)<\/li>\n\n\n\n<li>en viss sk\u00e4rmuppl\u00f6sning - t.ex. 640 x 480<\/li>\n<\/ul>\n\n\n\n<p>L\u00e5t oss ber\u00e4kna hur mycket data detta \u00e4r per sekund:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3 f\u00e4rger<\/li>\n\n\n\n<li>x 8 bitars f\u00e4rgdjup<\/li>\n\n\n\n<li>x 60 <\/li>\n\n\n\n<li>x 640 x 480<\/li>\n<\/ul>\n\n\n\n<p>= 442.368.000 bitar per sekund = ca. 422 MBit\/s<\/p>\n\n\n\n<p>(T\u00e4nk p\u00e5 att till exempel USB v1.1-gr\u00e4nssnittet p\u00e5 Pico har cirka 10 Mbit\/s - cirka 40 g\u00e5nger mindre genomstr\u00f6mning!)<\/p>\n\n\n\n<p>F\u00f6r att f\u00e5 ut den h\u00e4r informationen b\u00f6r du helst ocks\u00e5 lagra den som en bitmapp i RAM-minnet - en del av din applikation uppdaterar bilden i RAM-minnet, medan en annan del tar hand om att leverera data i ett format som en bildsk\u00e4rm kan arbeta med. Detta m\u00e5ste vara RAM, eftersom vi arbetar i h\u00f6ga hastigheter och m\u00e5ste kunna l\u00e4sa detta p\u00e5 ett tillf\u00f6rlitligt s\u00e4tt med sm\u00e5 latenser - vilket Flash-minne inte skulle ge.  <\/p>\n\n\n\n<p>L\u00e5t oss ber\u00e4kna hur mycket RAM-minne vi beh\u00f6ver:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>640 x 480 (uppl\u00f6sning)<\/li>\n\n\n\n<li>x 3 (f\u00e4rger)<\/li>\n\n\n\n<li>x 8 bitar (f\u00e4rgdjup)<\/li>\n<\/ul>\n\n\n\n<p>= 7372800 bitar = 900 kBytes (obs 1 byte = 8 bitar)<\/p>\n\n\n\n<p>Medan 900 kBytes ryms m\u00e5nga g\u00e5nger om i RAM-minnet p\u00e5 en <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-400?variant=32091938881638\">Raspberry Pi 400<\/a>, <strong>Pico har bara 264KB RAM<\/strong>.<\/p>\n\n\n\n<p>Som du ser m\u00e5ste vi minska n\u00e5gra av parametrarna (t.ex. uppl\u00f6sning, f\u00e4rgdjup, ...) om vi vill f\u00e5 plats med en bitmapp i RAM-minnet, eller s\u00e5 m\u00e5ste vi komma p\u00e5 n\u00e5gra smarta id\u00e9er om hur vi ska f\u00e5 det att fungera utan att lagra allt! <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Picos RP2040 PIO g\u00f6r det m\u00f6jligt att mata ut videodata<\/h3>\n\n\n\n<p>Slutligen, medan Raspberry Pi 400 och andra Raspberry Pi-modeller har dedikerade h\u00e5rdvarukretsar f\u00f6r att bearbeta all denna information och mata ut den p\u00e5 ett tillf\u00f6rlitligt s\u00e4tt, har Pico inga speciella kretsar som \u00e4r avsedda f\u00f6r videoutmatning. <\/p>\n\n\n\n<p>Men den har ett trick i rock\u00e4rmen! RP2040 har st\u00f6d f\u00f6r PIO (programmerbar IO).  PIO \u00e4r avsedd f\u00f6r att emulera olika gr\u00e4nssnitt med exakt timing, och den \u00e4r mycket, mycket kraftfull! Den kan programmeras att l\u00e4sa fr\u00e5n RAM-minnet och mata ut i h\u00f6ga hastigheter. <\/p>\n\n\n\n<p>Vi kommer att anv\u00e4nda PIO f\u00f6r att mata ut video till n\u00e5gra GPIO-stift och anv\u00e4nda ytterligare n\u00e5gra kretsar (motst\u00e5nd) f\u00f6r att f\u00e5 signalen i \u00f6nskat tillst\u00e5nd, beroende p\u00e5 vilket videoutg\u00e5ngsgr\u00e4nssnitt vi vill ansluta Pico till.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Historik f\u00f6r videoutg\u00e5ngsformat<\/h2>\n\n\n\n<p>Innan vi g\u00e5r in p\u00e5 hur du kan l\u00e4gga till en videoutg\u00e5ng till din Raspberry Pi Pico, l\u00e5t oss ta en titt p\u00e5 lite historia om videoutg\u00e5ngsformat.<\/p>\n\n\n\n<p>Som redan n\u00e4mnts kan det m\u00e4nskliga \u00f6gat inte uppfatta f\u00f6r\u00e4ndringar i bilder snabbare \u00e4n ca 13 ms. En av de f\u00f6rsta metoderna f\u00f6r att bygga datorsk\u00e4rmar var d\u00e4rf\u00f6r <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cathode-ray_tube\">CRT (katodstr\u00e5ler\u00f6r)<\/a> monitor.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/CRT_color.png\" alt=\"\" class=\"wp-image-706\" style=\"width:444px;height:333px\" width=\"444\" height=\"333\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/CRT_color.png 800w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/CRT_color-300x225.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/CRT_color-768x576.png 768w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><figcaption class=\"wp-element-caption\">CRT-bildsk\u00e4rmen anv\u00e4nder flera str\u00e5lar (2) f\u00f6r att skriva bilden p\u00e5 sk\u00e4rmen rad f\u00f6r rad (4), (5) visar en n\u00e4rbild av de f\u00e4rgglada fosforerna som adresseras individuellt av de olika str\u00e5larna. <a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\" target=\"_blank\" rel=\"noreferrer noopener\">CC BY-SA 3.0<\/a> <a href=\"https:\/\/commons.wikimedia.org\/wiki\/User:Peo~commonswiki\">Peo~commonswiki<\/a>&nbsp;<\/figcaption><\/figure>\n<\/div>\n\n\n<p>CRT:n har tre str\u00e5lkanoner som sveper pixel f\u00f6r pixel, linje f\u00f6r linje. (och sedan beh\u00f6ver en viss tid f\u00f6r att \u00e5terv\u00e4nda till startpunkten). Sk\u00e4rmen har f\u00e4rgglada fosforer, som forts\u00e4tter att avge ljus ett tag efter att str\u00e5len har passerat genom dem. Vid n\u00e4sta svep med str\u00e5lpistolen \u00f6ver just denna pixel kan str\u00e5lens intensitet ha f\u00f6r\u00e4ndrats, vilket vi ser som en m\u00f6rkare pixel. V\u00e5r hj\u00e4rna sm\u00e4lter samman de intilliggande f\u00e4rgglada fosforpixlarna till en pixel och kan inte m\u00e4rka ljusf\u00f6r\u00e4ndringarna mellan str\u00e5lsvepningarna. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/monitor-crt-kinescope-verrrr-1550196-1280x960-1-1024x768.jpg\" alt=\"\" class=\"wp-image-704\" style=\"width:466px;height:350px\" width=\"466\" height=\"350\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/monitor-crt-kinescope-verrrr-1550196-1280x960-1-1024x768.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/monitor-crt-kinescope-verrrr-1550196-1280x960-1-300x225.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/monitor-crt-kinescope-verrrr-1550196-1280x960-1-768x576.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/monitor-crt-kinescope-verrrr-1550196-1280x960-1.jpg 1280w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><figcaption class=\"wp-element-caption\">CRT n\u00e4rbild, som visar de f\u00e4rgglada fosforprickarna. av: FreeImages.com \/ hubert jelen<\/figcaption><\/figure>\n<\/div>\n\n\n<p>P\u00e5 s\u00e5 s\u00e4tt skapas en illusion av en r\u00f6rlig bild. <\/p>\n\n\n\n<p>I sj\u00e4lva verket beh\u00f6ver inte alla data finnas med i b\u00f6rjan av bilden - men <strong>bara det aktuella v\u00e4rdet f\u00f6r pixelbrigthness<\/strong>. Str\u00e5lens intensitet kommer att modifieras i enlighet med detta. Vi kan anv\u00e4nda en analog signal f\u00f6r detta - till exempel \u00f6kar ljusstyrkan om sp\u00e4nningen \u00f6kas. <\/p>\n\n\n\n<p>Vi beh\u00f6ver tre olika ledningar f\u00f6r de olika f\u00e4rgerna (f\u00f6r att driva varje str\u00e5lkanon individuellt), och vi beh\u00f6ver ett s\u00e4tt att meddela bildsk\u00e4rmen n\u00e4r en ny rad m\u00e5ste startas och n\u00e4r en ny bild m\u00e5ste startas (n\u00e4r alla rader har visats).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">VGA (video graphics array)<\/h3>\n\n\n\n<p>VGA utformades med tanke p\u00e5 dessa CRT-sk\u00e4rmar. Den \u00e4r fortfarande ganska vanlig som ing\u00e5ng p\u00e5 bildsk\u00e4rmar, \u00e4ven om den blir alltmer f\u00f6r\u00e5ldrad i takt med att vi \u00f6verg\u00e5r till helt digital \u00f6verf\u00f6ring (mer om det senare).<\/p>\n\n\n\n<p>Det h\u00e4r \u00e4r ocks\u00e5 den enklaste videoutg\u00e5ngsstandarden att f\u00e5 att fungera p\u00e5 Pico.  <\/p>\n\n\n\n<p>F\u00f6rutom en specifikation (med standarduppl\u00f6sningsl\u00e4gen) angavs en kontakt, VGA-kontakten:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port-1024x768.jpg\" alt=\"\" class=\"wp-image-716\" style=\"width:469px;height:352px\" width=\"469\" height=\"352\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port-1024x768.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port-300x225.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port-768x576.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port-1536x1152.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg 1547w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><figcaption class=\"wp-element-caption\">VGA-port; foto av Duncan Lithgow<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Den har 15 stift:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>RED (r\u00f6d video)<\/li>\n\n\n\n<li>GR\u00d6N (gr\u00f6n video)<\/li>\n\n\n\n<li>BLUE (bl\u00e5 video)<\/li>\n\n\n\n<li>ID2\/RES (reserverad)<\/li>\n\n\n\n<li>GND (jord HSync)<\/li>\n\n\n\n<li>RED_RTN (r\u00f6d retur, analog jord f\u00f6r r\u00f6tt)<\/li>\n\n\n\n<li>GREEN_RTN (gr\u00f6n retur, analog jord f\u00f6r gr\u00f6nt)<\/li>\n\n\n\n<li>BLUE_RTN (bl\u00e5 retur, analog jord f\u00f6r bl\u00e5)<\/li>\n\n\n\n<li>KEY\/PWR (+5 V DC driver EDID EEPROM-chip p\u00e5 vissa bildsk\u00e4rmar)<\/li>\n\n\n\n<li>GND (jord VSync, DDC)<\/li>\n\n\n\n<li>ID0\/RES (reserverad)<\/li>\n\n\n\n<li>ID1\/SDA (I2C-data sedan DDC2)<\/li>\n\n\n\n<li>HSync (horisontell synkronisering)<\/li>\n\n\n\n<li>VSync (vertikal synkronisering)<\/li>\n\n\n\n<li>ID3\/SCL (I2C-klocka sedan DDC2)<\/li>\n<\/ol>\n\n\n\n<p>VGA-kablar kan st\u00f6dja olika uppl\u00f6sningar, f\u00e4rgdjup och uppdateringsfrekvenser, medan ordet \"VGA\" n\u00e4r det g\u00e4ller uppl\u00f6sningen vanligtvis betyder 640 x 480.<\/p>\n\n\n\n<p>Som du ser finns det <strong>tre ledningar som b\u00e4r bilddata, en f\u00f6r varje f\u00e4rg<\/strong>. Signalen \u00f6verf\u00f6rs med en toppsp\u00e4nning (max) p\u00e5 0,7 V. Signalerna som \u00f6verf\u00f6rs f\u00f6r f\u00e4rgerna \u00e4r analoga till sin natur - h\u00f6gre sp\u00e4nningar \u00f6kar ljusstyrkan, en sp\u00e4nning p\u00e5 0 betyder att pixeln \u00e4r m\u00f6rk \/ avst\u00e4ngd. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">F\u00e5 VGA-utg\u00e5ngen att fungera p\u00e5 Pico <\/h3>\n\n\n\n<p>Det inneb\u00e4r att Picos digitala utg\u00e5ng p\u00e5 3,3 V har tillr\u00e4ckligt h\u00f6g sp\u00e4nning f\u00f6r att kunna driva RGB-stiften till VGA-kabeln (som f\u00f6rv\u00e4ntar sig en sp\u00e4nning p\u00e5 0-0,7 V). Vi m\u00e5ste faktiskt minska sp\u00e4nningen genom att anv\u00e4nda motst\u00e5nd. <\/p>\n\n\n\n<p>Vi kan bygga en enkel DAC (digital analog-omvandlare) genom att kombinera flera motst\u00e5nd och GPIO-stift. Beroende p\u00e5 vilken kombination av GPIO-pinnar som \u00e4r aktiva vid varje givet tillf\u00e4lle har vi olika sp\u00e4nningsniv\u00e5er (= ljusstyrka): <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-15.png\" alt=\"\" class=\"wp-image-717\" style=\"width:487px;height:284px\" width=\"487\" height=\"284\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-15.png 700w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-15-300x175.png 300w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><figcaption class=\"wp-element-caption\">En enkel VGA DAC, bilden \u00e4r h\u00e4mtad fr\u00e5n \"H\u00e5rdvarudesign med RP2040\" <\/figcaption><\/figure>\n<\/div>\n\n\n<p>Som du kan se p\u00e5 bilden ovan driver fem GPIO:er (0-4) en kanal (r\u00f6d i det h\u00e4r fallet), vilket ger oss ett fem-bitars djup. Motst\u00e5nden \u00e4r viktade 1:2:4:8:16, till exempel har den minst signifikanta biten (LSB) av r\u00f6tt ett 8,06K-motst\u00e5nd. <\/p>\n\n\n\n<p>N\u00e4r du f\u00f6rs\u00f6ker bygga den h\u00e4r kretsen b\u00f6r du v\u00e4lja <strong>1 % toleransmotst\u00e5nd<\/strong> f\u00f6r att f\u00e5 en bra bild.<\/p>\n\n\n\n<p>V\u00e4nligen se \"<a href=\"https:\/\/datasheets.raspberrypi.org\/rp2040\/hardware-design-with-rp2040.pdf\">H\u00e5rdvarukonstruktion med RP2040<\/a>\" f\u00f6r att f\u00f6rst\u00e5 hur motst\u00e5ndsv\u00e4rdena har ber\u00e4knats. Kort sagt, om vi driver dem alla samtidigt f\u00e5r vi en sp\u00e4nning p\u00e5 0,74 V, vilket \u00e4r OK f\u00f6r v\u00e5ra syften.<\/p>\n\n\n\n<p>Mer specifikt f\u00f6resl\u00e5r den h\u00e4r referensdesignen att man st\u00f6der ett vanligt 16-bitars RGB-dataformat (RGB-565), som anv\u00e4nder 5 bitar f\u00f6r r\u00f6tt och bl\u00e5tt och 6 f\u00f6r gr\u00f6nt. Vi kan minska den faktiska fysiska utmatningen till den gr\u00f6na till 5 GPIO-stift som f\u00f6r de andra f\u00e4rgerna, f\u00f6r att spara ett stift.<\/p>\n\n\n\n<p>Dessutom beh\u00f6vs ytterligare 2 stift f\u00f6r horisontell och vertikal blankingtiming (HSYNC och VSYNC).<\/p>\n\n\n\n<p>Detta ger oss totalt 17 GPIO-stift f\u00f6r att driva en VGA-utg\u00e5ng. Lyckligtvis har Pico 26 tillg\u00e4ngliga GPIO-stift, vilket g\u00f6r att vi kan driva VGA-utg\u00e5ngen.<\/p>\n\n\n\n<p>Som tidigare n\u00e4mnts kan Pico ocks\u00e5 driva dessa stift vid n\u00f6dv\u00e4ndiga frekvenser och med exakt timing, tack vare RP2040:s PIO-funktion (programmerbar I\/O). <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Raspberry Pi Pico VGA-videoutg\u00e5ngsh\u00e5rdvara<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-16.png\" alt=\"\" class=\"wp-image-724\" style=\"width:465px;height:320px\" width=\"465\" height=\"320\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-16.png 682w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-16-300x207.png 300w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><\/a><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\">Demokort f\u00f6r Raspberry Pi Pico VGA, SD-kort och ljud<\/a> - bilden \u00e4r h\u00e4mtad fr\u00e5n handboken Hardware Design with the RP2040<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Raspberry Pi har designat och \u00f6ppet tillg\u00e4ngliggjort ett b\u00e4rarkort f\u00f6r Pico som visar upp olika funktioner:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VGA-utg\u00e5ng<\/li>\n\n\n\n<li>knappar<\/li>\n\n\n\n<li>microSD-kortplats <\/li>\n\n\n\n<li>ljudutg\u00e5ngar (analog PWM, digital I2S)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">K\u00f6p Pico VGA \/ Audio \/ microSD-kort<\/h3>\n\n\n\n<p><s>Vi (<a href=\"https:\/\/buyzero.de\">buyzero.de<\/a>) h\u00e5ller f\u00f6r n\u00e4rvarande p\u00e5 att f\u00e5 detta referensdesignkort byggt och monterat \u00e5t oss. <a href=\"https:\/\/buyzero.de\/pages\/kontakt\">Kontakta oss om du vill bli informerad n\u00e4r styrelsen kan k\u00f6pas<\/a>!<\/s><\/p>\n\n\n\n<p>The<a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\"> Pico VGA Board finns nu att k\u00f6pa fr\u00e5n oss, begr\u00e4nsat antal i lager<\/a>! <\/p>\n\n\n\n<p>Under tiden har Pimoroni ocks\u00e5 skapat en version av denna br\u00e4da, de kallar den <a href=\"https:\/\/shop.pimoroni.com\/products\/pimoroni-pico-vga-demo-base\">Pimoroni Pico VGA Demo Bas<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Till\u00e4gg: varje stift p\u00e5 de 15 rgb-utg\u00e5ngsstiften kommer fortfarande att beh\u00f6va drivas med cirka 17,58 Mbit\/s, vilket fortfarande \u00e4r en imponerande - men mycket mer hanterbar siffra!<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Programvara som kr\u00e4vs f\u00f6r att driva VGA-utg\u00e5ngen<\/h3>\n\n\n\n<p>Eftersom vi arbetar med Pico finns det inga \"grafikdrivrutiner\" som vi bara kan installera. Vi m\u00e5ste skriva koden sj\u00e4lva ... eller inte \ud83d\ude42<\/p>\n\n\n\n<p>Lyckligtvis har de som har designat h\u00e5rdvarukortet \u00e5t oss redan levererat en del kod som vi kan anv\u00e4nda, s\u00e5 att vi kan fokusera p\u00e5 v\u00e5rt projekt. <\/p>\n\n\n\n<p>Exempel p\u00e5 kod som du kan anv\u00e4nda finns i pico-playground Repository:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\">https:\/\/github.com\/raspberrypi\/pico-playground<\/a><\/li>\n<\/ul>\n\n\n\n<p>I det h\u00e4r arkivet finns en enkel filmspelare som heter <a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/tree\/master\/apps\/popcorn\">popcorn<\/a> (som spelar upp filmer i ett anpassat format). A <a href=\"https:\/\/drive.google.com\/file\/d\/1q3szTVccPZ08v_TMDxy9ZgqeOOXXwHCX\/view?usp=sharing\">big buck bunny, 1,6 GB i storlek kan laddas ner h\u00e4r<\/a>. Observera att detta \u00e4r r\u00e5a diskbilder som ska skrivas till ett SD-kort - detta exempel f\u00f6ruts\u00e4tter att du har VGA-demokortet, som har en SD-kortplats. Instruktioner f\u00f6r <a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/apps\/popcorn\/converter\/README.md\">konvertera filmer <\/a>\u00e4r ocks\u00e5 angivna.<\/p>\n\n\n\n<p>Koden anv\u00e4nder sig av <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/blob\/master\/src\/common\/pico_scanvideo\">pico_scanvideo <\/a>biblioteket (pico\/scanvideo.h) fr\u00e5n <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\">pico_extras <\/a>f\u00f6rvar. Ta ocks\u00e5 en titt p\u00e5 det f\u00f6rvaret f\u00f6r ljudprovkod!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/tree\/master\/src\/common\/pico_scanvideo\">pico_scanvideo <\/a>- inneh\u00e5ller omfattande dokumentation!<\/li>\n<\/ul>\n\n\n\n<p>API:et matar ut parallell RGB-data och synksignal p\u00e5 stift f\u00f6r DPI VGA (med hj\u00e4lp av motst\u00e5nds-DAC, enligt beskrivningen ovan). <\/p>\n\n\n\n<p>En bra po\u00e4ng:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Standardprogrammet PIO scanline accepterar run-l\u00e4ngdskodade data - det betyder att du kan spara RAM f\u00f6r att generera platta f\u00e4rgomr\u00e5den (jag t\u00e4nker p\u00e5 spel h\u00e4r!)<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I allm\u00e4nhet vill du anv\u00e4nda <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/blob\/master\/src\/common\/pico_scanvideo\">pico_scanvideo bibliotek <\/a>ist\u00e4llet f\u00f6r att utveckla VGA-utg\u00e5ngskod fr\u00e5n b\u00f6rjan \ud83d\ude42 \ud83d\ude42<\/p>\n<cite>god kodningspraxis<\/cite><\/blockquote>\n\n\n\n<p><strong>Fler demos<\/strong><\/p>\n\n\n\n<p>Kolla in de <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/tree\/master\/src\/common\/pico_scanvideo\">scanvideo-katalog i pico-playground-f\u00f6rvaret<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/scanvideo\/mandelbrot\">mandelbrot<\/a>: en mandelbrotgenerator som anv\u00e4nder en 320x240x16 framebuffer<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/scanvideo\/sprite_demo\">sprite_demo<\/a>: studsande Eben-huvuden (video h\u00f6gst upp p\u00e5 v\u00e5r sida!)<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/scanvideo\/test_pattern\">test_m\u00f6nster<\/a>: Visa f\u00e4rgf\u00e4lt<\/li>\n<\/ul>\n\n\n\n<p><strong>Anv\u00e4nda VGA-kortet<\/strong><\/p>\n\n\n\n<p>Du m\u00e5ste skicka en ytterligare parameter till CMake under kompileringen:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"-DPICO_BOARD=vgaboard\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">DPICO_BOARD<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9\">vgaboard<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/forums.pimoroni.com\/t\/pico-vga-demo-board-instructions-information\/16296\/8\">https:\/\/forums.pimoroni.com\/t\/pico-vga-demo-board-instructions-information\/16296\/8<\/a><\/li>\n<\/ul>\n\n\n\n<p><em><strong>TBD: L\u00e4gg till steg-f\u00f6r-steg-guider<\/strong><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DVI: Digitalt visuellt gr\u00e4nssnitt<\/h2>\n\n\n\n<p>Tekniken g\u00e5r vidare. Livet g\u00e5r vidare. CRT-sk\u00e4rmarna blev alltmer f\u00f6r\u00e5ldrade och ersattes av modernare platta sk\u00e4rmar med digitala gr\u00e4nssnitt. Inga r\u00f6rliga balkar, bara pixlar. <\/p>\n\n\n\n<p>Under en tid fortsatte signalerna att vara analoga - men det \u00e4r inte s\u00e4rskilt \u00f6nskv\u00e4rt, eftersom vi m\u00e5ste ta n\u00e5got digitalt, omvandla det till n\u00e5got analogt och sedan omvandla det tillbaka till n\u00e5got digitalt igen. Bilden blir mindre exakt och vi har ytterligare kretsar som vi skulle kunna avst\u00e5 fr\u00e5n. <\/p>\n\n\n\n<p>Nu kommer DVI in i bilden. P\u00e5 ett smart s\u00e4tt erbj\u00f6ds ett alternativ f\u00f6r att \u00f6verf\u00f6ra analoga signaler ocks\u00e5, s\u00e5 enkla DVI till VGA-adaptrar \/ kablar kunde byggas. Naturligtvis m\u00e5ste grafikkortet mata ut b\u00e5de analoga och digitala data. Men detta hj\u00e4lpte till att f\u00e5 standarden accepterad och att den blev utbredd. <\/p>\n\n\n\n<p>H\u00e4r \u00e4r vi intresserade av de digitala signalerna (<strong>DVI-D<\/strong>), eftersom vi skulle vilja bitbanga dem fr\u00e5n Raspberry Pi Pico.<\/p>\n\n\n\n<p>Med DVI-D \u00f6verf\u00f6rs bilddata p\u00e5 ett seriellt s\u00e4tt. <\/p>\n\n\n\n<p>En \"single link\" (mest grundl\u00e4ggande) DVI-anslutning best\u00e5r av <strong>fyra <\/strong>s\u00e5 kallade TMDS-l\u00e4nkar (transition minimized differential signaling):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>r\u00f6d<\/li>\n\n\n\n<li>gr\u00f6n <\/li>\n\n\n\n<li>bl\u00e5<\/li>\n\n\n\n<li>pixelklocka<\/li>\n<\/ul>\n\n\n\n<p>Differentiell signalering anv\u00e4nds f\u00f6r att minimera interferens (eftersom <\/p>\n\n\n\n<p>Vi har totalt 24 bitar per pixel (8 bitar x 3 f\u00e4rger) och kodar data med hj\u00e4lp av 8b10b-kodning (8 bitar mappas till 10-bitars symboler p\u00e5 den faktiska fysiska linjen f\u00f6r att bland annat uppn\u00e5 DC-balans). <\/p>\n\n\n\n<p>DVI behandlar pixlarna p\u00e5 samma s\u00e4tt som VGA: allt \u00f6verf\u00f6rs p\u00e5 nytt varje g\u00e5ng bilden \"startar\" igen, och data klockas exakt. Detta \u00e4r som en telefonlinje, d\u00e4r linjen st\u00e4ndigt \u00e4r i bruk n\u00e4r tv\u00e5 personer pratar. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Obs: i motsats till detta, <a href=\"https:\/\/en.wikipedia.org\/wiki\/DisplayPort\">DisplayPort behandlar data som paket<\/a> - vilket har ett antal f\u00f6rdelar.<\/p>\n<\/blockquote>\n\n\n\n<p>Till skillnad fr\u00e5n VGA-exemplet ovan inneb\u00e4r detta mycket h\u00f6gre datavolymer eftersom data skickas digitalt i st\u00e4llet f\u00f6r analoga ljusstyrkev\u00e4rden. <\/p>\n\n\n\n<p><a href=\"https:\/\/twitter.com\/wren6991\">Luke Wren<\/a>, en ingenj\u00f6r p\u00e5 Raspberry Pi, trodde att RP2040 (hj\u00e4rtat i Pico) ocks\u00e5 skulle kunna driva DVI-utg\u00e5ng, \u00e5terigen med hj\u00e4lp av PIO.<\/p>\n\n\n\n<p>Resultatet \u00e4r<a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\"> PicoDVI f\u00f6rvaringsplats<\/a> och projekt, och de <a href=\"https:\/\/github.com\/Wren6991\/Pico-DVI-Sock\">Pico DVI strumpa<\/a>.<\/p>\n\n\n\n<p>Luke Wren ber\u00e4knade att cirka <strong>252 Mbps seriella data<\/strong> m\u00e5ste drivas via de digitala GPIO-padsen - differentiell serie, som emuleras med tv\u00e5 single-ended-pads. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/github.com\/Wren6991\/PicoDVI\/blob\/master\/img\/dc_coupling.png?raw=true\" alt=\"dc_koppling.png\"\/><figcaption class=\"wp-element-caption\">K\u00e4lla: <a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\/blob\/master\/img\/dc_coupling.png\">Luke Wrens f\u00f6rvaringsplats<\/a> (BSD-3 licensierad)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Ovan ser du den krets som anv\u00e4nds f\u00f6r att driva DVI-utg\u00e5ngen (med hj\u00e4lp av en HDMI-kontakt, mer om detta nedan) - \u00e4r helt enkelt flera <strong>270 Ohm<\/strong> resistorer.<\/p>\n\n\n\n<p>Luke Wren har till och med g\u00e5tt \u00e4nnu l\u00e4ngre och lagt till dubbla DVI-utg\u00e5ngar till sin PicoDVI-layout med ett instickskort:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/github.com\/Wren6991\/PicoDVI\/blob\/master\/img\/two_displays.jpg?raw=true\" alt=\"tv\u00e5_displayer.jpg\" style=\"width:626px;height:324px\" width=\"626\" height=\"324\"\/><figcaption class=\"wp-element-caption\">Luke Wren demonstrerar <a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\">utmatning p\u00e5 tv\u00e5 sk\u00e4rmar <\/a>anv\u00e4nder sin egen design <\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">HDMI: ned\u00e5tkompatibel med DVI<\/h3>\n\n\n\n<p>HDMI \u00e4r n\u00e4sta steg i utvecklingen av kontakter (och konkurrerar med DisplayPort). Den \u00e4r helt kompatibel ned\u00e5t med de digitala DVI-signalerna - vilket inneb\u00e4r att du kan ha enkla, rent passiva DVI \/ HDMI-omvandlare. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pico DVI strumpa<\/h2>\n\n\n\n<p>Pico DVI Sock \u00e4r en enkel och billig l\u00f6sning f\u00f6r att l\u00e4gga till digital videoutg\u00e5ng till din Pi. Den har designats av Luke Wren (se beskrivning ovan). Det \u00e4r en DVI-utg\u00e5ng med en HDMI-kontakt. Eftersom HDMI \u00e4r ned\u00e5tkompatibelt med DVI kan du anv\u00e4nda en HDMI-kabel f\u00f6r att ansluta din Pico till HDMI-sk\u00e4rmar:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578832052\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/github.com\/Wren6991\/Pico-DVI-Sock\/blob\/master\/img\/soldering_04.jpg?raw=true\" alt=\"l\u00f6dning_04.jpg\" style=\"width:612px;height:214px\" width=\"612\" height=\"214\"\/><\/a><figcaption class=\"wp-element-caption\">Foto av <a href=\"https:\/\/github.com\/Wren6991\/Pico-DVI-Sock\">Luke Wren<\/a>, CC0-1.0-licens<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Programmering av Pico DVI-sockan<\/h3>\n\n\n\n<p><strong>TL;DR<\/strong><\/p>\n\n\n\n<p>Du kan ladda ner v\u00e5r <strong><a href=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/picodvi-test.zip\">picodvi-test.zip<\/a><\/strong> och b\u00f6rja leka med .UF2-exempelkompileringarna i den. Den inneh\u00e5ller ocks\u00e5 en PDF som ger dig en steg-f\u00f6r-steg-guide.<\/p>\n\n\n\n<p><strong>Exempel p\u00e5 kod<\/strong><\/p>\n\n\n\n<p>Luke Wren tillhandah\u00e5ller <a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\">kodexempel i hans arkiv<\/a>. Men f\u00f6r att anv\u00e4nda dem med Pico DVI Sock m\u00e5ste du st\u00e4lla in r\u00e4tt konfiguration att anv\u00e4nda. Vi visar dig hur i denna mini-tutorial.<\/p>\n\n\n\n<p><strong>F\u00f6ruts\u00e4ttningar f\u00f6r installation<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">apt<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cmake<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">gcc<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">arm<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">none<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">eabi<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">libnewlib<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">arm<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">none<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">eabi<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">essential<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Klona PicoDVI repo fr\u00e5n Luke Wren:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"cd ~mkdir picocd pico git clone https:\/\/github.com\/raspberrypi\/pico-sdkcd pico-sdkgit submodule update --initcd ~\/picogit clone https:\/\/github.com\/Wren6991\/PicoDVI.git\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">~<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">mkdir<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pico<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pico<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">clone<\/span><span style=\"color: #D8DEE9FF\"> https<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #616E88\">\/\/github.com\/raspberrypi\/pico-sdk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pico<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">sdk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">submodule<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">update<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">--<\/span><span style=\"color: #D8DEE9\">init<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">~\/<\/span><span style=\"color: #D8DEE9\">pico<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">clone<\/span><span style=\"color: #D8DEE9FF\"> https<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #616E88\">\/\/github.com\/Wren6991\/PicoDVI.git<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Om du vill anv\u00e4nda kodexemplen med Pico DVI Sock m\u00e5ste du st\u00e4lla in <strong>korrekt stiftkonfiguration <\/strong>att anv\u00e4nda. L\u00e4gg till f\u00f6ljande rad i <strong>common_dvi_pin_configs.h<\/strong> bara <strong>f\u00f6re <\/strong>den f\u00f6rsta #ifndef<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#define DEFAULT_DVI_SERIAL_CONFIG pico_sock_cfg\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9FF\">#<\/span><span style=\"color: #D8DEE9\">define<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">DEFAULT_DVI_SERIAL_CONFIG<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pico_sock_cfg<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"114\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/image.png\" alt=\"\" class=\"wp-image-762\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/image.png 552w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/image-300x62.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Bygga upp exemplen<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"cd PicoDVI\/software\/mkdir buildcd buildexport PICO_SDK_PATH=~\/pico\/pico-sdkmake -j$(nproc)\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">PicoDVI<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">software<\/span><span style=\"color: #81A1C1\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">mkdir<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">export<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">PICO_SDK_PATH<\/span><span style=\"color: #81A1C1\">=~\/<\/span><span style=\"color: #D8DEE9\">pico<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">pico<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">sdk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">make<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #88C0D0\">j$<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">nproc<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Installera exemplen p\u00e5 Pico<\/strong><\/p>\n\n\n\n<p>De byggda exemplen kommer att finnas i mappen software\/build\/apps. <\/p>\n\n\n\n<p>H\u00e5ll BOOTSEL-tangenten p\u00e5 Pico intryckt och anslut sedan kortet till din dator med microUSB-kontakten. Kopiera och klistra in den .uf2-fil som du vill prova - t.ex. sprite_bounce.uf2 - p\u00e5 Pico. <\/p>\n\n\n\n<p>Pico startar om automatiskt och du b\u00f6r kunna se utmatningen p\u00e5 HDMI-kontakten (kom ih\u00e5g att det egentligen \u00e4r DVI :-)). <\/p>\n\n\n\n<p><strong>Ladda ner<\/strong><\/p>\n\n\n\n<p>Du kan ladda ner v\u00e5r <strong><a href=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/picodvi-test.zip\">picodvi-test.zip<\/a><\/strong> och b\u00f6rja leka med .UF2-exempelkompileringarna i den. Den inneh\u00e5ller ocks\u00e5 en PDF som ger dig en steg-f\u00f6r-steg-guide. Om <em>sprite_bounce.uf2<\/em> inte fungerar f\u00f6r dig, prova en annan bildsk\u00e4rm - det \u00e4r m\u00f6jligt att inte alla bildsk\u00e4rmar \u00e4r kompatibla med denna videoutg\u00e5ng.<\/p>\n\n\n\n<p>Om du har kommit s\u00e5 l\u00e5ngt, l\u00e5t oss veta i kommentarerna hur det fungerade f\u00f6r dig och vilka projektid\u00e9er du har kommit p\u00e5!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">K\u00f6p en Pico DVI-strumpa<\/h3>\n\n\n\n<p>V\u00e5r systersida, buyzero.de, lagerf\u00f6r <strong><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578799284\">Pico DVI strumpa <\/a><\/strong>i tv\u00e5 varianter: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578799284\">Endast Pico DVI Sock<\/a> (f\u00f6r sj\u00e4lvl\u00f6dning) @ 6,58 \u20ac f\u00f6r n\u00e4rvarande<\/li>\n\n\n\n<li><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578832052\">Pico DVI Sock p\u00e5 Pico, med f\u00f6rl\u00f6dda ledare<\/a> @ 17,89 \u20ac f\u00f6r n\u00e4rvarande<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Sidenote: DBI- och DSI-sk\u00e4rmar<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/tree\/master\/src\/common\/pico_scanvideo\">https:\/\/github.com\/raspberrypi\/pico-extras\/tree\/master\/src\/common\/pico_scanvideo<\/a><\/li>\n<\/ul>\n\n\n\n<p>Raspberry Pi Pico Extras-arkivet har platsh\u00e5llare f\u00f6r DBI (16-bitars MIPI DBI-sk\u00e4rmar - med data som skickas parallellt) och DSI (MIPI seriella sk\u00e4rmar), s\u00e5 vi kanske f\u00e5r se st\u00f6d f\u00f6r dessa sk\u00e4rmar i framtiden ocks\u00e5.<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fraspberry-pi-pico-videoutgang%2F&text=Raspberry%20Pi%20Pico%20Video%20Output\" title=\"Dela p\u00e5 X\" aria-label=\"Dela p\u00e5 X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fraspberry-pi-pico-videoutgang%2F\" title=\"Dela p\u00e5 Facebook\" aria-label=\"Dela p\u00e5 Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fraspberry-pi-pico-videoutgang%2F&text=Raspberry%20Pi%20Pico%20Video%20Output\" title=\"Dela p\u00e5 Telegram\" aria-label=\"Dela p\u00e5 Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fraspberry-pi-pico-videoutgang%2F\" title=\"Dela p\u00e5 Reddit\" aria-label=\"Dela p\u00e5 Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">dela<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>TL;DR Raspberry Pi Pico \u00e4r en otrolig liten mikrokontroller. \u00c4ven om den inte har ett inbyggt videoutg\u00e5ngsgr\u00e4nssnitt, som sina st\u00f6rre syskon Raspberry Pi Zero \/ 1 \/ 2 \/ 3 \/ 4 \/ 400 (HDMI \/ dubbel HDMI i deras fall), \u00e4r det m\u00f6jligt att l\u00e4gga till en videoutg\u00e5ng till Pico!...<\/p>","protected":false},"author":2,"featured_media":716,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[358,973,975,974,976,978,985,827,986,970,971,983,688,831,789,11,984,982,981,738,486,447,187,972,977,909,969,979,968,980],"class_list":["post-703","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi-pico","tag-audio","tag-bcm2711-soc","tag-black-and-white","tag-color","tag-crt","tag-dac","tag-dbi","tag-display","tag-dsi","tag-dual-screens","tag-dvi","tag-dvi-d","tag-gpio","tag-hdmi","tag-microcontrollers","tag-pico","tag-pico-dvi-sock","tag-pico-playground","tag-pimoroni-pico-vga","tag-pio","tag-project","tag-projects","tag-raspberry-pi","tag-raspberry-pi-zero-w","tag-rgb","tag-rp2040","tag-screen","tag-vga","tag-video","tag-video-output"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Raspberry Pi Pico Video Output | PiCockpit<\/title>\n<meta name=\"description\" content=\"Raspberry Pi Pico can output video in VGA and DVI formats - we show you how to do it, including hardware &amp; software instructions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/sv\/raspberry-pi-pico-videoutgang\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pi Pico Video Output | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"Raspberry Pi Pico can output video in VGA and DVI formats - we show you how to do it, including hardware &amp; software instructions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/sv\/raspberry-pi-pico-videoutgang\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-26T10:55:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-30T09:51:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1547\" \/>\n\t<meta property=\"og:image:height\" content=\"1160\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"Raspberry Pi Pico Video Output\",\"datePublished\":\"2021-02-26T10:55:33+00:00\",\"dateModified\":\"2023-08-30T09:51:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/\"},\"wordCount\":3281,\"commentCount\":21,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/SVGA_port.jpg\",\"keywords\":[\"Audio\",\"BCM2711 SoC\",\"black and white\",\"color\",\"CRT\",\"DAC\",\"DBI\",\"display\",\"DSI\",\"dual screens\",\"DVI\",\"DVI-D\",\"GPIO\",\"hdmi\",\"microcontrollers\",\"Pico\",\"Pico DVI sock\",\"pico playground\",\"Pimoroni Pico VGA\",\"PIO\",\"project\",\"Projects\",\"Raspberry Pi\",\"Raspberry Pi Zero W\",\"RGB\",\"RP2040\",\"screen\",\"VGA\",\"video\",\"video output\"],\"articleSection\":[\"Raspberry Pi Pico\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/\",\"name\":\"Raspberry Pi Pico Video Output | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/SVGA_port.jpg\",\"datePublished\":\"2021-02-26T10:55:33+00:00\",\"dateModified\":\"2023-08-30T09:51:28+00:00\",\"description\":\"Raspberry Pi Pico can output video in VGA and DVI formats - we show you how to do it, including hardware & software instructions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/SVGA_port.jpg\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/SVGA_port.jpg\",\"width\":1547,\"height\":1160},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi Pico\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/raspberry-pi-pico\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Raspberry Pi Pico Video Output\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/sv\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry Pi Pico videoutg\u00e5ng | PiCockpit","description":"Raspberry Pi Pico kan mata ut video i VGA- och DVI-format - vi visar dig hur du g\u00f6r det, inklusive instruktioner f\u00f6r maskinvara och programvara.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/picockpit.com\/raspberry-pi\/sv\/raspberry-pi-pico-videoutgang\/","og_locale":"sv_SE","og_type":"article","og_title":"Raspberry Pi Pico Video Output | PiCockpit","og_description":"Raspberry Pi Pico can output video in VGA and DVI formats - we show you how to do it, including hardware & software instructions.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/sv\/raspberry-pi-pico-videoutgang\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2021-02-26T10:55:33+00:00","article_modified_time":"2023-08-30T09:51:28+00:00","og_image":[{"width":1547,"height":1160,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg","type":"image\/jpeg"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Skriven av":"raspi berry","Ber\u00e4knad l\u00e4stid":"17 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"Raspberry Pi Pico Video Output","datePublished":"2021-02-26T10:55:33+00:00","dateModified":"2023-08-30T09:51:28+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/"},"wordCount":3281,"commentCount":21,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg","keywords":["Audio","BCM2711 SoC","black and white","color","CRT","DAC","DBI","display","DSI","dual screens","DVI","DVI-D","GPIO","hdmi","microcontrollers","Pico","Pico DVI sock","pico playground","Pimoroni Pico VGA","PIO","project","Projects","Raspberry Pi","Raspberry Pi Zero W","RGB","RP2040","screen","VGA","video","video output"],"articleSection":["Raspberry Pi Pico"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/","url":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/","name":"Raspberry Pi Pico videoutg\u00e5ng | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg","datePublished":"2021-02-26T10:55:33+00:00","dateModified":"2023-08-30T09:51:28+00:00","description":"Raspberry Pi Pico kan mata ut video i VGA- och DVI-format - vi visar dig hur du g\u00f6r det, inklusive instruktioner f\u00f6r maskinvara och programvara.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/SVGA_port.jpg","width":1547,"height":1160},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi Pico","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/raspberry-pi-pico\/"},{"@type":"ListItem","position":3,"name":"Raspberry Pi Pico Video Output"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"hallonb\u00e4r","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Jag \u00e4r h\u00e4r f\u00f6r att hj\u00e4lpa dig med alla dina Raspberry Pi-relaterade fr\u00e5gor och \u00e4lskar att dela med mig av nya projektid\u00e9er f\u00f6r Raspberry Pi och ge snabba tips. Sj\u00e4lvklart hj\u00e4lper jag dig ocks\u00e5 med PiCockpit och hur du kan g\u00f6ra din Raspberry Pi \u00e4nnu enklare att anv\u00e4nda med denna l\u00f6sning f\u00f6r \u00f6vervakning av Raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/sv\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/comments?post=703"}],"version-history":[{"count":29,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/703\/revisions"}],"predecessor-version":[{"id":5042,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/703\/revisions\/5042"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/media\/716"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/media?parent=703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/categories?post=703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/tags?post=703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}