Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int PinoEntrada = 7;
- const int ledPin = 13; // Led do arduino que acende quando o sensor detecta
- const int PinChave = 4; //Pino 4 em Pull-Up com resistor de 10k, servindo como chave para começar a coleta de dados
- int ChaveState = 1; //Estado inicial do Pino 4
- int PinoState = 1; // current state of the button
- int lastPinoState = 1; // previous state of the button
- const long interval = 1000; //Intervalo de tempo em milissegundos para contar as rotações
- float taxa=0; //Taxa seria a contagem dentro do intervalo. RPM=60*taxa
- float taxaAnt=0;
- unsigned long previousMillis = 0;
- int contagem = 0;
- void setup()
- {
- Serial.begin(9600);
- pinMode(ledPin, OUTPUT); //Led do arduino como saída
- pinMode(PinoEntrada, INPUT); //Pino 7 como entrada
- }
- void loop()
- {
- ChaveState = digitalRead(PinChave); //Estado do Pino 4
- if (ChaveState==LOW){
- do {
- PinoState = digitalRead(PinoEntrada); //Leitura do Pino 7
- unsigned long currentMillis = millis();
- if (PinoState != lastPinoState) {
- if (PinoState == LOW) {
- contagem++;
- digitalWrite(ledPin, HIGH);
- }
- else {
- digitalWrite(ledPin, LOW);
- }
- }
- if (currentMillis - previousMillis >= interval) {
- taxa=(1000*float(contagem))/interval;
- Serial.print("Taxa:"); //Visualização do RPM instantâneo
- Serial.println(taxa);
- if (taxa > taxaAnt) { //Essa etapa que entraria para o TXT
- Serial.print("RPM:");
- Serial.println(60*float(taxa));
- taxaAnt=taxa;
- }
- contagem=0;
- previousMillis = currentMillis;
- }
- lastPinoState = PinoState;
- ChaveState = digitalRead(PinChave); //Estado do Pino 4
- }while(PinChave==LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement