Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Crie um Menu Controlado por Encoder Rotativo no LCD Nokia 5110 com Arduino UNO

Componentes e Materiais

Aplicativos e Serviços Online

Sobre o Projeto

Neste tutorial, aprendemos a construir nosso próprio menu para o popular display LCD Nokia 5110, tornando nossos projetos mais amigáveis e capazes.

O projeto exibe um menu simples no display. Com o encoder rotativo, navego para cima/baixo e seleciono itens pressionando o botão central. Ao pressionar, outra tela aparece para alterar o valor de uma variável. Pressionando novamente, volto ao menu principal. O menu tem 6 itens, com rolagem automática (exibem-se 3 por vez). Assista ao vídeo anexo para ver o funcionamento. Você pode modificá-lo para menus mais complexos.

Passo 1: Obtenha Todas as Peças

Custo total inferior a $10. Links na descrição do vídeo.

Passo 2: Display LCD Nokia 5110

Meu display favorito para projetos Arduino. Originalmente tela de celular, usa controlador PCD8544 (CMOS de baixo consumo). Consome apenas 0.4mA ligado (backlight desligado) e <0.06mA em modo sleep! Interface serial facilita uso com Arduino (apenas 8 fios). Custo ~$4.

Passo 3: Encoder Rotativo

Dispositivo eletromecânico que converte posição angular em código digital. Usado em controles industriais, robótica, mouses, etc. Este encoder barato tem botão embutido (5 fios). Custo ~$1.50.

Passo 4: Montando o Projeto

Display: Reset→D3, D2→D4, D3→D5, D4→D11, D5→D13. VCC→3.3V Arduino. Backlight→D7 (controle por software). GND→GND.

Encoder: GND→GND, VCC→3.3V, SW→A2, DT→A1, CLK→A0.

Diagrama esquemático disponível na descrição do vídeo.

Passo 5: O Código do Projeto

Usamos 4 bibliotecas:

A função drawMenu() desenha o menu na tela, chamada a cada poucos ms. Variáveis globais importantes:

Variáveis para itens do menu facilitam personalização:

String menuItem1 = "Contraste";
String menuItem2 = "Volume";
String menuItem3 = "Idioma";
String menuItem4 = "Dificuldade";
String menuItem5 = "Luz: LIGADA";
String menuItem6 = "Reset";

boolean backlight = true; int contrast = 60; int volume = 50;
String language[3] = {"EN", "ES", "EL"}; int selectedLanguage = 0;
String difficulty[2] = {"FÁCIL", "DIFÍCIL"}; int selectedDifficulty = 0;

No loop(), chamamos drawMenu(), lemos encoder e verificamos botão. Navegação: encoder muda menuitem, botão altera page. Na tela secundária, encoder ajusta valor da variável. Código tem ~400 linhas, complexo mas compreensível na prática.

Passo 6: Testando o Projeto

Carregando o código, o menu funciona: navegação com eixo do encoder, seleção com botão. Ótimo para tornar projetos mais amigáveis!

Melhorias futuras: usar interrupções em vez de polling constante, reduzindo consumo e limpando código. Vídeo sobre interrupções em breve.

Código

Trecho de Código #2

String menuItem1 = "Contraste";
String menuItem2 = "Volume";
String menuItem3 = "Idioma";
String menuItem4 = "Dificuldade";
String menuItem5 = "Luz: LIGADA";
String menuItem6 = "Reset";
boolean backlight = true; int contrast = 60; int volume = 50;
String language[3] = {"EN", "ES", "EL"}; int selectedLanguage = 0;
String difficulty[2] = {"FÁCIL", "DIFÍCIL"}; int selectedDifficulty = 0;

Links GitHub

Processo de manufatura

  1. Crie um Sistema Ambilight Impressionante para Monitor com Arduino
  2. Construa um Osciloscópio Arduino de 20 kHz em LCD Nokia 5110 – Guia DIY Fácil
  3. Crie Animações e Jogos Envolventes em LCD com Arduino UNO
  4. Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
  5. Monitor de Frequência Cardíaca IoT em Tempo Real com Arduino e MAX30100
  6. Servidor Web Arduino Uno WiFi: Controle LED via Navegador
  7. Construa um Voltímetro DIY com Arduino e Display Nokia 5110 – Guia Passo a Passo
  8. Roda de Medição Precisa DIY com Arduino Nano e Encoder Rotativo
  9. Automatize o Jogo do Dinossauro do Chrome com Arduino e LDR
  10. Construa um Rádio FM Compacto com Arduino Nano e RDA5807M