MCP4725 ; PB Polarité signal sortie

Bonjour,
j'ai fait un montage avec un MCP4725 pour générer un signal en lisant les valeurs d'un tableau.
Pour l'instant, une demi alternance de sinusoïde. Par défaut, elle est calée entre -2.75V et +1.95V.
Je n'arrive pas à avoir un signal toujours positif 0V à +5V, ou 0V à +2.5V, peut importe.
Le programme qui sort la bonne forme de signal, mais mal calé :
....Si qq a la solution, Merci d'avance
//float PinValeurTension = A0;
//float TensionValue;

#include <Adafruit_MCP4725.h>
Adafruit_MCP4725 dac;

const PROGMEM uint16_t Sine[180]
{
0 , 71 , 143 , 214 , 286 , 357 , 428 , 499 , 570 , 641 ,
711 , 781 , 852 , 921 , 991 , 1060 , 1129 , 1198 , 1266 , 1333 ,
1401 , 1468 , 1534 , 1600 , 1666 , 1731 , 1795 , 1859 , 1923 , 1986 ,
2048 , 2109 , 2170 , 2231 , 2290 , 2349 , 2407 , 2465 , 2522 , 2578 ,
2633 , 2687 , 2741 , 2793 , 2845 , 2896 , 2946 , 2995 , 3044 , 3091 ,
3138 , 3183 , 3228 , 3271 , 3314 , 3355 , 3396 , 3435 , 3473 , 3511 ,
3547 , 3582 , 3616 , 3649 , 3681 , 3712 , 3742 , 3770 , 3798 , 3824 ,
3849 , 3873 , 3895 , 3917 , 3937 , 3956 , 3974 , 3991 , 4006 , 4021 ,
4034 , 4045 , 4056 , 4065 , 4073 , 4080 , 4086 , 4090 , 4093 , 4095 ,
4095 , 4095 , 4093 , 4090 , 4086 , 4080 , 4073 , 4065 , 4056 , 4045 ,
4034 , 4021 , 4006 , 3991 , 3974 , 3956 , 3937 , 3917 , 3895 , 3873 ,
3849 , 3824 , 3798 , 3770 , 3742 , 3712 , 3691 , 3649 , 3616 , 3582 ,
3547 , 3511 , 3473 , 3435 , 3396 , 3355 , 3314 , 3271 , 3228 , 3183 ,
3138 , 3091 , 3044 , 2995 , 2946 , 2896 , 2845 , 2793 , 2741 , 2687 ,
2633 , 2578 , 2522 , 2465 , 2407 , 2349 , 2290 , 2231 , 2170 , 2109 ,
2048 , 1986 , 1923 , 1859 , 1795 , 1731 , 1665 , 1600 , 1534 , 1468 ,
1401 , 1333 , 1266 , 1198 , 1129 , 1060 , 991 , 921 , 852 , 781 ,
711 , 641 , 570 , 499 , 428 , 357 , 286 , 214 , 143 , 71 ,
} ;

void setup(void) {
Serial.begin(250000);
dac.begin(0x60);

pinMode(PinValeurTension, INPUT);
}
void loop(void) {

for (int angle = 0; angle < 180; angle++) {
dac.setVoltage(pgm_read_word(&(Sine[angle])), false);
Serial.println (Sine[angle]);
// TensionValue = digitalRead(PinValeurTension);
// Serial.println (TensionValue);

}
}

Bonjour,

Comment tu peux avoir une tension négative avec une alimentation positive?
Tu es sur que les gnd sont bien reliés?
Tu mesures la tension avec quoi?

Mets ton code entre balises de code

Bonjour, et merci pour la réponse.
je mesure avec un mini oscilloscope.


Pour le code qui me sort ça :

//float PinValeurTension = A0;
//float TensionValue;

#include <Adafruit_MCP4725.h>
Adafruit_MCP4725 dac;

const PROGMEM uint16_t Sine[180]
{
0 , 71 , 143 , 214 , 286 , 357 , 428 , 499 , 570 , 641 ,
711 , 781 , 852 , 921 , 991 , 1060 , 1129 , 1198 , 1266 , 1333 ,
1401 , 1468 , 1534 , 1600 , 1666 , 1731 , 1795 , 1859 , 1923 , 1986 ,
2048 , 2109 , 2170 , 2231 , 2290 , 2349 , 2407 , 2465 , 2522 , 2578 ,
2633 , 2687 , 2741 , 2793 , 2845 , 2896 , 2946 , 2995 , 3044 , 3091 ,
3138 , 3183 , 3228 , 3271 , 3314 , 3355 , 3396 , 3435 , 3473 , 3511 ,
3547 , 3582 , 3616 , 3649 , 3681 , 3712 , 3742 , 3770 , 3798 , 3824 ,
3849 , 3873 , 3895 , 3917 , 3937 , 3956 , 3974 , 3991 , 4006 , 4021 ,
4034 , 4045 , 4056 , 4065 , 4073 , 4080 , 4086 , 4090 , 4093 , 4095 ,
4095 , 4095 , 4093 , 4090 , 4086 , 4080 , 4073 , 4065 , 4056 , 4045 ,
4034 , 4021 , 4006 , 3991 , 3974 , 3956 , 3937 , 3917 , 3895 , 3873 ,
3849 , 3824 , 3798 , 3770 , 3742 , 3712 , 3691 , 3649 , 3616 , 3582 ,
3547 , 3511 , 3473 , 3435 , 3396 , 3355 , 3314 , 3271 , 3228 , 3183 ,
3138 , 3091 , 3044 , 2995 , 2946 , 2896 , 2845 , 2793 , 2741 , 2687 ,
2633 , 2578 , 2522 , 2465 , 2407 , 2349 , 2290 , 2231 , 2170 , 2109 ,
2048 , 1986 , 1923 , 1859 , 1795 , 1731 , 1665 , 1600 , 1534 , 1468 ,
1401 , 1333 , 1266 , 1198 , 1129 , 1060 , 991 , 921 , 852 , 781 ,
711 , 641 , 570 , 499 , 428 , 357 , 286 , 214 , 143 , 71 ,
} ;

void setup(void) {
Serial.begin(250000);
dac.begin(0x60);

pinMode(PinValeurTension, INPUT);
}
void loop(void) {

for (int angle = 0; angle < 180; angle++) {
dac.setVoltage(pgm_read_word(&(Sine[angle])), false);
//Serial.println (Sine[angle]);
// TensionValue = digitalRead(PinValeurTension);
// Serial.println (TensionValue);

}
}

Avec un autre tableau 32 valeurs, j'obtiens une sinusoïde,,
mais je ne veux que l'alternance positive.

Tu as un problème hard quelque part. Tu ne peux pas avoir de tension négative.
Sur ton oscillo tu as bien un couplage DC et non un couplage AC?

Edit: je viens de voir ton image en grand. Tu es en couplage AC.
Mets toi en couplage DC.

C'est bien ça !
Ça faisait plus d'une semaine que j'épluche les tutos YouTube et forums,
en trouvant tout sauf la solution.
Super, merci !