Cronômetro Arduino Nano LCD sem potenciômetro
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 5 | ||||
| × | 1 | ||||
| × | 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/LiquidCrystalEsquemas
Este é um esquema do meu circuito.Processo de manufatura