Skip to content

Instantly share code, notes, and snippets.

@carlosdelfino
Created January 17, 2020 18:39
Show Gist options
  • Save carlosdelfino/8c85f4e405a9c6f3313e916a150a052e to your computer and use it in GitHub Desktop.
Save carlosdelfino/8c85f4e405a9c6f3313e916a150a052e to your computer and use it in GitHub Desktop.
Código para analise de funcionamento do Piezo Eletrico
/*
* Favor manter este cabeçalho e citar meu nome e meu site (carlosdelfino.eti.br) quando referir-se a este código.
* Autor Carlos Delfino {professor@carlosdelfino.eti.br}
*/
void setup() {
Serial.begin(9600);
pinMode(A0,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A5,OUTPUT);
pinMode(A6,OUTPUT);
pinMode(A1,INPUT);
pinMode(A4,INPUT);
Serial.println();
Serial.println();
Serial.println();
Serial.print("Piezo");
Serial.print("\t");
Serial.print("Piezo_2");
Serial.print("\t");
Serial.print("Potenciometro_1");
Serial.print("\t");
Serial.print("Frequência_1");
Serial.print("\t");
Serial.print("Frequência_2");
Serial.println();
}
void loop() {
static double last = millis();
int piezo = analogRead(A4);
int piezo2 = piezo;
double lastLoop = millis();
double lastLoopM = 0;
for(int i = 0; i < 150;i++){
piezo2 = max(piezo2,analogRead(A4));
lastLoopM += millis()-lastLoop;
lastLoop = millis();
}
lastLoopM /= 150;
int pot = analogRead(A1);
Serial.print(piezo);
Serial.print("\t");
Serial.print(piezo2);
Serial.print("\t");
Serial.print(pot);
Serial.print("\t");
Serial.print(1/lastLoopM*1000/10); // divido por dez para reduzir a escola e evitar estorar o gráfico
Serial.print("\t");
Serial.print(1/(millis()-last)*1000/10); // divido por dez para reduzir a escola e evitar estorar o gráfico
Serial.println();
delay(10);
last = millis();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment