Phénomène etrange avec le PWM sur arduino mega

Bonjour.
Je programme sur ARDUINO depuis un moment sur NANO et STM32 et je suis en train de faire un automate pour appairer des transistors. Je suis tombé sur un truc bizarre sur une MEGA (pour plus d’entrées/sorties):

Si je fais un truc simple:

#define courBase1 2
#define tensCol1 12

void setup() {
pinMode(courBase1, OUTPUT);
pinMode(tensCol1, OUTPUT);

}

void loop() {

for (byte i = 0; i <= 255; i++) {

analogWrite(tensCol1, i);
analogWrite(courBase1, 128);
delay(10);
}

}

j’ai rien qui marche.
Par-contre si je met courBase1 à 255 j’ai bien ma rampe sur tensCol1. Mais si je le met à 254 plus de rampe.
Si je met une variable genre analogWrite(courBase1, i) ou analogWrite(courBase1, 255 - i) ça marche, mais si je met une valeur fixe autre que 255 plus rien.
J’ai essayé plusieurs sorties, plusieurs noms de variables, plusieurs manières de déclarer mes sorties, changé le delay(), et toujours pareil.
Quelqu’un a une idée ?
Merci d’avance pour vos réponses.
Cordialement.
Nicolas

Par-contre si je met courBase1 à 255 j'ai bien ma rampe sur tensCol1. Mais si je le met à 254 plus de rampe.

Je ne comprends pas, courBase1 et tensCol1 Sont des numéros de pins, vous ne pouvez pas les mettre à 254 ou 255? Voulez vous dire affecter un PWM de cette valeur sur ces broches ?

Sur un Uno les Broches PWM sont les 3, 5, 6, 9, 10 et 11 et sur une Mega ce sont les broches 2 à 13, 44 à 46

Le PWM reste une alternance rapide de 0 et 5V, comment mesurez vous votre « rampe » ? Vous parlez d’un transistor quels sont ses caractéristiques ?

——
Merci de lire les règles du forum
corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l’IDE avant de copier le code pour qu’il soit indenté correctement)

Si tu cherches à générer une tension ou un courant continu, utilise plutôt un DAC : MCP4725, 12 bits I2C.

Merci pour vos réponses.

Au modérateur: excusez moi, je ferais comme ça la prochaine fois.

A J-M-L: Bien sur je parle de la variable que je rentre grâce à analogWrite.
Je suis en train de mettre au point une carte avec des filtres passe-bas et des sources de courant et tension positives et négatives pour mesurer des transistors NPN et PNP, et des N-FET et P-FET, le tout en tout en double pour pouvoir les comparer directement. Les mesures de courants et tensions me reviennent aux les entrées analogiques par des amplis OP. Çà me sort les pourcentages d’écart de Hfe et Vbe entre les deux transistors sur 6 valeurs de Ic et 10 de Vce, et accessoirement les courbes. C'est un peu une usine à gaz mais ce serra bien pratique.

A hbachetti: Effectivement, la solution de DACs I2C simplifie beaucoup de choses, et ça me libère beaucoup de broches, ce qui me permettrait de revenir à une NANO.
Je pas super copain avec les composants SMS, mais j'ai vu qu'il y a des petit modules tout fait et pas trop chers. Mais maintenant se pose la question de l'adressage. Combien peut on en contrôler? J'en ai besoin de 4.
Cordialement.

On peut faire cohabiter deux MCP4725 (une entrée permet de choisir une adresse sur les deux possibles)

Et dans la famille des DAC I2C 12 bits MCP472x il y a la version quadruple : MCP4728
Existe sous forme de module : GY-MCP4728

GY-MCP4728.jpg

GY-MCP4728.jpg

Super.
En fouillant un peu je venais de trouver les MAX519 et MAX521 qui sont en boîtier DIP et pas trop chers.

Jusqu'ici je n'utilisais le I2C que pour les écrans LCD. Je vais étudier ça.

Sinon pour mon problème de départ je vais regarder demain si ça le fait aussi avec une UNO.