Índice:
- Etapa 1: Placas ESP32, instalação do Arduino IDE e configuração da biblioteca VGA
- Etapa 2: Upload do código Tiny Basic para o ESP32
- Etapa 3: Conectando a porta VGA
- Etapa 4: Conectando a porta PS2
- Etapa 5: Programação com Tiny Basic
- Etapa 6: Conectando um cartão de memória SD
- Etapa 7: Agradecimentos
Vídeo: ESP32 Basic PC com saída VGA: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Neste Instructable, vou mostrar como construir um PC estilo retro simples feito com um único ESP32 e alguns outros componentes.
Este PC executa o Tiny Basic, um dialeto simplificado do BASIC, e gera a saída para um monitor VGA.
A resolução é de 640x350 pixels, permitindo 80x25 caracteres asci em 8 cores. Um teclado PS2 pode ser conectado e usado para escrever o código, permitindo até 14059 bytes de memória.
Os pinos de E / S ESP32 podem ser acionados diretamente por comandos BASIC dedicados.
Este projeto é possível graças à incrível biblioteca VGA ESP32 escrita por Fabrizio Di Vittorio. Veja aqui para mais detalhes.
Etapa 1: Placas ESP32, instalação do Arduino IDE e configuração da biblioteca VGA
Em primeiro lugar, você precisa comprar um ESP32 revisão 1 ou superior. Existem muitas versões disponíveis, mas recomendo escolher uma com muitos pinos. Estou usando esta versão, mas acho que muitas outras também funcionam. Por exemplo, na descrição deste vídeo, você pode encontrar três outros modelos que estão abaixo de 5 dólares.
Depois de obter o quadro, você precisa prosseguir com as três subetapas a seguir:
- Instale o último IDE Arduino
- Configure o ESP32 no IDE e
- Instale a biblioteca VGA
Subetapa 1.
Existem diferentes métodos para programar o ESP32, mas aqui você precisa usar o IDE do Arduino mais recente (estou usando a versão 1.8.9). Para instalá-lo, você pode ir para a página IDE do Arduino e seguir as instruções.
Subetapa 2
Assim que a operação anterior for concluída, você precisará configurar seu ESP32 no IDE do Arduino. Isso não é trivial, já que o ESP32 não é (ainda?) Nativo nele. Você pode seguir este tutorial ou as etapas a seguir.
1) abra o IDE do Arduino
2) abra a janela de preferências, Arquivo / Preferências, alternativamente pressione "Ctrl + vírgula"
3) vá para "URLs adicionais do gerente da placa", copie e cole o seguinte texto:
https://dl.espressif.com/dl/package_esp32_index.json
e clique no botão OK.
4) Abra o gerenciador de placas. Vá para Ferramentas / Placa / Gerenciador de placas …
5) Procure ESP32 e pressione o botão de instalação para o “ESP32 da Espressif Systems“:
6) Neste ponto, quando você conectar seu ESP32 pela primeira vez, você deve escolher o modelo certo na longa lista de placas ESP32 disponíveis (veja a imagem nesta etapa). Em caso de dúvidas sobre o modelo, basta escolher o genérico, ou seja, o primeiro. Funciona para mim.
7) o sistema também deve escolher a porta USB correta e a velocidade de upload (normalmente 921600). Neste ponto, a conexão entre o seu PC e a placa ESP32 deve ser estabelecida.
Subetapa 3
Finalmente, você deve instalar a biblioteca FabGL VGA. [atualização em julho de 2019] Você precisa de uma versão antiga desta libray: você pode baixar o arquivo zip src.old.zip na parte inferior desta etapa, descompactar e renomear a pasta como "src" em seu
Pasta "… / arduino-1.8.9 / libraries".
Depois de fazer essas operações, você pode ir para a próxima etapa e carregar o TinyBasic modificado seguindo a próxima etapa.
Etapa 2: Upload do código Tiny Basic para o ESP32
Baixe ESP32_TinyBasicPlus_PS2_FabLab_beta.ino na parte inferior desta etapa.
Abra-o com o Arduino IDE e carregue-o em seu ESP32 bruto.
Se você não tiver mensagens de erro, o código já deve estar em execução.
Etapa facultativa: se você quiser testar o TinyBasic antes de conectar o teclado VGA e PS2, você já pode fazê-lo com um cliente SSH e telnet. Eu uso o PuTTY.
Você pode ver como fica nas fotos desta etapa.
Etapa 3: Conectando a porta VGA
Você precisa das seguintes peças:
- um Conector DSUB15, ou seja, um conector VGA fêmea ou um cabo VGA a ser cortado.
- três resistores de 270 Ohm.
Conecte os pinos 2, 15 e 21 do GPIO ESP32 ao VGA Vermelho, Verde e Azul, respectivamente, por meio dos resistores de 270 Ohm.
Conecte o VGA Hsync e Vsync aos pinos ESP32 GPIO 17 e 4, respectivamente.
Conecte os pinos 5, 6, 7, 8 e 10 dos conectores DSUB15 ao ESP32 GND.
Para a definição do pino do conector VGA DSUB15, consulte a imagem nesta etapa. NB, este é o lado da solda do conector fêmea.
Etapa 4: Conectando a porta PS2
Você precisa de um conector fêmea de teclado PS2.
Você pode obter um de uma placa-mãe de um PC antigo, simplesmente retire a venda com uma pistola de ar quente. Na imagem mostrada nesta etapa, você pode encontrar a função dos pinos necessários do conector PS2.
As conexões são:
- Dados do teclado para ESP32 GPIO pino 32
- Teclado IRQ (relógio) para ESP32 GPIO pino 33
- Você também precisa conectar o pino 5V e o GND.
Etapa 5: Programação com Tiny Basic
Neste ponto, se você pode conectar o monitor VGA e teclado PS2 e o ESP32 para fonte de alimentação.
A imagem mostrada aqui deve aparecer no monitor. Agora você pode brincar um pouco com os comandos do Tiny Basic.
Experimente, por exemplo, o obrigatório Hello, Word! Loop infinito:
10 imprimir "Olá, mundo!"
20 goto 10
corre
Você pode mudar em quatro cores diferentes pressionando o botão esc e parar o loop com ctrl + c
Observe que se você cometer um erro de digitação, não poderá cancelá-lo! Ou melhor, você pode cancelar, mas a correção de digitação não será reconhecida. Você precisa reescrever toda a linha de comando.
Agora você pode tentar algo mais complexo, como acionar o piscar de um LED com um programa básico. Conecte, por exemplo, o ânodo LED (a perna longa) para ESP32 GPIO pino 13, e o cátodo para GND.
Então escreva:
novo
10 i = 1000
20 imprimir i
30 atrasar i
40 dwrite 13, alto
50 atraso i
60 dwrite 13, baixo
70 i = i * 9/10
80 se i> 0 vá para 20
Final de 90
corre
Você pode ver o resultado no vídeo incorporado neste Instructable.
Etapa 6: Conectando um cartão de memória SD
Um PC antigo, não importa o quão pequeno e fraco seja, não pode ser completo se você não puder armazenar seus programas permanentemente.
Nesta etapa vou mostrar como conectar um cartão de memória SD, mas infelizmente, por enquanto (espero apenas por enquanto), o armazenamento de programas não funciona!
A propósito, usei um adaptador de cartão microSD para SD e soldei 8 pinos em forma de L, conforme mostrado na imagem nesta etapa.
Em seguida, conectei os pinos dos adaptadores SD ao ESP32 de acordo com a segunda imagem, ou seja, conectei os pinos GPIO 5, 18, 19, 23 do ESP32 a SC, clock, MISO, MOSO respectivamente, mais 3,3 V e dois GND.
Eu também segui as instruções e exemplos encontrados aqui, e com o código de exemplo SD_test.ino, posso escrever no meu cartão microSD de 2 GBytes.
Assim, se alguém encontrar uma solução, por favor me informe o mais rápido possível para o meu e-mail [email protected] e irei completar este Instrutível.
Etapa 7: Agradecimentos
Desejo expressar minhas reservas a Fabrizio Di Vittorio por sua incrível biblioteca VGA ESP32. Para mais detalhes, exemplos e… Space Invaders, visite seu site aqui.
muito obrigado também aos autores do Tiny Basic:
- Mike Field
- Scott Lawrence
- Brian O'Dell
Finalmente, se você gostou deste projeto, por favor, escreva um comentário ou compartilhe uma foto do dispositivo que você construiu … e, acima de tudo, vote nele no concurso do Arduino!
Recomendado:
Obtenha saída HDMI de seu Rock64 usando Armbian: 15 etapas
Obtenha a saída HDMI do seu Rock64 usando o Armbian: Você provavelmente está aqui depois de pesquisar no Google por " Rock64 no hdmi output " apontou nesta direção.Ou você pode estar se perguntando como usar a tela 16 x 2 que veio com uma compra que parecia boa para ser verdade: " Por US $ 10- $ 20, um Sing
Conversor de Buck de saída de 5V de alta eficiência DIY !: 7 etapas
DIY High Efficiency 5V Output Buck Converter !: Eu queria uma maneira eficiente de reduzir tensões mais altas de pacotes LiPo (e outras fontes) para 5V para projetos eletrônicos. No passado, usei módulos de buck genéricos do eBay, mas o controle de qualidade questionável e nenhum nome de capa eletrolítica
Saída inteligente: 6 etapas
Smart Outlet: Disclaimer: Este projeto tem como objetivo mostrar como você pode prototipar com uma impressora SV2 PCB. Não é um produto que você deva usar como um item de uso diário. Não foi projetado nem testado para cumprir os padrões de segurança apropriados. Você é responsável
PC Arduino Basic com saída VGA: 5 etapas (com imagens)
Arduino Basic PC com saída VGA: Em meu Instructable anterior, mostrei como construir um computador retro de 8 bits rodando BASIC, por meio de dois Arduino, e com um sinal de saída em P&B para uma tela de TV. Agora vou mostrar como construir o mesmo computador, mas com o sinal de saída em
PC Arduino Basic com saída para TV: 5 etapas (com imagens)
Arduino Basic PC com saída de TV: Neste Instructables vou mostrar como construir um computador retro de 8 bits rodando BASIC, por meio de dois Arduino e alguns outros componentes. Você pode inserir as variáveis e o programa BASIC com um teclado PS2, e a saída é mostrada em um monitor com um