// ---------------------------------------------------------------------------
/* Código para Arduino Uno
Leitura de canal analógico A0 (potenciometro) e
cálculo de estatísticas de tendência central e de dispersão do sinal
jams, EESC/USP, 2024 */
// ---------------------------------------------------------------------------
// Diretivas de pré-processador
#define PINO_POTENCIOMETRO A0 // Pino analógico para o potenciômetro
#define TAMANHO_BUFFER 1 // Tamanho do buffer de amostras para cálculos
// ---------------------------------------------------------------------------
// Declaração de variáveis, protótipos de funções, etc.
float amostras[ TAMANHO_BUFFER ];
float mediaMovel = 0;
int indiceAmostra = 0;
// ---------------------------------------------------------------------------
// Configuração da porta serial
void setup() {
Serial.begin( 9600 );
}
// ---------------------------------------------------------------------------
// Loop principal
void loop() {
// float mediaMovel = 0;
// Leitura do potenciômetro (0 a 1023)
float tensao = analogRead( PINO_POTENCIOMETRO );
// Conversão para posição em graus
float posicao = map( tensao, 0, 1023, 225, -45 );
// armazenar a posicao no array de amostras
amostras[ indiceAmostra ] = posicao;
indiceAmostra = ( indiceAmostra + 1 ) % TAMANHO_BUFFER;
// ------------------------------------------------------------------------
// Exibir resultados
Serial.print( "Posição: " );
Serial.println( posicao );
delay( 100 ); // Ajuste o intervalo conforme necessário
}