Bonjour,
je m'appelle Théo je suis en CPGE et j ai un TIPE assez complexe et j ai une grosse parti info ou je me débrouille vraiment mal. J ai donc besoin de votre aide. J ai fais un programme tant bien que mal qui marche. Il consiste à analyser une tension d'entrée et la renvoyer sur une sortie PWM le but est d avoir une sinusoïde en sortie. Voici le programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {
    int valeur; // valeur à ici une valeur inconu, elle sera donné plus tard
    float tension; // cela permet à la carte d'alouer la place nécessaire aux différentes variable dès le début  du programme
  // Initialise la communication avec le PC
  Serial.begin(57600);
 
// Renvoie la tension a la sortie 9 PWM
pinMode(9,OUTPUT);
}
 
// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
 
  // Mesure la tension sur la broche A0
  int valeur = analogRead(A0);
  analogWrite(9,191); //Activer une modulation a 75% (191/255) sur la broche 9
 
  // Transforme la mesure (nombre entier) en tension via un produit en croix
  float tension = valeur * (5.0 / 1023.0);
 
  // Envoi la mesure au PC pour affichage et attends 250ms
  Serial.println(tension);
  delay(200);
 
  digitalWrite(9,LOW); //Arreter la modulation
}
 
 
//Si le code envoi régulièrement sur le port série un nombre (entier ou à virgule) sur une ligne (avec Serial.println()), vous pouvez demander au logiciel Arduino de vous tracer 
//un graphique en temps réel de ces valeurs. Le traceur s'active dans le menu outils -> traceur série Vous pouvez choisir la vitesse de communication du port série avec la liste de sélection en bas du graphique.
Seulement avec ce programme j obtiens de belle sinusoïde que en basse fréquence (genre 300Hz ) en haute fréquence ( 1kHz à 2kHz ) j ai des tracé qui sont impossible a analysé