Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Este código foi escrito para utilizar uma placa Attiny85 e não foi escrito por um profissional de programação.
- *Pode-se alterar os valores dos pinos de acordo com sua montagem, levando em conta as funcionalidades necessárias.
- *Foram utilizadas variáveis com nome em inglês para evitar a utilização de palavras com caracteres proibidos.
- */
- #include <LiquidCrystal_I2C.h> //inclui biblioteca para o display com interface serial
- #include <Wire.h> //Inclui biblioteca I2C para o a interface do display
- #define reset_counter PB1 //define o pino para o botão que zera a contagem
- #define sensor_pin PB3 //define o pino de entrada para o sensor de faísca **Pino com ADC**
- uint32_t count = 0, lastcount = 0; //variáveis para valor de contagem e última contagem
- uint8_t change = 1; //variável para atualização do display
- LiquidCrystal_I2C lcd(0x27,16,02); //Define endereço lógico do display e dimensões em caracteres **endereços mais comuns: 0x27 e 0x3f**
- void setup() {
- pinMode(sensor_pin, INPUT); //ativa o pino do sensor como entrada
- pinMode(reset_counter, INPUT_PULLUP); //ativa o resistor interno do pino de zerar o contador
- Wire.begin(); //inicia a conexão wire
- lcd.init(); //inicia o display
- lcd.setBacklight(HIGH); //Acende a luz de fundo do display
- lcd.clear(); //limpa o display e retorna o cursor para o início
- lcd.print("Contagens: ");
- }
- void loop() {
- if(change == 1){
- //se precisar atualizar o valor no lcd, sobrescreve com espaços o valor presente no lcd e escreve o novo valor e desativa a variável atualização do display
- lcd.setCursor(10,0);
- lcd.print(" ");
- lcd.setCursor(10,0);
- lcd.print(count);
- change = 0;
- }
- if(analogRead(sensor_pin) < 600){
- //se detectar uma faísca o número de contagens aumenta
- count++;
- }
- if (count != lastcount){
- //detecta variação da contagem
- change = 1;
- }
- if (digitalRead(reset_counter) == 0){
- //ao detectar o botão de zerar pressionado, zera as variáveis de contagem e ativa a atualização do display
- count = 0;
- change = 1;
- }
- lastcount = count; //define o valor para a última contagem
- }
Advertisement
Add Comment
Please, Sign In to add comment