
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03




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

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

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




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:
Fonte de alimentação linear de dupla saída ajustável: 10 etapas (com imagens)

Fonte de alimentação linear de saída dupla ajustável: Características: Conversão AC - DC Tensões de saída dupla (Positivo - Terra - Negativo) Trilhos positivos e negativos ajustáveis Apenas um transformador AC de saída única Ruído de saída (20 MHz-BWL, sem carga): Cerca de 1,12 mVpp baixo ruído e saídas estáveis (ideal
ESP32 Basic PC com saída VGA: 7 etapas

ESP32 Basic PC com VGA Output: Neste Instructable, vou mostrar como construir um simples PC estilo retro 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 é 640
Joule Thief com controle ultra simples de saída de luz: 6 etapas (com imagens)

Joule Thief com controle ultra simples de saída de luz: O circuito Joule Thief é uma excelente entrada para o experimentador eletrônico novato e foi reproduzido inúmeras vezes. Na verdade, uma pesquisa no Google rendeu 245.000 resultados! De longe, o circuito mais freqüentemente encontrado é o mostrado na Etapa 1, bem
PropVario, um variômetro / altímetro DIY com saída de voz para planadores RC: 7 etapas (com imagens)

PropVario, um variômetro / altímetro DIY com saída de voz para planadores RC: Este manual de instruções mostrará como construir um Vario barato, que pode falar a altitude e, claro, enviar vários tons ao alterar a altura do seu planador. Alguns recursos: - voz e tom - use suas próprias amostras (de ondas) em seu la
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