Índice:

PC Arduino Basic com saída VGA: 5 etapas (com imagens)
PC Arduino Basic com saída VGA: 5 etapas (com imagens)

Vídeo: PC Arduino Basic com saída VGA: 5 etapas (com imagens)

Vídeo: PC Arduino Basic com saída VGA: 5 etapas (com imagens)
Vídeo: 🔴 Conheça o Arduino com monitor HDMI! Muuuuuita tecnologia no Arduino MKR Vidor 4000! 2024, Julho
Anonim
Image
Image
PC Arduino Basic com saída VGA
PC Arduino Basic com saída VGA
PC Arduino Basic com saída VGA
PC Arduino Basic 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 montar o mesmo computador, mas com o sinal de saída em cores para um monitor VGA!

Você pode inserir as variáveis e o programa BASIC com um teclado PS2, e ele gera a saída para um monitor VGA com uma resolução de texto de 24 colunas x 10 linhas de caracteres 5x6 pixels, em quatro cores. Você pode vê-lo em ação no vídeo superior. O programa pode então ser salvo no Arduino EEPROM, e você ainda pode controlar os pinos de E / S diretamente por meio de comandos dedicados básicos.

Este projeto também pode ser utilizado para imprimir mensagens de texto simples no monitor, conforme mostra a terceira foto desta página.

Um Arduino é o "mestre" e executa o Tiny Basic Plus, uma implementação em C do Tiny Basic, com foco no suporte ao Arduino. Ele também controla um teclado PS2. A saída é então enviada através da porta serial para o segundo Arduino, que gera a saída VGA graças à biblioteca VGAx.

A ideia de usar um ou mais Arduino para criar um PC de estilo antigo executando um dialeto do Basic não é nova, mas, pelo que eu sei, nenhum deles tem saída em cores. Em alguns projetos disponíveis na rede, as pessoas usaram monitores LCD, enquanto em outros, para permitir o uso de monitores, usou-se a biblioteca TVout, que é a P&B. Além disso, em muitos desses projetos, escudos especiais ou hardware devem ser construídos. Aqui você precisa de apenas dois Arduino, alguns resistores e o conector para o teclado PS2 e o monitor, conforme mostrado nas fotos acima.

Etapa 1: construir o Arduino Master com teclado TinyBasic e PS2

TinyBasic Plus e a biblioteca VGAx funcionam para Arduino IDE 1.6.4.

Primeiro, baixe-o da página oficial do Arduino. Se você tiver uma versão mais recente em seu PC, o melhor é fazer o download em formato.zip e descompactá-la no seu PC. Clique neste link para baixar a versão do Windows.

Você precisa então da biblioteca do teclado PS2. Você pode encontrá-lo no final desta página. Basta descompactá-lo e copiar a pasta PS2keyboard em: arduino-1.6.4 / libraries

Por fim, nesta página, baixe o arquivo: TinyBasicPlus_PS2_VGAx.ino, descompacte e envie para o seu Arduino.

Esta é uma variação do TinyBasic Plus padrão, onde adicionei a biblioteca PS2 e modifiquei o código para aceitar as variáveis dela.

Mais detalhes sobre o TiniBasic Plus e tutoriais podem ser encontrados neste link.

Se não houver problemas e problemas de compatibilidade, o Tiny Basic já está em execução. Você pode testá-lo através de um monitor serial no seu PC. Para isso, uso o PuTTY, mas muitos outros programas estão disponíveis.

Você deve definir a porta COM correta (é a mesma que você encontra no IDE do Arduino) e taxa de transmissão = 4800

Aqui você já pode testar alguns programas em Basic apenas digitando-os com o teclado do seu PC (NB mais adiante mostrarei como conectar o teclado PS2 diretamente ao Arduino).

Experimente, por exemplo:

10 IMPRIMIR "Olá, mundo!"

20 GOTO 10

CORRE

Você pode então parar o loop infinito apenas digitando ctrl + c.

Observe que esta combinação não funcionará com o teclado PS2.

Na próxima etapa, mostrarei como conectar o teclado PS2 ao Arduino.

Etapa 2: Conecte o teclado PS2 ao Arduino mestre

Conecte o teclado PS2 ao Arduino mestre
Conecte o teclado PS2 ao Arduino mestre

Peguei todas as informações e biblioteca deste Instructable.

Essencialmente, você precisa conectar os quatro pinos a seguir:

  • dados do teclado para o pino 8 do Arduino,
  • IRQ (relógio) do teclado para o pino 3 do Arduino;
  • você precisa conectar GND e + 5V também.

Eu tenho um conector PS2 fêmea antigo de uma placa-mãe de PC quebrada. Você pode simplesmente cancelar 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.

Etapa 3: faça upload da biblioteca VGAx e do código no segundo Arduino e coloque tudo junto

Faça upload da biblioteca VGAx e do código no segundo Arduino e coloque tudo junto
Faça upload da biblioteca VGAx e do código no segundo Arduino e coloque tudo junto

Primeiro baixe o código VGAx-PC.ino na parte inferior desta página e copie-o para o seu PC em um diretório com o mesmo nome.

Baixe a biblioteca VGAx deste link no GitHub. A maneira mais fácil é copiá-lo para a subpasta do software Arduino chamada "bibliotecas", para ser imediatamente reconhecido.

IMPORTANTE: esta biblioteca funciona para Arduno IDE 1.6.4, mas não é totalmente compatível com versões anteriores ou mais recentes.

Carregue o VGAx-PC.ino em sua segunda placa Arduino (testei para a versão Nano, mas o Uno também deve funcionar).

Um aviso de pouca memória disponível é normal. Se não houver outros erros, está tudo bem e você pode começar a montar seu próprio PC de 8 bits imediatamente.

Para isso, você precisa de:

  • dois Arduino Uno Rev. 3 ou dois Arduino Nano 3.x (ATmega328)
  • um Conector DSUB15, ou seja, um conector VGA fêmea ou um cabo VGA a ser cortado.
  • resistores: 2 x 68 Ohm e 2 x 470 Ohm
  • um conector PS2 fêmea
  • fios
  • facultativo: um breadboard ou um strip board

O esquema é relatado no início desta etapa. Um exemplo de um “console” concluído é mostrado na etapa introdutiva.

O mesmo esquema, com uma resolução mais alta, é relatado em um arquivo compactado na parte inferior desta etapa.

Etapa 4: Opcional: usando um PCB

Opcional: usando um PCB
Opcional: usando um PCB
Opcional: usando um PCB
Opcional: usando um PCB
Opcional: usando um PCB
Opcional: usando um PCB
Opcional: usando um PCB
Opcional: usando um PCB

Você também pode construir este PC VGA básico usando um pequeno PCB. Você pode se inspirar nas fotos nesta etapa ou pode até mesmo imprimir seu próprio quadro.

Usei duas fitas de cabeçalho fêmeas com 15 furos para a saída de vídeo do Arduino, enquanto para o master usei duas fitas com furos duplos. Desta forma posso usar os externos para inserir os contatos de outros componentes do projeto, que podem ser acionados diretamente com o código Basic. Também acrescentei no centro as sobras de tiras, uma conectada a 5 V e a outra para GND.

Etapa 5: Comentários Finais e Agradecimentos

Meu principal agradecimento vai para Sandro Maffiodo, também conhecido como Smaffer, o criador da incrível biblioteca VGAx.

Muito obrigado também aos autores do TinyBasic Plus:

  • Tiny Basic 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Michael Field
  • Tiny Basic Plus - Scott Lawrence

Obrigado também a "djsadeepa", o autor do Instructable for the connection of the PS2 keyboard.

A todos os interessados neste projeto: se você tiver problemas, não hesite em pedir sugestões nos comentários.

Se você for bem-sucedido, escreva um comentário também ou compartilhe uma imagem do dispositivo que você construiu.

Recomendado: