Índice:
Vídeo: Cobra em uma tábua de pão: 3 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
"Tem algum jogo no seu telefone?"
"Não exatamente."
Introdução:
Simples de controlar, fácil de programar e imortalizado pelo Nokia 6110, o Snake se tornou um projeto favorito entre os engenheiros. Foi implementado em qualquer coisa, desde matrizes de LED, LCDs, iluminação de estantes e até mesmo janelas de edifícios inteiros. Estaremos implementando o Snake em uma pequena placa de ensaio e uma tela OLED. As pessoas certamente criaram tocadores de cobra menores, mas isso usa especificamente uma placa de ensaio, eliminando a necessidade de projetar PCBs ou solda.
(Você poderia apenas fazer um aplicativo no seu telefone, mas não fazemos as coisas porque são fáceis.)
Pré-requisitos:
Uma compreensão básica de circuitos, como breadboard e uma compreensão sólida de programação em Arduino.
Suprimentos
- Arduino Nano
- 2 resistores razoavelmente altos (1kOhm)
- Tiny breadboard
- 2 botões de pressão
- Fio de núcleo sólido 22 AWG
- 128 x 64 OLED
Esses são links de afiliados da Amazon, então ganho uma pequena comissão a cada venda. Se você ainda não tem esses suprimentos e deseja apoiar projetos futuros meus, siga estes links!:)
Etapa 1: placa de ensaio
Para fazer nosso produto final, obviamente temos que montar o hardware para programar e testar nosso projeto. O diagrama do sistema para este projeto é bastante simples, pois envolve apenas um total de 4 componentes.
1. Layout:
Pegue seus componentes e coloque-os na placa, garantindo que tudo se encaixe. Visualize quais fios e pinos você usará e para quais finalidades. Certifique-se de que os fios previstos não se cruzem, pois isso torna a placa de ensaio mais complicada. Anote quais pontos você precisa para se conectar! Embora seja uma placa de ensaio simples, ela tornará sua vida muito mais fácil durante o processo de fiação e em geral. Devido ao tamanho pequeno do nosso espaço de trabalho, esta é uma etapa extremamente importante.
Notas:
Como o OLED usa o barramento I2C, os pinos A4 e A5 devem ser usados. O tamanho da placa de ensaio não permite um trilho de alimentação e aterramento, então usei alguns truques para fazer tudo funcionar. A tensão positiva para os botões é fornecida pelos pinos D13 e A2. Descobri que os pinos do Arduino não só fornecem corrente, mas também absorvem corrente, então usei A3 como aterramento para o botão certo. Para maximizar o espaço na placa de ensaio, pendurei metade do Nano fora da placa e apoiei os pinos do lado esquerdo com um pedaço de espuma.
2. Ligue-o para fora:
Com um par de desencapadores de fio e uma quantidade decente de fio de núcleo sólido 22 AWG, conecte seus componentes perfeitamente. Usar núcleo sólido para fazer projetos de protoboard semipermanentes é fundamental, porque você pode cortá-los no comprimento, ao contrário dos fios de jumper. Certifique-se de não deixar muito comprimento excessivo nos fios, pois a placa ficará bagunçada. Corte as pontas dos resistores pull-down para que fiquem alinhadas com a placa.
(Você também pode simplesmente seguir o que fiz acima.)
Etapa 2: Programa e Teste
Para evitar dores de cabeça mais tarde, certifique-se de que o OLED e os botões funcionem como deveriam, criando programas de teste básicos.
1. Planeje, planeje, planeje:
Pular direto para o código não é uma prática sábia. Acredite em mim, eu tentei! É por isso que você deve descrever como seu programa funcionará. Um fluxograma do programa é uma maneira bastante sólida de planejar o que seu código precisa fazer e, com certeza, o manterá no caminho certo. Veja o meu por exemplo (acima)
2. Código, código, código:
Francamente, este projeto é um exercício de programação maior do que um exercício de hardware. A única biblioteca que usei foi a biblioteca OLED da Adafruit, sem contar as bibliotecas de suporte GFX e Wire.
Faça você instalar a biblioteca OLED do Adafruit através do gerenciador de biblioteca do IDE do Arduino.
Não consigo documentar todas as linhas de código que escrevi, mas aqui estão algumas dicas:
Pontas:
Comentários:
- Em primeiro lugar, escreva comentários organizados e úteis enquanto codifica. Futuramente, você e outras pessoas que lerem seu código irão certamente agradecer.
Memória:
- Com projetos mais complexos como esses, SRAM se torna uma commodity bastante procurada. Na biblioteca Adafruit, o buffer OLED de 128 x 64 ocupa 1 kB sozinho, que é cerca de metade da memória em um ATMega328p. Portanto, o gerenciamento inteligente de memória é mais importante do que nunca.
- Com grandes estruturas de dados, os dados mantidos vão se acumular e ocupar muito espaço. Para reduzir o consumo de memória de minhas variáveis, usei tipos de dados menores (como curto e byte) quando possível.
- As strings são normalmente armazenadas em SRAM, mas usar a função F () irá colocá-las no PROGMEM, economizando memória preciosa.
Millis:
- Para obter um tempo mais preciso dos ciclos do jogo, utilize a função millis (). Existem muitos bons tutoriais e exemplos online.
Pré-definir:
- Use a diretiva do pré-processador #define como uma maneira fácil de definir valores permanentes no código.
Teste:
- Teste seu código conforme você avança. Será muito mais fácil eliminar os bugs.
Etapa 3: Divirta-se
Divirta-se com seu novo jogo de cobra!
(Eu sei que ganhei 20 pontos no vídeo acima, você pode definir a condição de vitória mais alta no meu código.)
Coisas para expandir:
- Uma bateria para portabilidade
- Botões mais seguros
- Um jogo de cobra ainda menor
- Ainda mais jogos?
Recomendado:
Tábua de pão caseira usando clipes de papel: 16 etapas
Prancha de pão caseira usando clipes de papel: Fazemos uma prancha de pão caseira usando clipes de papel inseridos em papelão. Em seguida, usamos clipes de papel para conectar nossos componentes eletrônicos aos trilhos de clipe de papel. Chamamos isso de crimpagem de clipe de papel. Nenhuma solda é necessária! Estas são CONEXÕES MUITO FORTES! En
Fonte de alimentação de tábua de pão DIY: 5 etapas (com imagens)
Fonte de alimentação para placas de ensaio DIY: Eu sempre quis uma fonte de alimentação portátil feita especialmente para placas de ensaio. Como não o encontro à venda, tive que fazer o meu. Convido você a fazer o mesmo.PCB patrocinado pela JLCPCB. $ 2 para PCBs & Frete grátis primeiro pedido: https://jlcpcb.com/Featu
Pente de migalhas de pão para limpar uma fatiadora de pão industrial (Oliver 732-N): 3 etapas (com fotos)
Pente de migalhas de pão para limpar uma fatiadora de pão industrial (Oliver 732-N): Este Ible está muito longe do caminho comum. Há um fatiador de carregamento frontal Oliver 732-N (espaçamento 7/16 ”) na padaria onde trabalho. Quando ele corta, ele faz migalhas de pão finas que se acumulam no berço. Um pincel é usado para varrer a frente
Tábua de pão caseira: 5 etapas
Tábua de pão caseira: tábua de pão caseira feita de soquete de 28 pinos e cola
Soquete de tábua de pão de cartão SD barato DIY: 8 etapas
Soquete de placa de ensaio de cartão SD DIY barato: Você tem um projeto que precisa de uma interface para armazenamento em massa, mas não tem os recursos para construir uma placa de breakout para um soquete padrão? Neste Instructable, você aprenderá como fazer um soquete de cartão SD que se conecta diretamente a uma placa de ensaio para