cos()

cos(rad)

O cosseno anda de mãos dadas com o seno: enquanto o seno cuida do eixo Y de um movimento circular, o cosseno cuida do eixo X. Junte os dois e você desenha círculos, controla trajetórias e gera ondas defasadas. E o mesmo aviso vale aqui: o ângulo entra em radianos.

Sintaxe

cos(rad);

Parâmetros

  • rad: o ângulo em radianos (tipo float ou double). Vindo de graus, converta com radianos = graus * PI / 180.0.

Retorno

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

Exemplo

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

void loop() {
  // posição (x, y) de um ponto girando num círculo de raio 100
  for (int graus = 0; graus < 360; graus += 45) {
    float rad = graus * PI / 180.0;
    float x = 100 * cos(rad);
    float y = 100 * sin(rad);
    Serial.print("x = ");
    Serial.print(x, 1);
    Serial.print("  y = ");
    Serial.println(y, 1);
  }
  delay(2000);
}

Notas e cuidados

  • Ângulo em radianos, sempre. Para graus, multiplique por PI / 180.0 antes.
  • cos(0) vale 1, e cos está 90 graus adiantado em relação ao sin — útil para gerar duas ondas defasadas.
  • Conta de ponto flutuante: no Uno, sem unidade de ponto flutuante em hardware, é custosa. Em loops muito rápidos, uma tabela de valores pode compensar.

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

Conhecer o Curso Maker