Índice:

Console portátil com controladores e sensores sem fio (Arduino MEGA e UNO): 10 etapas (com imagens)
Console portátil com controladores e sensores sem fio (Arduino MEGA e UNO): 10 etapas (com imagens)

Vídeo: Console portátil com controladores e sensores sem fio (Arduino MEGA e UNO): 10 etapas (com imagens)

Vídeo: Console portátil com controladores e sensores sem fio (Arduino MEGA e UNO): 10 etapas (com imagens)
Vídeo: Use um Arduino sem ter Arduino! #ManualMaker Aula 5, Vídeo 1 2024, Julho
Anonim
Image
Image
Conecte a tela (sensível ao toque)
Conecte a tela (sensível ao toque)

O que eu usei

- Arduino MEGA

- 2 Arduino UNO

- Adafruit 3,5 TFT 320x480 Touchscreen HXD8357D

- Buzzer

- Alto-falante 4Ohm 3W

- Luzes LED de 5 mm

- Impressora Ultimaker 2+ com filamento PLA preto

- Lasercutter c / madeira MDF

- Tinta spray preta (para a madeira)

- 3 transceptores sem fio nRF24L01 +

- 2 botões de 16 mm

- 2 sensores de pressão

- 3 porta-baterias de 9V

- breadboard

- 2 telas OLED I2C de 0,96 ''

- Macho - fios fêmea

- Estação de solda

- Super Cola

- 2x módulo de toque de um canal (VERMELHO / AZUL)

Etapa 1: conecte a tela (sensível ao toque)

Conecte a tela (sensível ao toque)
Conecte a tela (sensível ao toque)
Conecte a tela (sensível ao toque)
Conecte a tela (sensível ao toque)

Portanto, faremos este console portátil, com dois controladores sem fio.

Portanto teremos uma unidade principal (a maior parte, com a tela LCD)

A unidade principal será executada com o Arduino MEGA.

Os dois controladores separados irão, cada um, executar um Arduino UNO.

Posteriormente faremos com que os Arduinos se comuniquem entre si para enviar dados do controlador.

Comece conectando a tela 320x480 corretamente à sua unidade de tela principal (Arduino MEGA), como neste tutorial. (Adafruit tem um ótimo tutorial detalhado para fiação e código).

Para o som, conectei uma campainha e um alto-falante 3W 4Ohm para separar os pinos digitais e GND.

com o tom (pino, frequência, duração); Você pode criar alguns sons monofônicos básicos.

Etapa 2: familiarize-se com as bibliotecas

Familiarize-se com as bibliotecas
Familiarize-se com as bibliotecas
Familiarize-se com as bibliotecas
Familiarize-se com as bibliotecas

A tela Adafruit 320x480 oferece suporte às bibliotecas Adafruit_GFX e Adafruit_TFTLCD correspondentes.

Leia a documentação. Acho que está bem explicado lá.

Certifique-se de colocar as configurações corretas no IDE do Arduino:

Ferramentas -> Placa -> Arduino / Genuino MEGA ou MEGA 2560

Ferramentas -> Porta -> [A porta com '' Arduino MEGA '' nele]

Esta biblioteca de telas em particular oferece suporte a fontes personalizadas, formas básicas e uma variedade de cores.

Algo digno de nota pode ser que a taxa de atualização é muito baixa para uma animação suave. Se você quiser atualizar a tela a cada tique, será muito lento para lidar com o redesenho de cada pixel e ele irá piscar

Então, eu sugeriria trabalhar de forma criativa em torno disso, como alguns dos computadores de mão mais antigos lidavam com a animação: com quadros-chave. Menos é mais! E em vez de redesenhar tudo a cada segundo, se você quiser mover um retângulo para a esquerda ou para a direita, você pode simplesmente apagar o rastro que ele deixa para trás, em vez de apagar o objeto inteiro e redesenhar.

Por exemplo, usei a oscilação da tela como um efeito de piscar para o personagem na sequência de introdução.

Da biblioteca Adafruit_GFX, usei principalmente o tft.fillRect (x, y, largura, altura, cor); e tft.print (texto); funções.

Experimentar é a chave.

Etapa 3: Projete uma interface gráfica do usuário / menu principal

Projete uma interface gráfica do usuário / menu principal
Projete uma interface gráfica do usuário / menu principal
Projete uma interface gráfica do usuário / menu principal
Projete uma interface gráfica do usuário / menu principal

Depois de adquirir conhecimento dentro da biblioteca e conhecer suas limitações / poderes, você pode começar a projetar uma tela do Menu Principal.

Novamente, pense em retângulos. Pelo menos foi o que eu fiz.

Este é o meu código para a IU

pastebin.com/ubggvcqK

Você pode criar controles deslizantes para o brilho da tela, para controlar o pino '' Lite '' em sua tela Touchscreen Adafruit, através de um pino analógico.

Etapa 4: Conecte os dois controladores

Ligue os dois controladores
Ligue os dois controladores
Ligue os dois controladores
Ligue os dois controladores
Conecte os dois controladores
Conecte os dois controladores

Para a parte do controlador, é você quem decide que tipo de sensores deseja usar, dependendo do jogo que está planejando fazer

Ok, então para os controladores que decidi usar:

- Um sensor de pressão

- Uma tela OLED

- Módulo de toque de um canal que liga ou desliga

- Sensor de gestos (RobotDyn APDS9960)

- nRFL01 + Transceptor (para comunicação sem fio)

- Um botão de pressão

Nota: O sensor Gesture e o OLED usam conexões SCL / SDA. Demorei para perceber que o Arduino só tem dois: A4 e A5. Mas você pode simplesmente conectá-los paralelamente na placa de ensaio e funcionará bem

Etapa 5: iniciar a fiação da conexão sem fio

Comece a fiação da conexão sem fio
Comece a fiação da conexão sem fio
Comece a fiação da conexão sem fio
Comece a fiação da conexão sem fio
Comece a fiação da conexão sem fio
Comece a fiação da conexão sem fio

A cablagem dos módulos nRF24L01 + demorou algum tempo a funcionar.

Tive que recorrer à biblioteca TMRh20 RF24, depois de não conseguir obter os dados corretos do sensor transmitidos para a tela.

Para que vários Arduinos se comuniquem entre si, temos que nos certificar de que pelo menos um dos UNOs está ligado, assim como o MEGA.

Use o console serial do MEGA para imprimir os resultados que você obtém do UNO e veja se funciona.

Aqui está o código

Aqui está a biblioteca

Etapa 6: enlouqueça! Experimente várias coisas

Enlouquecer! Experimente várias coisas
Enlouquecer! Experimente várias coisas

Uma parte crucial do meu processo de desenvolvimento foi apenas experimentar muitas coisas!

Que tipo de botão você deseja usar?

O que você coloca em seus controladores?

Nos sites, você encontrará muitos componentes além dos botões '' A / B '' usuais ou joysticks analógicos. Inspire-se e fique motivado para tentar!

Depois de ter uma ideia clara e funcional do que deseja colocar nos controladores, conecte os componentes.

Dependendo de como elas funcionam, você precisará usar entradas digitais ou analógicas.

NOTA: Alguns componentes podem precisar de pinos SCL / SDA para funcionar corretamente. E se você tiver dois ou mais sensores que precisam do mesmo, provavelmente terá um ataque de pânico como eu. Mas você não precisa se preocupar

Você pode colocar os pinos SDA e SCL dos sensores em série um com o outro, indo para A4 e A5 e funcionará

Etapa 7: Design

Projeto
Projeto
Projeto
Projeto
Projeto
Projeto

Depois de ter uma ideia legal para os sensores que deseja usar, esboce algumas ideias para um design de que goste.

Depois disso, entre em alguns programas de modelagem como Blender, Maya, Cinema 4D.

Eu usei o Blender para criar um modelo (bruto).

Para obter medições claras no Blender, você pode alterar a unidade do tamanho da grade para milímetros.

Depois de fazer um modelo, certifique-se de não ter vértices duplos e recalculou seus normais.

Exporte o arquivo como.stl, se quiser usar uma impressora 3D como a minha.

NOTA: No Blender, você terá que definir a escala de exportação para 0,1, se quiser o tamanho exato em Cura na próxima etapa

Etapa 8: impressão 3D do gabinete

Impressão 3D do gabinete
Impressão 3D do gabinete
Impressão 3D do gabinete
Impressão 3D do gabinete
Impressão 3D do gabinete
Impressão 3D do gabinete

Este modelo foi impresso com filamento PLA preto de 2,85 mm em uma impressora Ultimaker 2+.

Baixar CURA

Carregue seu. STL no Cura e ele mostrará quanto tempo isso levará.

Para um estojo portátil, pode levar até 10 horas para imprimir, dependendo do tamanho.

No entanto, para modelos com poucos detalhes, você pode acelerar o processo, que é o que eu fiz.

Aqui estão minhas configurações:

Altura da camada: 0,2

Espessura da parede: 0,8

Espessura superior / inferior: 0,8

Bico: 0,4

Temperatura: 60 graus Celsius

Fluxo: 100%

Borda: qualquer lugar tocando a placa de construção

Densidade de enchimento: 20%

Gradual: 0

Temperatura do bico: 220 C

Velocidade de impressão: 120%

Etapa 9: Solda e finalização

Soldagem e finalização
Soldagem e finalização
Soldagem e finalização
Soldagem e finalização
Soldagem e finalização
Soldagem e finalização

Você percorreu um longo caminho.

A etapa final é adquirir um perfboard / veroboard e traduzir suas conexões de breadboard para uma parte de uma placa de prototipagem.

Certifique-se de que os componentes eletrônicos cabem dentro dos invólucros impressos e, talvez, corte um pouco de MDF de madeira para fazer as partes onde os botões / entradas do controlador fiquem presos.

Usei um corta-laser para isso.

O mais importante é se divertir, experimentar algumas coisas que você nunca fez de outra forma e se divertir!

Espero que este tutorial tenha sido claro o suficiente… Foi um projeto bem difícil, que rendeu um ótimo resultado!:)

Etapa 10: visualizar

Recomendado: