sin()

sin(rad)

Quando você precisa gerar uma onda suave, calcular a posição de um servo num movimento circular ou trabalhar com qualquer coisa que oscila, o seno é seu melhor amigo. Só lembre de um detalhe que pega todo mundo: o ângulo entra em radianos, não em graus.

Sintaxe

sin(rad);

Parâmetros

  • rad: o ângulo em radianos (tipo float ou double). Se você tem o ângulo em graus, converta antes: radianos = graus * PI / 180.0.

Retorno

O seno do ângulo, um double entre -1.0 e 1.0.

Exemplo

void setup() {
  Serial.begin(9600);
}

void loop() {
  // varre de 0 a 360 graus gerando uma onda senoidal
  for (int graus = 0; graus < 360; graus += 30) {
    float rad = graus * PI / 180.0;
    float valor = sin(rad);
    Serial.print(graus);
    Serial.print(" graus -> sin = ");
    Serial.println(valor, 3);
  }
  delay(2000);
}

Notas e cuidados

  • O ângulo é em radianos. Passar graus direto (ex.: sin(90)) dá resultado errado — 90 radianos não é 90 graus.
  • A constante PI já vem pronta na IDE do Arduino, então graus * PI / 180.0 resolve a conversão.
  • É conta de ponto flutuante: no Uno (sem FPU) é relativamente lenta. Se for chamar muitas vezes por segundo, considere uma tabela pré-calculada.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker