Giter VIP home page Giter VIP logo

rpmpcnt's Introduction

Classe para medir RPM

Classe que implementa um contador de RPM com o API da Espressif PCNT. O contador PCNT é um contador de pulso da Espressif. A classe obtém a rotação dividindo o número de pulsos acumulados no contador PCNT por um intervalo de tempo que pode ser definido no contrutor.

Fizicamente isso pode ser feito com um Fotodiodo ou um fototransistor com o sensor TCRT5000 por exemplo.

Neste caso, o sensor pode detectar a mudança de uma cor no corpo do rotor por exemplo, assim tem-se um pulso por rotação. Caso fosse usado um barreira na hélice, tem-se, no mínimo, dois pulso por rotação completa.

A instância RPM rpm_instancia(gpio_num_t sensor, uint8_t pulses_per_cicle, pcnt_unit_t pcnt_unit, uint32_t sample_period_millisecond) recebe a porta que o sensor está conectado, o número de interceptações em cada ciclo, o contador PCNT e o tempo que o número de pulso foi contabilizado. Por exemplo, se o sensor utilziado é um sensor de barreira óptica ligado na GPIO_NUM_12 e o pode-se fazer

RPM rpm_instancia(GPIO_NUM_12, 1, PCNT_UNIT_0, 1000);

Quando o método rpm_instancia.update_rpm() for chamado, a variável rpm_instancia.rpm é atulizado divindo o número de pulsos

rpmpcnt's People

Contributors

roneydua avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.