{"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\/pt\/saida-de-video-do-raspberry-pi-pico\/","title":{"rendered":"Sa\u00edda de V\u00eddeo Raspberry Pi Pico"},"content":{"rendered":"<h2 class=\"wp-block-heading\">TL;DR<\/h2>\n\n\n\n<p>O Raspberry Pi Pico \u00e9 um pequeno microcontrolador incr\u00edvel. Embora n\u00e3o tenha uma interface de sa\u00edda de v\u00eddeo incorporada, como os seus irm\u00e3os maiores Raspberry Pi Zero \/ 1 \/ 2 \/ 3 \/ 4 \/ 400 (HDMI \/ double HDMI no caso deles), <strong>\u00e9 poss\u00edvel adicionar uma sa\u00edda de v\u00eddeo ao Pico!<\/strong> (Como VGA ou DVI atrav\u00e9s de um conetor HDMI, leia mais para obter detalhes) <\/p>\n\n\n\n<p>Neste post, vamos explicar porque \u00e9 que uma sa\u00edda de v\u00eddeo \u00e9 uma carater\u00edstica muito especial para os microcontroladores, e que tipos de sa\u00edda de v\u00eddeo pode construir ou comprar para o seu Pico. Tamb\u00e9m lhe mostraremos algum c\u00f3digo de exemplo - j\u00e1 pr\u00e9-compilado para si, para que possa descarreg\u00e1-lo diretamente, e depois falaremos sobre o que precisa de modificar para o fazer funcionar. <\/p>\n\n\n\n<p>A nossa loja irm\u00e3, <a href=\"https:\/\/buyzero.de\">buyzero.de<\/a>, vende uma variedade de acess\u00f3rios para o Pico - incluindo <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico\">a meia DVI<\/a>e o <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\">Placa de suporte VGA para o 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\">Suporte DVI para Pico<\/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\">Placa de expans\u00e3o Pico VGA e \u00e1udio (tamb\u00e9m suporta microSD!)<\/a><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Nota: o Pico n\u00e3o tem um sistema operativo Linux como o <a href=\"https:\/\/buyzero.de\/collections\/boards-kits\/products\/raspberry-pi-zero-w?variant=6146390491163\">Raspberry Pi Zero W<\/a> por exemplo. Por isso, o mais prov\u00e1vel \u00e9 que tenha de se aprofundar um pouco mais na aprendizagem de como codificar e carregar as suas aplica\u00e7\u00f5es para o Pico. Se n\u00e3o for esse o seu objetivo, <a href=\"https:\/\/buyzero.de\/collections\/boards-kits\/products\/raspberry-pi-zero-w?variant=6146390491163\">o Pi Zero W<\/a> talvez seja a melhor op\u00e7\u00e3o para come\u00e7ar a brincar \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=\"sa\u00edda de v\u00eddeo pico utilizando a meia DVI\" 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\">Sa\u00edda de v\u00eddeo Pico utilizando a meia DVI - s\u00e3o poss\u00edveis anima\u00e7\u00f5es selvagens. Reconheces o rosto? Deixe-nos saber nos coment\u00e1rios<\/figcaption><\/figure>\n\n\n\n<p><strong>Se conseguiu realizar o seu pr\u00f3prio projeto de v\u00eddeo com o Raspberry Pi Pico, diga-nos nos coment\u00e1rios!<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Porque \u00e9 que adicionar uma sa\u00edda de v\u00eddeo Raspberry Pi Pico \u00e9 um desafio?<\/h2>\n\n\n\n<p> <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-400?variant=32091938881638\">O Raspberry Pi 400<\/a>por exemplo, \u00e9 baseado no SoC BCM2711. Este system-on-a-chip possui um hardware especializado que se encarrega da sa\u00edda de v\u00eddeo, preparando-o perfeitamente no formato especificado para a(s) interface(s) de v\u00eddeo espec\u00edfica(s), duas portas HDMI no caso do <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-400?variant=32091938881638\">Pi 400<\/a>. Disp\u00f5e igualmente de uma enorme mem\u00f3ria (de 4 GB), na qual s\u00e3o armazenados os dados de sa\u00edda do v\u00eddeo.<\/p>\n\n\n\n<p>Para compreender melhor esta quest\u00e3o, \u00e9 necess\u00e1rio analisar alguns fundamentos da sa\u00edda de v\u00eddeo do computador:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Visualiza\u00e7\u00e3o e transmiss\u00e3o de v\u00eddeo<\/h3>\n\n\n\n<p>Vemos a imagem no ecr\u00e3 \"ao mesmo tempo\". O nosso c\u00e9rebro tem uma cablagem maci\u00e7amente paralela, na qual recebe informa\u00e7\u00f5es de todas as c\u00e9lulas da retina dispon\u00edveis ao mesmo tempo (c\u00e9lulas cone e c\u00e9lulas bastonete).<\/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\">um gato com uma borboleta, um exemplo do que queremos mostrar aos nossos utilizadores. <br>Foto por <a href=\"https:\/\/unsplash.com\/@_k_arinn?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Karina Vorozheeva<\/a> em <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>(* o mecanismo de transmiss\u00e3o para o c\u00e9rebro integra a informa\u00e7\u00e3o atrav\u00e9s de v\u00e1rias c\u00e9lulas da retina, mas o facto \u00e9 que muita informa\u00e7\u00e3o \u00e9 transmitida em paralelo. Veja em<a href=\"https:\/\/en.wikipedia.org\/wiki\/Retina_bipolar_cell\"> c\u00e9lulas bipolares <\/a>se estiver interessado em saber mais)<\/em><\/p>\n\n\n\n<p>O c\u00e9rebro, no entanto, tem lat\u00eancias - n\u00e3o \u00e9 capaz de resolver <a href=\"https:\/\/www.pubnub.com\/blog\/how-fast-is-realtime-human-perception-and-technology\/\">altera\u00e7\u00f5es nos est\u00edmulos visuais mais r\u00e1pidas do que 13 ms<\/a>. (que \u00e9 cerca de 1 em 75 fotogramas por segundo). <\/p>\n\n\n\n<p>Para n\u00f3s, isto significa que, se quisermos mostrar uma anima\u00e7\u00e3o realmente suave, temos de mostrar cerca de 60 imagens est\u00e1ticas diferentes por segundo.  O nosso c\u00e9rebro interpretar\u00e1 estas imagens est\u00e1ticas como uma reprodu\u00e7\u00e3o suave e realista. <\/p>\n\n\n\n<p>Normalmente, queremos que estas fotografias sejam a cores. <\/p>\n\n\n\n<p>Temos tr\u00eas fotorreceptores diferentes para a cor, pelo que o ecr\u00e3 apresenta apenas estas tr\u00eas cores diferentes com brilho diferente. Mais uma vez, o nosso c\u00e9rebro sintetiza as cores interm\u00e9dias a partir da informa\u00e7\u00e3o que recebe. (Numa nota \u00e0 parte, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Purple\">p\u00farpura <\/a>n\u00e3o existe realmente como um comprimento de onda pr\u00f3prio - \u00e9 uma mistura de vermelho e azul).<\/p>\n\n\n\n<p>Existem tr\u00eas cores prim\u00e1rias:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>vermelho<\/li>\n\n\n\n<li>verde <\/li>\n\n\n\n<li>azul<\/li>\n<\/ul>\n\n\n\n<p>Juntos, s\u00e3o conhecidos como <a href=\"https:\/\/en.wikipedia.org\/wiki\/RGB_color_model\">RGB<\/a>. Quando se juntam os tr\u00eas, obt\u00e9m-se o branco. A adi\u00e7\u00e3o do vermelho ao verde produz o amarelo, a adi\u00e7\u00e3o do verde ao azul produz o ciano e a adi\u00e7\u00e3o do azul ao vermelho produz o magenta.  <\/p>\n\n\n\n<p>Portanto, o que queremos realmente produzir \u00e9:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li> tr\u00eas cores diferentes, <\/li>\n\n\n\n<li>cada um com um valor de brilho diferente<\/li>\n\n\n\n<li>idealmente, cerca de 60 valores diferentes por segundo (60 Hz)<\/li>\n\n\n\n<li>uma determinada resolu\u00e7\u00e3o de ecr\u00e3 - por exemplo, 640 x 480<\/li>\n<\/ul>\n\n\n\n<p>Vamos calcular a quantidade de dados que isto representa por segundo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3 cores<\/li>\n\n\n\n<li>x profundidade de cor de 8 bits<\/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 bits por segundo = ca. 422 MBit\/s<\/p>\n\n\n\n<p>(Considere que, por exemplo, a interface USB v1.1 no Pico tem cerca de 10 Mbit\/s - cerca de 40 vezes menos d\u00e9bito!)<\/p>\n\n\n\n<p>Para produzir esta informa\u00e7\u00e3o, o ideal seria tamb\u00e9m guardar esta informa\u00e7\u00e3o como um mapa de bits na RAM - uma parte da aplica\u00e7\u00e3o actualizar\u00e1 a imagem na RAM, enquanto outra se encarregar\u00e1 de entregar os dados num formato com que um monitor possa trabalhar. Isto tem de ser RAM, uma vez que estamos a funcionar a alta velocidade e precisamos de ser capazes de ler esta informa\u00e7\u00e3o de forma fi\u00e1vel com pequenas lat\u00eancias - o que a mem\u00f3ria Flash n\u00e3o proporciona.  <\/p>\n\n\n\n<p>Vamos calcular a quantidade de RAM de que necessitamos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>640 x 480 (resolu\u00e7\u00e3o)<\/li>\n\n\n\n<li>x 3 (cores)<\/li>\n\n\n\n<li>x 8 bits (profundidade de cor)<\/li>\n<\/ul>\n\n\n\n<p>= 7372800 bits = 900 kBytes (nota: 1 Byte = 8 Bits)<\/p>\n\n\n\n<p>Enquanto 900 kBytes cabem muitas vezes na RAM de um <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-400?variant=32091938881638\">Framboesa Pi 400<\/a>, <strong>o Pico s\u00f3 tem 264 KB de RAM<\/strong>.<\/p>\n\n\n\n<p>Como v\u00ea, teremos de reduzir alguns dos par\u00e2metros (por exemplo, resolu\u00e7\u00e3o, profundidade de cor, ...) se quisermos que um mapa de bits caiba na RAM, ou teremos de ter algumas ideias inteligentes para o fazer funcionar sem armazenar tudo! <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O RP2040 PIO da Pico permite a sa\u00edda de dados de v\u00eddeo<\/h3>\n\n\n\n<p>Finalmente, enquanto o Raspberry Pi 400 e outros modelos Raspberry Pi t\u00eam circuitos de hardware dedicados para processar toda esta informa\u00e7\u00e3o e produzi-la de forma fi\u00e1vel, o Pico n\u00e3o tem circuitos especiais dedicados apenas \u00e0 sa\u00edda de v\u00eddeo. <\/p>\n\n\n\n<p>Mas tem um truque na manga! O RP2040 suporta PIO (IO program\u00e1vel).  O PIO \u00e9 dedicado \u00e0 emula\u00e7\u00e3o de diferentes interfaces com temporiza\u00e7\u00e3o precisa, e \u00e9 muito, muito poderoso! Pode ser programado para ler a partir da RAM e produzir a altas velocidades. <\/p>\n\n\n\n<p>Utilizaremos o PIO para enviar v\u00eddeo para alguns pinos GPIO e utilizaremos alguns circuitos adicionais (resist\u00eancias) para colocar o sinal na condi\u00e7\u00e3o desejada, dependendo da interface de sa\u00edda de v\u00eddeo a que queremos ligar o Pico.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hist\u00f3rico do formato de sa\u00edda de v\u00eddeo<\/h2>\n\n\n\n<p>Antes de entrarmos na quest\u00e3o de como adicionar uma sa\u00edda de v\u00eddeo ao Raspberry Pi Pico, vamos ver um pouco da hist\u00f3ria dos formatos de sa\u00edda de v\u00eddeo.<\/p>\n\n\n\n<p>Como j\u00e1 foi referido, o olho humano n\u00e3o \u00e9 capaz de detetar altera\u00e7\u00f5es nas imagens mais rapidamente do que cerca de 13 ms. Assim, uma das primeiras abordagens para a constru\u00e7\u00e3o de monitores de computador foi a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cathode-ray_tube\">CRT (tubo de raios cat\u00f3dicos)<\/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\">O monitor CRT utiliza v\u00e1rios feixes de raios (2) para escrever a imagem no ecr\u00e3 linha a linha (4), (5) mostra um grande plano dos f\u00f3sforos coloridos a serem abordados individualmente pelos diferentes raios. <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>O CRT tem tr\u00eas canh\u00f5es de raios, que varrem pixel a pixel, linha a linha. (e depois precisam de algum tempo para regressar ao ponto de partida). O ecr\u00e3 tem f\u00f3sforos coloridos, que continuar\u00e3o a emitir luz durante algum tempo depois de o raio ter passado por ele. Na pr\u00f3xima passagem do canh\u00e3o de raios sobre este pixel em particular, a intensidade do raio pode ter mudado, o que veremos como um pixel mais escuro. O nosso c\u00e9rebro funde os pixels de f\u00f3sforo coloridos adjacentes num s\u00f3 pixel e n\u00e3o \u00e9 capaz de notar as altera\u00e7\u00f5es de brilho entre as passagens dos raios. <\/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\">Grande plano de um CRT, mostrando os pontos de f\u00f3sforo coloridos. por: FreeImages.com \/ hubert jelen<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Desta forma, cria-se a ilus\u00e3o de uma imagem em movimento. <\/p>\n\n\n\n<p>De facto, n\u00e3o precisam de ter todos os dados presentes no in\u00edcio da imagem - mas <strong>apenas o valor atual do brilho do pixel<\/strong>. A intensidade do raio ser\u00e1 modificada de acordo com este facto. Podemos utilizar um sinal anal\u00f3gico para este efeito - por exemplo, aumentar a tens\u00e3o aumentar\u00e1 o brilho. <\/p>\n\n\n\n<p>Precisamos de tr\u00eas fios diferentes para as diferentes cores (para acionar cada canh\u00e3o de raios individualmente) e precisamos de ter uma forma de informar o monitor quando uma nova linha precisa de ser iniciada e quando uma nova imagem precisa de ser iniciada (quando todas as linhas tiverem sido mostradas).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">VGA (matriz de gr\u00e1ficos de v\u00eddeo)<\/h3>\n\n\n\n<p>A VGA foi concebida a pensar nestes monitores CRT. Ainda \u00e9 razoavelmente comum como entrada em monitores, apesar de se estar a tornar cada vez mais obsoleta \u00e0 medida que passamos para uma transmiss\u00e3o completamente digital (mais sobre isso adiante).<\/p>\n\n\n\n<p>Esta \u00e9 tamb\u00e9m a norma de sa\u00edda de v\u00eddeo mais f\u00e1cil de p\u00f4r a funcionar no Pico.  <\/p>\n\n\n\n<p>Ao lado de uma especifica\u00e7\u00e3o (com modos de resolu\u00e7\u00e3o predefinidos), especificava um conetor, o conetor VGA:<\/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\">Porta VGA; fotografia de Duncan Lithgow<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Tem 15 pinos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>RED (v\u00eddeo vermelho)<\/li>\n\n\n\n<li>VERDE (v\u00eddeo verde)<\/li>\n\n\n\n<li>BLUE (v\u00eddeo azul)<\/li>\n\n\n\n<li>ID2\/RES (reservado)<\/li>\n\n\n\n<li>GND (Terra HSync)<\/li>\n\n\n\n<li>RED_RTN (retorno vermelho, terra anal\u00f3gico para vermelho)<\/li>\n\n\n\n<li>GREEN_RTN (Retorno verde, terra anal\u00f3gico para verde)<\/li>\n\n\n\n<li>BLUE_RTN (Retorno azul, terra anal\u00f3gico para azul)<\/li>\n\n\n\n<li>KEY\/PWR (+5 V DC alimenta o chip EDID EEPROM em alguns monitores)<\/li>\n\n\n\n<li>GND (Terra VSync, DDC)<\/li>\n\n\n\n<li>ID0\/RES (reservado)<\/li>\n\n\n\n<li>ID1\/SDA (dados I2C desde DDC2)<\/li>\n\n\n\n<li>HSync (Sincroniza\u00e7\u00e3o horizontal)<\/li>\n\n\n\n<li>VSync (Sincroniza\u00e7\u00e3o vertical)<\/li>\n\n\n\n<li>ID3\/SCL (rel\u00f3gio I2C desde DDC2)<\/li>\n<\/ol>\n\n\n\n<p>Nota: Os cabos VGA podem suportar diferentes resolu\u00e7\u00f5es, profundidades de cor e frequ\u00eancias de atualiza\u00e7\u00e3o, enquanto a palavra \"VGA\", quando se refere \u00e0 resolu\u00e7\u00e3o, significa normalmente 640 x 480.<\/p>\n\n\n\n<p>Como v\u00ea, existem <strong>tr\u00eas fios que transportam os dados da imagem, um para cada cor<\/strong>. O sinal \u00e9 transmitido com uma tens\u00e3o de pico (m\u00e1xima) de 0,7 V. Os sinais transmitidos para as cores s\u00e3o de natureza anal\u00f3gica - tens\u00f5es mais elevadas aumentam o brilho, uma tens\u00e3o de 0 significa que o pixel est\u00e1 escuro \/ desligado. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Como fazer a sa\u00edda VGA funcionar no Pico <\/h3>\n\n\n\n<p>Isto significa que o Pico, com a sua sa\u00edda digital de 3,3V, tem tens\u00f5es suficientemente altas para poder ligar estes pinos RGB ao cabo VGA (que espera tens\u00f5es de 0 - 0,7V). Na verdade, precisamos de reduzir a tens\u00e3o utilizando resist\u00eancias. <\/p>\n\n\n\n<p>Podemos construir um DAC (conversor anal\u00f3gico digital) simples combinando v\u00e1rias resist\u00eancias e pinos GPIO. Dependendo da combina\u00e7\u00e3o de pinos GPIO que est\u00e3o activos num dado momento, temos diferentes n\u00edveis de tens\u00e3o (= n\u00edveis de luminosidade): <\/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\">Um DAC VGA simples, imagem retirada de \"Hardware design with the RP2040\" <\/figcaption><\/figure>\n<\/div>\n\n\n<p>Como pode ver na imagem acima, cinco GPIOs (0 -4) accionam um canal (vermelho, neste caso), o que nos d\u00e1 uma profundidade de cinco bits. As resist\u00eancias s\u00e3o ponderadas 1:2:4:8:16, por exemplo, o bit menos significativo (LSB) do vermelho tem uma resist\u00eancia de 8,06K. <\/p>\n\n\n\n<p>Ao tentar construir este circuito, deve optar por <strong>1 resist\u00eancias de toler\u00e2ncia %<\/strong> para obter uma boa imagem.<\/p>\n\n\n\n<p>Consultar \"<a href=\"https:\/\/datasheets.raspberrypi.org\/rp2040\/hardware-design-with-rp2040.pdf\">Conce\u00e7\u00e3o de hardware com o RP2040<\/a>\" para perceber como foram calculados os valores das resist\u00eancias. Resumindo, se os accionarmos todos ao mesmo tempo, teremos uma tens\u00e3o de 0,74 V, o que \u00e9 suficiente para os nossos objectivos.<\/p>\n\n\n\n<p>Mais especificamente, o que este projeto de refer\u00eancia sugere \u00e9 o suporte de um formato de dados RGB de 16 bits comummente utilizado (RGB-565), que utiliza 5 bits para o vermelho e o azul e 6 para o verde. Podemos reduzir a sa\u00edda f\u00edsica real para o verde a 5 pinos GPIO como para as outras cores, para poupar um pino.<\/p>\n\n\n\n<p>Para al\u00e9m disso, s\u00e3o necess\u00e1rios mais 2 pinos para a temporiza\u00e7\u00e3o da obtura\u00e7\u00e3o horizontal e vertical (HSYNC e VSYNC)<\/p>\n\n\n\n<p>Isto leva-nos a um total de 17 pinos GPIO para acionar uma sa\u00edda VGA. Felizmente, o Pico tem 26 pinos GPIO dispon\u00edveis, o que nos permite acionar a sa\u00edda VGA.<\/p>\n\n\n\n<p>Como j\u00e1 foi referido, o Pico tamb\u00e9m \u00e9 capaz de acionar estes pinos \u00e0s frequ\u00eancias necess\u00e1rias e com uma temporiza\u00e7\u00e3o precisa, gra\u00e7as \u00e0 funcionalidade PIO (E\/S program\u00e1vel) do RP2040. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hardware de sa\u00edda de v\u00eddeo VGA do Raspberry Pi Pico<\/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\">Placa de demonstra\u00e7\u00e3o Raspberry Pi Pico VGA, cart\u00e3o SD e \u00e1udio<\/a> - imagem retirada do manual Hardware Design with the RP2040<\/figcaption><\/figure>\n<\/div>\n\n\n<p>A Raspberry Pi concebeu e disponibilizou uma placa de suporte para o Pico que apresenta diferentes funcionalidades:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sa\u00edda VGA<\/li>\n\n\n\n<li>bot\u00f5es<\/li>\n\n\n\n<li>ranhura microSD <\/li>\n\n\n\n<li>sa\u00eddas de \u00e1udio (PWM anal\u00f3gico, I2S digital)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Comprar a placa Pico VGA \/ \u00c1udio \/ microSD<\/h3>\n\n\n\n<p><s>N\u00f3s (<a href=\"https:\/\/buyzero.de\">buyzero.de<\/a>) est\u00e3o atualmente a mandar construir e montar para n\u00f3s esta placa de desenho de refer\u00eancia. <a href=\"https:\/\/buyzero.de\/pages\/kontakt\">Contacte-nos se quiser ser notificado quando a prancha puder ser comprada<\/a>!<\/s><\/p>\n\n\n\n<p>O<a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-vga-audio-sd-expansion-board?variant=39412666335412\"> A placa Pico VGA est\u00e1 agora dispon\u00edvel para compra, stock inicial limitado<\/a>! <\/p>\n\n\n\n<p>Entretanto, a Pimoroni tamb\u00e9m criou uma vers\u00e3o deste quadro, a que chamam <a href=\"https:\/\/shop.pimoroni.com\/products\/pimoroni-pico-vga-demo-base\">Base de demonstra\u00e7\u00e3o do Pimoroni Pico VGA<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Nota lateral: cada pino dos 15 pinos de sa\u00edda rgb ainda precisar\u00e1 ser acionado a cerca de 17,58 Mbit\/s, o que ainda \u00e9 um n\u00famero impressionante - mas muito mais gerenci\u00e1vel!<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Software necess\u00e1rio para acionar a sa\u00edda VGA<\/h3>\n\n\n\n<p>Uma vez que estamos a trabalhar com o Pico, n\u00e3o existem \"drivers gr\u00e1ficos\" que possamos simplesmente instalar. Temos de ser n\u00f3s a escrever o c\u00f3digo... ou n\u00e3o \ud83d\ude42<\/p>\n\n\n\n<p>Felizmente, as pessoas que desenharam a placa de hardware para n\u00f3s j\u00e1 fornecem algum c\u00f3digo que podemos utilizar, pelo que nos podemos concentrar no nosso projeto. <\/p>\n\n\n\n<p>O c\u00f3digo de exemplo que pode utilizar pode ser encontrado no Reposit\u00f3rio pico-playground:<\/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>Neste reposit\u00f3rio, existe um leitor de filmes simples chamado <a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/tree\/master\/apps\/popcorn\">pipocas<\/a> (que reproduz filmes num formato personalizado). A <a href=\"https:\/\/drive.google.com\/file\/d\/1q3szTVccPZ08v_TMDxy9ZgqeOOXXwHCX\/view?usp=sharing\">O ficheiro Big Buck Bunny, com 1,6 GB de tamanho, pode ser descarregado aqui<\/a>. Note que estas s\u00e3o imagens de disco em bruto para serem gravadas num cart\u00e3o SD - este exemplo assume que tem a placa de demonstra\u00e7\u00e3o VGA, que tem uma ranhura SD. Instru\u00e7\u00f5es para <a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/apps\/popcorn\/converter\/README.md\">convers\u00e3o de filmes <\/a>s\u00e3o tamb\u00e9m apresentados.<\/p>\n\n\n\n<p>O c\u00f3digo utiliza o <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/blob\/master\/src\/common\/pico_scanvideo\">pico_scanvideo <\/a>(pico\/scanvideo.h) da biblioteca <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\">pico_extras <\/a>reposit\u00f3rio. Veja tamb\u00e9m nesse reposit\u00f3rio o c\u00f3digo de amostra de \u00e1udio!<\/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>- inclui uma extensa documenta\u00e7\u00e3o!<\/li>\n<\/ul>\n\n\n\n<p>A API produz dados RGB paralelos e sinal de sincroniza\u00e7\u00e3o em pinos para DPI VGA (usando DACs de resist\u00eancia, como descrito acima). <\/p>\n\n\n\n<p>Um ponto importante:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>O programa de linha de varrimento PIO predefinido aceita dados codificados por comprimento de execu\u00e7\u00e3o - isto significa que pode poupar RAM para gerar \u00e1reas de cores planas (estou a pensar em jogos!)<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Em geral, \u00e9 prefer\u00edvel utilizar a op\u00e7\u00e3o <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/blob\/master\/src\/common\/pico_scanvideo\">biblioteca pico_scanvideo <\/a>em vez de desenvolver c\u00f3digo de sa\u00edda VGA de raiz \ud83d\ude42<\/p>\n<cite>boas pr\u00e1ticas de codifica\u00e7\u00e3o<\/cite><\/blockquote>\n\n\n\n<p><strong>Mais demonstra\u00e7\u00f5es<\/strong><\/p>\n\n\n\n<p>Verificar o <a href=\"https:\/\/github.com\/raspberrypi\/pico-extras\/tree\/master\/src\/common\/pico_scanvideo\">diret\u00f3rio scanvideo do reposit\u00f3rio pico-playground<\/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>um gerador de mandelbrot utilizando um framebuffer de 320x240x16<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/scanvideo\/sprite_demo\">demonstra\u00e7\u00e3o de ator<\/a>: cabe\u00e7as de Eben a saltar (v\u00eddeo no topo da nossa p\u00e1gina!)<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/raspberrypi\/pico-playground\/blob\/master\/scanvideo\/test_pattern\">padr\u00e3o_de_teste<\/a>: Apresentar barras de cor<\/li>\n<\/ul>\n\n\n\n<p><strong>Utilizar a placa VGA<\/strong><\/p>\n\n\n\n<p>\u00c9 necess\u00e1rio passar um par\u00e2metro adicional ao CMake durante a compila\u00e7\u00e3o:<\/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=\"C\u00f3pia\" 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: Adicionar guias passo-a-passo<\/strong><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DVI: Interface Visual Digital<\/h2>\n\n\n\n<p>A tecnologia avan\u00e7a. A vida avan\u00e7a. Os CRT tornaram-se cada vez mais obsoletos, substitu\u00eddos por ecr\u00e3s planos mais modernos, que t\u00eam interfaces digitais. N\u00e3o h\u00e1 feixes m\u00f3veis, apenas pix\u00e9is. <\/p>\n\n\n\n<p>Durante algum tempo, os sinais continuaram a ser anal\u00f3gicos - mas isso n\u00e3o \u00e9 muito desej\u00e1vel, uma vez que temos de pegar em algo digital, transform\u00e1-lo em algo anal\u00f3gico e depois transform\u00e1-lo novamente em algo digital. A imagem ser\u00e1 menos precisa, e temos circuitos adicionais que poder\u00edamos dispensar. <\/p>\n\n\n\n<p>Entra a DVI. Oferecia inteligentemente uma op\u00e7\u00e3o para transmitir tamb\u00e9m sinais anal\u00f3gicos, pelo que podiam ser constru\u00eddos adaptadores\/cabos DVI para VGA simples. Naturalmente, a placa gr\u00e1fica teria de transmitir dados anal\u00f3gicos e digitais. Mas isto ajudou a que a norma fosse aceite e se generalizasse. <\/p>\n\n\n\n<p>Estamos aqui interessados nos sinais digitais (<strong>DVI-D<\/strong>), uma vez que gostar\u00edamos de os fazer bit-bang a partir do Raspberry Pi Pico.<\/p>\n\n\n\n<p>Com DVI-D, os dados de imagem s\u00e3o transmitidos de forma serial. <\/p>\n\n\n\n<p>Uma liga\u00e7\u00e3o DVI de \"liga\u00e7\u00e3o simples\" (a mais b\u00e1sica) \u00e9 constitu\u00edda por <strong>quatro <\/strong>as chamadas liga\u00e7\u00f5es TMDS (sinaliza\u00e7\u00e3o diferencial minimizada por transi\u00e7\u00e3o):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>vermelho<\/li>\n\n\n\n<li>verde <\/li>\n\n\n\n<li>azul<\/li>\n\n\n\n<li>rel\u00f3gio de p\u00edxeis<\/li>\n<\/ul>\n\n\n\n<p>A sinaliza\u00e7\u00e3o diferencial \u00e9 utilizada para minimizar as interfer\u00eancias (uma vez que <\/p>\n\n\n\n<p>Temos um total de 24 bits por pixel (8 bits x 3 cores) e codificamos os dados utilizando a codifica\u00e7\u00e3o 8b10b (8 bits s\u00e3o mapeados para s\u00edmbolos de 10 bits na linha f\u00edsica atual para obter o equil\u00edbrio DC, entre outras coisas). <\/p>\n\n\n\n<p>A DVI trata os pix\u00e9is de forma semelhante \u00e0 VGA: tudo \u00e9 retransmitido sempre que a imagem \"come\u00e7a\" de novo e os dados s\u00e3o cronometrados com precis\u00e3o. Isto \u00e9 como uma linha telef\u00f3nica, em que a linha est\u00e1 constantemente a ser utilizada quando duas pessoas falam. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Nota: em contraste com isto, <a href=\"https:\/\/en.wikipedia.org\/wiki\/DisplayPort\">O DisplayPort trata os dados como pacotes<\/a> - que apresenta v\u00e1rias vantagens.<\/p>\n<\/blockquote>\n\n\n\n<p>Em contraste com o exemplo VGA discutido acima, uma vez que os dados s\u00e3o enviados digitalmente, em vez de valores de brilho anal\u00f3gicos, isto significa volumes de dados muito mais elevados. <\/p>\n\n\n\n<p><a href=\"https:\/\/twitter.com\/wren6991\">Luke Wren<\/a>, um engenheiro da Raspberry Pi, acreditava que o RP2040 (no cora\u00e7\u00e3o do Pico) tamb\u00e9m seria capaz de conduzir a sa\u00edda DVI, mais uma vez usando PIO.<\/p>\n\n\n\n<p>O resultado \u00e9 o<a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\"> Reposit\u00f3rio PicoDVI<\/a> e projectos, e o <a href=\"https:\/\/github.com\/Wren6991\/Pico-DVI-Sock\">Suporte DVI para Pico<\/a>.<\/p>\n\n\n\n<p>Luke Wren calculou que cerca de <strong>Dados de s\u00e9rie de 252 Mbps<\/strong> tem de ser accionada atrav\u00e9s dos pads digitais GPIO - s\u00e9rie diferencial, que \u00e9 emulada com dois pads de termina\u00e7\u00e3o simples. <\/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_acoplamento.png\"\/><figcaption class=\"wp-element-caption\">Fonte: <a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\/blob\/master\/img\/dc_coupling.png\">Reposit\u00f3rio de Luke Wren<\/a> (Licen\u00e7a BSD-3)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Acima v\u00ea-se o circuito utilizado para acionar a sa\u00edda DVI (utilizando um conetor HDMI, mais sobre isto abaixo) - s\u00e3o simplesmente v\u00e1rios <strong>270 Ohm<\/strong> resist\u00eancias.<\/p>\n\n\n\n<p>Luke Wren foi ainda mais longe e acrescentou uma sa\u00edda DVI dupla ao seu layout PicoDVI atrav\u00e9s de uma placa de liga\u00e7\u00e3o:<\/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=\"dois_pain\u00e9is.jpg\" style=\"width:626px;height:324px\" width=\"626\" height=\"324\"\/><figcaption class=\"wp-element-caption\">Luke Wren demonstrando <a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\">sa\u00edda em dois ecr\u00e3s <\/a>utilizando o seu pr\u00f3prio projeto <\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">HDMI: compat\u00edvel com DVI<\/h3>\n\n\n\n<p>O HDMI \u00e9 a pr\u00f3xima evolu\u00e7\u00e3o dos conectores (e est\u00e1 em concorr\u00eancia com o DisplayPort). \u00c9 totalmente compat\u00edvel com os sinais digitais DVI - assim, \u00e9 poss\u00edvel ter conversores DVI \/ HDMI simples e puramente passivos. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Suporte DVI para Pico<\/h2>\n\n\n\n<p>O Pico DVI Sock \u00e9 uma solu\u00e7\u00e3o f\u00e1cil e de baixo custo para adicionar sa\u00edda de v\u00eddeo digital ao seu Pi. Foi concebida por Luke Wren (ver descri\u00e7\u00e3o acima). \u00c9 uma sa\u00edda DVI com um conetor HDMI. Como o HDMI \u00e9 compat\u00edvel com o DVI, pode usar um cabo HDMI para ligar o Pico a ecr\u00e3s HDMI:<\/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=\"soldadura_04.jpg\" style=\"width:612px;height:214px\" width=\"612\" height=\"214\"\/><\/a><figcaption class=\"wp-element-caption\">Foto por <a href=\"https:\/\/github.com\/Wren6991\/Pico-DVI-Sock\">Luke Wren<\/a>, Licen\u00e7a CC0-1.0<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Programar o Pico DVI Sock<\/h3>\n\n\n\n<p><strong>TL;DR<\/strong><\/p>\n\n\n\n<p>Pode descarregar o nosso <strong><a href=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/picodvi-test.zip\">picodvi-test.zip<\/a><\/strong> e come\u00e7ar a brincar com as compila\u00e7\u00f5es de exemplo .UF2 nele contidas. Inclui tamb\u00e9m um PDF que fornece um guia passo a passo.<\/p>\n\n\n\n<p><strong>Exemplos de c\u00f3digo<\/strong><\/p>\n\n\n\n<p>Luke Wren fornece <a href=\"https:\/\/github.com\/Wren6991\/PicoDVI\">exemplos de c\u00f3digo no seu reposit\u00f3rio<\/a>. No entanto, para os utilizar com o Pico DVI Sock, ter\u00e1 de definir a configura\u00e7\u00e3o correcta a utilizar. Vamos mostrar-lhe como neste mini-tutorial.<\/p>\n\n\n\n<p><strong>Pr\u00e9-requisitos de instala\u00e7\u00e3o<\/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=\"C\u00f3pia\" 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>Clonar o reposit\u00f3rio PicoDVI de 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=\"C\u00f3pia\" 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>Para utilizar os exemplos de c\u00f3digo com o Pico DVI Sock, ter\u00e1 de definir o par\u00e2metro <strong>configura\u00e7\u00e3o correcta dos pinos <\/strong>a utilizar. Adicione a seguinte linha a <strong>common_dvi_pin_configs.h<\/strong> apenas <strong>antes de <\/strong>o primeiro #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=\"C\u00f3pia\" 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>Construir os exemplos<\/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=\"C\u00f3pia\" 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>Instalar os exemplos no Pico<\/strong><\/p>\n\n\n\n<p>Os exemplos constru\u00eddos estar\u00e3o na pasta software\/build\/apps. <\/p>\n\n\n\n<p>Prima e mantenha premida a tecla BOOTSEL no Pico e, em seguida, ligue a placa ao seu PC utilizando o conetor microUSB. Copie e cole o ficheiro .uf2 adequado que pretende experimentar - por exemplo, sprite_bounce.uf2 - no Pico. <\/p>\n\n\n\n<p>O Pico reiniciar\u00e1 automaticamente e dever\u00e1 ser poss\u00edvel ver a sa\u00edda no conetor HDMI (lembre-se que \u00e9 DVI :-)). <\/p>\n\n\n\n<p><strong>Descarregar<\/strong><\/p>\n\n\n\n<p>Pode descarregar o nosso <strong><a href=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/03\/picodvi-test.zip\">picodvi-test.zip<\/a><\/strong> e come\u00e7ar a brincar com as compila\u00e7\u00f5es de exemplo .UF2 nele contidas. Inclui tamb\u00e9m um PDF que fornece um guia passo a passo. Se o <em>sprite_bounce.uf2<\/em> se o exemplo n\u00e3o funcionar, experimente outro monitor - possivelmente nem todos os monitores s\u00e3o compat\u00edveis com esta sa\u00edda de v\u00eddeo.<\/p>\n\n\n\n<p>Se j\u00e1 chegou at\u00e9 aqui, diga-nos nos coment\u00e1rios como funcionou para si e que ideias de projectos teve!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprar uma meia DVI Pico<\/h3>\n\n\n\n<p>A nossa p\u00e1gina irm\u00e3, buyzero.de, armazena o <strong><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-dvi-sock-videoausgabe-fur-den-pico?variant=39321578799284\">Suporte DVI para Pico <\/a><\/strong>em duas variantes: <\/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\">Apenas o Pico DVI Sock<\/a> (para auto-soldadura) @ 6,58 \u20ac atualmente<\/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 no Pico, com conectores pr\u00e9-soldados<\/a> @ 17,89 \u20ac atualmente<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Sidenote: Ecr\u00e3s DBI e DSI<\/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>Como nota lateral, o reposit\u00f3rio Raspberry Pi Pico Extras tem marcadores de posi\u00e7\u00e3o para DBI (ecr\u00e3s MIPI DBI de 16 bits - com dados a serem passados em paralelo) e DSI (ecr\u00e3s MIPI s\u00e9rie), pelo que tamb\u00e9m poderemos ver suporte para estes ecr\u00e3s no futuro.<\/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%2Fpt%2Fsaida-de-video-do-raspberry-pi-pico%2F&text=Raspberry%20Pi%20Pico%20Video%20Output\" title=\"Compartilhar no X\" aria-label=\"Compartilhar no 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\">partilhar<\/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%2Fpt%2Fsaida-de-video-do-raspberry-pi-pico%2F\" title=\"Partilhar no Facebook\" aria-label=\"Partilhar no 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\">partilhar<\/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%2Fpt%2Fsaida-de-video-do-raspberry-pi-pico%2F&text=Raspberry%20Pi%20Pico%20Video%20Output\" title=\"Compartilhar no Telegram\" aria-label=\"Compartilhar no 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\">partilhar<\/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%2Fpt%2Fsaida-de-video-do-raspberry-pi-pico%2F\" title=\"Compartilhar no Reddit\" aria-label=\"Compartilhar no 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\">partilhar<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>TL;DR O Raspberry Pi Pico \u00e9 um pequeno microcontrolador incr\u00edvel. Embora n\u00e3o tenha uma interface de sa\u00edda de v\u00eddeo incorporada, como os seus irm\u00e3os maiores Raspberry Pi Zero \/ 1 \/ 2 \/ 3 \/ 4 \/ 400 (HDMI \/ double HDMI no caso deles), \u00e9 poss\u00edvel adicionar uma sa\u00edda de v\u00eddeo ao 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.4 - 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\/pt\/saida-de-video-do-raspberry-pi-pico\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/saida-de-video-do-raspberry-pi-pico\/\" \/>\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=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutos\" \/>\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\":\"pt-PT\",\"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\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-video-output\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@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\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@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\":\"pt-PT\",\"@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\\\/pt\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sa\u00edda de v\u00eddeo do Raspberry Pi Pico | PiCockpit","description":"O Raspberry Pi Pico pode produzir v\u00eddeo nos formatos VGA e DVI - mostramos-lhe como o fazer, incluindo instru\u00e7\u00f5es de hardware e software.","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\/pt\/saida-de-video-do-raspberry-pi-pico\/","og_locale":"pt_PT","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\/pt\/saida-de-video-do-raspberry-pi-pico\/","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":{"Escrito por":"raspi berry","Tempo estimado de leitura":"17 minutos"},"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":"pt-PT","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":"Sa\u00edda de v\u00eddeo do Raspberry Pi Pico | 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":"O Raspberry Pi Pico pode produzir v\u00eddeo nos formatos VGA e DVI - mostramos-lhe como o fazer, incluindo instru\u00e7\u00f5es de hardware e software.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@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":"pt-PT"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@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":"baga de framboesa","image":{"@type":"ImageObject","inLanguage":"pt-PT","@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":"Estou aqui para ajud\u00e1-lo com todas as suas perguntas relacionadas com o Raspberry Pi e adoro compartilhar sobre novas id\u00e9ias de projetos para o Raspberry Pi, e dar dicas r\u00e1pidas. Claro que tamb\u00e9m o ajudarei com o PiCockpit e como tornar o seu Raspberry Pi ainda mais f\u00e1cil de usar com esta solu\u00e7\u00e3o de monitoriza\u00e7\u00e3o do raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/pt\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/comments?post=703"}],"version-history":[{"count":29,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/703\/revisions"}],"predecessor-version":[{"id":5042,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/703\/revisions\/5042"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/media\/716"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/media?parent=703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/categories?post=703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/tags?post=703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}