Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Um contador de pulsos é um dispositivo eletrônico que conta o número de pulsos elétricos em uma determinada linha de entrada. Esse tipo de contador é amplamente utilizado em diversas aplicações, como medição de velocidade, controle de processos industriais, e contagem de eventos. No contexto do Arduino, o contador de pulsos pode ser implementado de forma simples e eficiente, aproveitando as capacidades de interrupção e leitura de pinos digitais da plataforma.
Project: Neste projeto, vamos criar um contador de pulsos utilizando um Arduino Uno. O objetivo é contar o número de pulsos gerados por um sensor de efeito Hall, que detecta a passagem de um ímã. O projeto terá as seguintes funcionalidades:
Components List:
Examples:
#include <LiquidCrystal.h>
// Inicializa a biblioteca LCD com os pinos correspondentes
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
volatile int pulseCount = 0; // Variável que armazena a contagem de pulsos
const int hallSensorPin = 2; // Pino do sensor de efeito Hall
const int resetButtonPin = 7; // Pino do botão de reset
void setup() {
// Configura os pinos
pinMode(hallSensorPin, INPUT);
pinMode(resetButtonPin, INPUT_PULLUP);
// Configura a interrupção para o sensor de efeito Hall
attachInterrupt(digitalPinToInterrupt(hallSensorPin), countPulse, RISING);
// Inicializa o display LCD
lcd.begin(16, 2);
lcd.print("Pulsos: ");
}
void loop() {
// Verifica se o botão de reset foi pressionado
if (digitalRead(resetButtonPin) == LOW) {
pulseCount = 0; // Reseta a contagem de pulsos
lcd.setCursor(0, 1);
lcd.print("Pulsos: ");
lcd.print(pulseCount);
delay(200); // Debounce para o botão de reset
}
// Atualiza a contagem de pulsos no display LCD
lcd.setCursor(0, 1);
lcd.print("Pulsos: ");
lcd.print(pulseCount);
delay(100); // Pequeno delay para evitar flickering no display
}
// Função de interrupção para contar os pulsos
void countPulse() {
pulseCount++;
}
Explicação do Código:
#include <LiquidCrystal.h>
: Inclui a biblioteca necessária para controlar o display LCD.LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
: Inicializa a biblioteca LCD com os pinos correspondentes.volatile int pulseCount = 0
: Declara uma variável volátil para armazenar a contagem de pulsos.const int hallSensorPin = 2
: Define o pino do sensor de efeito Hall.const int resetButtonPin = 7
: Define o pino do botão de reset.void setup()
: Configura os pinos e inicializa o display LCD.attachInterrupt(digitalPinToInterrupt(hallSensorPin), countPulse, RISING)
: Configura a interrupção para o sensor de efeito Hall.void loop()
: Verifica se o botão de reset foi pressionado e atualiza a contagem de pulsos no display LCD.void countPulse()
: Função de interrupção para contar os pulsos.