Índice:
- Etapa 1: Recursos
- Etapa 2: Coisas que você vai precisar
- Etapa 3: Gravando o Bootloader
- Etapa 4: Construindo a Unidade
- Etapa 5: ESQUEMA
- Etapa 6: SOFTWARE EM EXECUÇÃO A BORDO
- Etapa 7: videoclipe do mini-aplicativo 'sm' em execução
Vídeo: DemUino - Computador Doméstico / Controlador: 7 Passos
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
An Arduino Inspired Computer da DemeterArt Aproveite ao máximo seu antigo teclado PS2. Hackeie em um computador pessoal personalizado para controlar as coisas! Sempre quis construir meu próprio computador doméstico, em estilo retrô, nada sofisticado, mas com recursos específicos adaptados às minhas preferências. Então, comecei com o MCU atmega328 e o kit de desenvolvimento do Arduino.
Deixe-me declarar que este projeto teria demorado consideravelmente mais com resultados finais duvidosos se não fosse pelos fãs talentosos por aí que egoisticamente fornecem menos as bibliotecas de freeware para todos usarem. Obrigado a todos:-)
visite meu site para ler toda a história e baixar todos os arquivos relevantes
www.sites.google.com/site/demeterart
Etapa 1: Recursos
- Baseado no ATMEGA328 com flash de 32 KB, SRAM de 2 KB e EEPROM de 1 KB.
- suporte para modos interativos e em lote
- editor de linha e modo list-while-edit
- 8 caracteres personalizados para gráficos do usuário
- 60 etapas do programa numeradas 00, …, 99
- 'If' condicional, 'while' e 'for' loops mais declarações 'goto' e 'sub' para ramificação
- Expressões aritméticas e matemáticas básicas, além de testes booleanos
- as variáveis do sistema permitem eventos cronometrados, valores médios, rms, mínimo e máximo de pinos analógicos, etc.
- 26 variáveis de usuário para interagir com variáveis e comandos do sistema
- 104 bytes de uma matriz endereçável pelo usuário ou 52 inteiros curtos
- capacidade de ler / escrever dados do programa, bem como código em tempo real (variável p)
- aplicativo de mini osciloscópio com caracteres personalizados para pseudo gráficos
- salvar e carregar programas e dados de / para EEPROM
- carregar / salvar programas e variáveis de / para o PC
- autoexec para carregar e executar um programa da EEPROM após cada reinicialização
- 9 pinos GPIO (SPI incluído) disponíveis no conector DB15 externo
- BUZZER para efeitos sonoros
Etapa 2: Coisas que você vai precisar
Um teclado ps / 2 antigo espesso o suficiente para abrigar o display de caracteres LCD pcb (o formato paralelo popular) chip MAX232 para porta RS232 atmel atmega328PU Arduino kit de desenvolvimento com IDE 1.0.1 LM7805 regulador 5V buzzer retificador de ponte, capacitores, um botão de reinicialização, conectores etc
Etapa 3: Gravando o Bootloader
Então, depois de comprar um chip atmega328PU "vazio", há uma decisão a ser tomada. Devo usar um programador especial externo ou ISP ou queimar o bootloader Arduino na besta e tornar a unidade programável por meio de sua porta UART? Escolhi este último para facilitar minha vida! O novo bootloader ocupa apenas meio kilobyte de memória flash, deixando um pouco mais de 31 KB de programa do usuário e dados estáticos disponíveis. O site do Arduino cobre o caso de queimar o bootloader em um novo chip, quando se tratava de usar avrdude para realmente queimar o chip alvo, o processo falhou com um erro indicando o id errado para o MCU específico. Então, depois de algumas buscas, encontrei esse cara que acertou e segui seu procedimento. A única diferença eram 2 arquivos de configuração, avrdude.conf e boards.txt necessários para avrdude e arduino IDE 1.0.1 para tornar isso possível. Depois de copiar os 2 arquivos para seus locais apropriados (faça backup dos antigos primeiro), a opção ‘arduino328’ de ferramentas-> Placa estava disponível e o avrdude prosseguiu com a queima dos fusíveis e do carregador de boot. Agora o chip está pronto para ser programado na nova máquina!
Etapa 4: Construindo a Unidade
Uma placa perfurada com tiras de cobre foi usada como solução de montagem rápida com soquetes DIP para os chips, sabe, só para garantir! Em seguida, os orifícios e cortes para os conectores, o botão de reset e a tela LCD foram abertos através do plástico extremamente resistente e grosso do teclado. Sim, isso foi construído há 25 anos! Seguiu-se a confusão de fios que emanavam do pcb em direção aos vários periféricos. Uma verificação rudimentar de continuidade e, em seguida, a fonte foi conectada sem nenhum chip populado apenas para verificar os soquetes quanto às tensões adequadas. Em seguida, vieram os 2 CIs e a caixa do teclado foi fechada com firmeza por meio de seus encaixes de plástico na parte inferior. A unidade estava pronta para gravar esboços no controlador!
Sugiro que se use capacitores não polares de 1uF / 16V para as bombas de carga MAX232. Localize os capacitores de desacoplamento 100nF para os dois chips o mais próximo possível dos respectivos pinos VCC e GND. Use uma conexão em estrela para a alimentação e o aterramento referenciados ao regulador LM7805. O switch 2 pode ser um jumper dependendo da implementação, mas é bom tê-lo apenas para evitar redefinições de MCU indesejadas do PC host em certos casos. De qualquer forma, a chave deve ser fechada para permitir que o IDE do Arduino queime o esboço por meio da redefinição do MCU de destino (pino DTR do RS232). No meu caso a conexão é permanente (sempre fechada). Use um resistor em série para a campainha para isolar os vários nFs de capacitância da porta de acionamento … você nunca sabe.. Localize o XTAL e os capacitores de 18-22pF de carga o mais próximo possível dos respectivos pinos do controlador.
Devido à ponte retificadora, a unidade pode ser alimentada por adaptadores de energia CA e CC. No caso de CC, há uma queda de tensão de 1,5 V entre o adaptador e a entrada do regulador. No caso de CA, a entrada do regulador é cerca de 1,4 vezes a saída RMS do adaptador ou menos devido ao carregamento. Se a diferença entre a entrada do regulador e sua saída (+ 5V) for grande, digamos 7 volts, então a energia consumida pelo regulador se aproxima de 0,5 watts e é melhor usar um pequeno dissipador de calor para montar o chip (fornecido há espaço para isso) para longas horas de operação em clima quente.
O fusível de entrada CA pode ser selecionado dependendo de suas cargas externas (via conector DB15). Outros fatores que influenciam a escolha do fusível são o resistor limitador de corrente para a luz de fundo do LED do LCD, o capacitor de ponte para a corrente de carga e a capacidade de corrente do transformador de alimentação.
Etapa 5: ESQUEMA
Etapa 6: SOFTWARE EM EXECUÇÃO A BORDO
Este é o esboço que faz tudo acontecer … e 32 KB NÃO é o suficiente! Você pode usá-lo sem modificações, caso em que gostaria de uma referência ao meu nome, ou alterá-lo à vontade e esquecer de mim;-)
Esta é a documentação detalhada sobre a máquina.
Resumo de comandos e expressões
“: Uma linha de comentário não imprimível
ai: anexar interrupção 0 (pino D2)
ar: leitura analógica
aw: ‘gravação analógica’ por arduino ou mais apropriadamente pwm
ca: captura analógica em uma matriz
cl: limpa a exibição cno: return * Prgm índice do número da linha
di: espera por uma série de pulsos e mede a duração e o tempo
dl: atraso
fazer: em conjunto com 'wh'
dr: digital lê qualquer pin
dw: digital escreva qualquer pino
ed: modo de editor / programa de carregamento de PC / renumeração de linhas
el: função de acesso EEPROM
fim: a declaração END de um programa
ensb: termina a sub-rotina
es: função de acesso EEPROM
fl: filtro de média móvel simples
fr: loop for-next (fr-nx)
ir: pula para a etapa do programa
gosb: continuar a execução para a sub-rotina
gt: aguarda a entrada do usuário
if: condição de teste e pule para a etapa
io: GPIO 1-9 bits
ld: carregar / mesclar programa da EEPROM
lp:: loop controlado pelo teclado no modo interativo
ls: list mode / send program to PC uma linha de cada vez
ml: obter tempo
mm: exibir memória livre
nos: converte número em string
nx: em conjunto com 'fr'
pl: plot array cxx
pm: definir pinos para entrada ou saída
pr: imprime uma mensagem ou valor ou caractere personalizado
rgc: comando de cópia de intervalo para matrizes
rgs: comando range set para matrizes
rn: execute o programa na RAM
rs: soft reset
rx: receba um personagem via RS232
si: entrada serial síncrona com relógio e pinos de dados
sm: mini osciloscópio app sno: converte string em número
portanto: saída serial síncrona com pinos de relógio e dados
sub: declara a sub-rotina
sv: salvar programa para EEPROM
tn: bip um tom
tx: transmitir um número via RS232
wh: um loop do-while usado em conjunto com ‘do’
Etapa 7: videoclipe do mini-aplicativo 'sm' em execução
visite meu site para ler toda a história e baixar todos os arquivos relevantes
www.sites.google.com/site/demeterart
Recomendado:
PIR prático para uso doméstico: 7 etapas (com fotos)
PIR prático para uso doméstico: Como muitos de vocês que trabalham com projetos de automação residencial, eu estava procurando construir um sensor PIR funcional para automatizar algumas curvas em minha própria casa. Embora os sensores PIR do interruptor de luz fossem ideais, você não pode dobrar um canto. Thi
Sistema de som doméstico: 6 etapas (com fotos)
Sistema de som doméstico: Este sistema de áudio é simples de fazer e barato (menos de US $ 5 mais alguns materiais recuperados encontrados em minha oficina) .Permite uma audição forte o suficiente para uma sala grande. Como fontes de sinal podem ser usadas: -Bluetooth de qualquer celular telefone. -MP3 de um memor
Controlador de jogo DIY baseado em Arduino - Controlador de jogo Arduino PS2 - Jogando Tekken com gamepad Arduino DIY: 7 etapas
Controlador de jogo DIY baseado em Arduino | Controlador de jogo Arduino PS2 | Jogando Tekken com DIY Arduino Gamepad: Olá pessoal, jogar é sempre divertido, mas jogar com seu próprio controlador de jogo DIY personalizado é mais divertido. Portanto, faremos um controlador de jogo usando arduino pro micro neste instructables
HRV (Trocador de ar doméstico) Controlador Arduino com economizador de ar: 7 etapas (com imagens)
HRV (Home Air Exchanger) Controlador Arduino com Economizador de ar: HRV Arduino Controller com Economizador de ar Então, minha história com este projeto é que eu moro em Minnesota e minha placa de circuito fritou no meu LifeBreath 155Max HRV. Eu não queria pagar os $ 200 por um novo. Sempre quis algo com um pecado economizador de ar
O Informante Doméstico: 4 Passos
The Household Informer: Quem quer sair para ver se a correspondência chegou? No inverno frio ou na chuva, prefiro não ter que colocar casaco e sapatos, apenas para descobrir que não há correspondência. Este projeto irá notificá-lo sobre a visita do carteiro e como um