Índice:

Cobra em uma tábua de pão: 3 etapas (com imagens)
Cobra em uma tábua de pão: 3 etapas (com imagens)

Vídeo: Cobra em uma tábua de pão: 3 etapas (com imagens)

Vídeo: Cobra em uma tábua de pão: 3 etapas (com imagens)
Vídeo: COBRA CASCAVEL COM DUAS CABEÇAS 2024, Novembro
Anonim
Cobra em uma tábua de pão
Cobra em uma tábua de pão
Cobra em uma tábua de pão
Cobra em uma tábua de pão
Cobra em uma tábua de pão
Cobra em uma tábua de pão

"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

Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão

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

Programa e Teste
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: