Problema con Pines PWM en arduino nano

Adjunto la programación para que pueda dar a entender en mi duda.

int rojo = 3; // salida PWM de arduino nano y cree un entero en el pin 3 como "rojo"

void setup()
{
pinMode(rojo,OUTPUT); // declarado como una salida
}

void loop()
{
analogWrite(rojo,123); // la intensidad a la que debe brillar el led
}

Hola usuarios de arduino. Tengo un problema con los PWM del arduino nano Atmega328P, al tratar de programar unos leds RGB me di cuenta que cuando ponía "analogWrite(rojo,123)" hacía que brillaran a la mitad de su intensidad, pero cuando ponía "analogWrite(rojo,0)" seguía encendido, pensaba que no servia el arduino que me habían vendido, pero por curiosidad puse "analogWrite(rojo,255)" y se apagaron los leds, después intente con ""analogWrite(rojo,254)" y prendieron un poco, me di cuenta que los valares estaban invertidos, 255 = 0, 254 =1,..., 0=255, 1=254. No sé como solucionar ese problema, me gustaría que estuvieran normal, podría trabajar así, y lo voy hacer ya que tengo que hacer una , practica de la escuela, pero me gustaría que los valores estuvieran bien para programar mas cómodo.
¿Cómo puedo solucionarlo? ¿Es problema del arduino, de mi laptop, me vendieron una pirata?
Gracias de ante mano :smiley:

eso se debe a que tienes los leds conectados de modo incorrecto.

Si el pin alimenta el led a través de una R entonces un aumento en analogWrite se traduce en un aumento de brillo.

Pero si el le se alimenta desde 5V a través de una R y al PIN el funcionamiento es el inverso, tal como lo describes.

NOTA: Lee las normas del foro y edita la porción de código usando etiquetas </>