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

Cronômetro Arduino Nano LCD sem potenciômetro

Componentes e suprimentos

Breadboard (genérico)
× 1
Arduino Nano R3
× 1
Adafruit LCD padrão - 16x2 branco em azul
× 1
SparkFun Botão de pressão 12 mm
× 3
Resistor 10k ohm
× 5
Resistor 221 ohm
× 1
Fios de jumpers (genérico)
× 26

Sobre este projeto


Olá pessoal!

Este projeto é um projeto de aprendizagem simples para começar com LCD. Neste projeto estou usando Arduino NANO e LCD QUAPASS 1602A 16x2. Este cronômetro pode contar horas, minutos e segundos. Você também pode alterar o brilho do LCD.

Com apenas uma pequena mudança de código, você também pode contar centésimos, mas para o meu LCD não está funcionando porque a tela não pode atualizar tão rápido.

Eu configurei tempos quase perfeitos para meu cronômetro (meu cronômetro tem cerca de 15% de desvio, então se você executá-lo por 10 minutos reais, serão 10 minutos e 2 segundos no meu cronômetro). Portanto, se você for alterar qualquer coisa no subprograma inicial (no subprograma do programa denominado cronômetro), você também precisará alterar os tempos por causa do tempo de execução do Arduino em cada código.

PASSO 1

Conecte os fios ao Arduino e ao LCD assim (veja o que o SCHEMATIC está mostrando).

PASSO 2

Copie e cole meu código abaixo em seu IDE Arduino. E agora conecte seu Arduino na unidade USB. Clique no botão de upload e seu programa deve estar em execução.

PASSO 3

Divirta-se com meu cronômetro LCD simples e fácil de fazer.

Se você tiver alguma dúvida deixe nos comentários.


Código

  • Código
Código Arduino
Este é o código do meu cronômetro. Basta copiá-lo no IDE do Arduino e carregá-lo em seu Arduino.
 / * Programa de cronômetro LCD simples com botões de parar, iniciar, redefinir e lap. * /// incluindo biblioteca para LCD # include  // configuração up LCD INPUT pinsLiquidCrystal lcd (12,11,5,4,3,2); // definir horas, minutos, segundos e milissegundos para 0int h =0; int m =0; int s =0; int ms =0; // define o pino para todos os botõesconst int start_pin =8; const int stop1_pin =9; const int reset_pin =10; // define os pontos de partida (no meu caso 0) int start =0; int stop1 =0; int reset =0; int brilho_pin =6; // define o pino para definir o brilhoint brilho =100; // você pode alterar este número para alterar o brilho void setup () {analogWrite (brilho_pin, brilho); // isso define o brilho no pino 6 lcd.begin (16, 2); // iniciando o LCD // definindo pinos se eles são pinos de INPUT ou OUTPUT pinMode (start_pin, INPUT); pinMode (stop1_pin, INPUT); pinMode (reset_pin, INPUT); pinMode (brilho_pin, SAÍDA);} void loop () {lcd.setCursor (0,1); lcd.print ("CRONÔMETRO"); lcd.setCursor (0,0); lcd.print ("HORA:"); lcd.print (h); lcd.print (":"); lcd.print (m); lcd.print (":"); lcd.print (s); start =digitalRead (start_pin); // lendo o estado do botão if (start ==HIGH) {stopwatch (); // vai para o cronômetro do subprograma}} // -------------------- SUB PROGRAMAS ----------------- -------- void stopwatch () {lcd.setCursor (0,0); // definindo o ponto inicial em lcd lcd.print ("TIME:"); // escrevendo TIME lcd.print (h); // escrever horas lcd.print (":"); lcd.print (m); // escrever minutos lcd.print (":"); lcd.print (s); // gravação de segundos ms =ms + 10; atraso (10); if (ms ==590) {lcd.clear (); // limpa o LCD} if (ms ==590) // se o estado para contagem de segundos {ms =0; s =s + 1; } if (s ==60) // if estado para contagem de minutos {s =0; m =m + 1; } if (m ==60) // se estado para contagem de horas {m =00; h =h + 01; } lcd.setCursor (0,1); lcd.print ("CRONÔMETRO"); stop1 =digitalRead (stop1_pin); // lendo o estado do botão if (stop1 ==HIGH) // checando se o botão está pressionado {stopwatch_stop (); // indo para o subprograma} else {stopwatch (); // indo para o subprograma}} void stopwatch_stop () {lcd.setCursor (0,0); lcd.print ("HORA:"); lcd.print (h); lcd.print (":"); lcd.print (m); lcd.print (":"); lcd.print (s); lcd.setCursor (0,1); lcd.print ("CRONÔMETRO"); start =digitalRead (start_pin); // lendo o estado do botão if (start ==HIGH) {stopwatch (); // indo para o subprograma} reset =digitalRead (reset_pin); // lendo o estado do botão if (reset ==HIGH) {stopwatch_reset (); // indo para o subprograma loop (); } if (reset ==LOW) {stopwatch_stop (); // indo para o subprograma}} void stopwatch_reset () {lcd.clear (); lcd.setCursor (0,1); lcd.print ("CRONÔMETRO"); h =00; // definir horas para 0 m =00; // definir minutos para 0 s =00; // configurando segundos para 0 return; // saindo do programa e retornando ao ponto onde entrou no programa} 
Biblioteca
Esta é a biblioteca de que você precisa para LCD.https://github.com/arduino-libraries/LiquidCrystal

Esquemas

Este é um esquema do meu circuito.

Processo de manufatura

  1. DIY Simple 20 kHz Arduino Oscilloscope no Nokia 5110 LCD
  2. Smart Blinds
  3. Homem de Ferro
  4. Sensor de obstáculo simples com Arduino
  5. Encontre-me
  6. Controle do umidificador Arduino
  7. Osciloscópio DIY 10Hz-50kHz em tela LCD 128x64
  8. Joystick Arduino
  9. Pedômetro (Arduino 101)
  10. Arduino Color Mixer