Bonjour à tous et bonne année,
Je suis en train de faire un petit logiciel de simulation électronique, je n'en suis qu'au début et je suis loin d'avoir terminé le projet, ensuite j'ajouterais des librairies graphiques mais pour le moment je fais des tests sous la console mais j'ai un petit problème pour une formule sur la fréquence de coupure, les résultats lors de la compilation ne sont pas cohérents lorsque je calcule à la main c'est pas la même chose pourtant je ne vois pas ce qui cloche dans mon code
Code:#include <stdio.h> #include <stdlib.h> void esp(){ printf("\n"); } void RC_Filter(){ float Fc; float pie=3.14; float R; float C; printf("Valeur de R? :"); scanf("%f", &R); // Valeur de fréquence de coupure pour C allant de 1 nF jusqu'à 22 uF for(C=0.000001; C<0.00022; C=C+0.000001){ Fc=1/(2*pie*R*C); printf("C= %.2f uF >>> %.2f Hz \n",C*1000000, Fc); } printf("Frequence de coupure souhaiter:"); scanf("%f", &Fc); C=1/(2*pie*R*Fc); printf("Il faut C= %f uF", C*1000000); } void calcul_resistor(){ float Vdd; float I_led; float R; float led; float choix; printf("Entrez Vdd et I_led:"); scanf("%f%f", &Vdd, &I_led); printf("Led bleu, rouge ou Verte?"); scanf("%f", &choix); if(choix==1){ led=1.2; R=(Vdd - led)/ I_led; printf(" R= %.2f Ohms ", R); } else if (choix==2){ led=1.5; R=(Vdd - led)/ I_led; printf(" R= %.2f Ohms ", R); } else if (choix==3){ led=2; R=(Vdd - led)/ I_led; printf(" R= %.2f Ohms ", R); } } void divider_volt(){ // Diviseur de tension float R1; float R2; float Vdd; float divider; printf("Entrez la valeur de R1: "); scanf("%f",&R1); esp(); printf("Entrez la valeur de R2: "); scanf("%f",&R2); esp(); printf("Quelle est la tension d'alimentation?: "); scanf("%f", &Vdd); divider=(R1/(R1+R2))*Vdd; printf("La tension vaut %.2f Volt(s)", divider); } void calculate_I_P(){ // Calcul de puissance dissipée LM7805 float Vact; float Vact_eff; float Vchute_tension; char VA; float P_dissip; printf("**********Programme pour regulateur LM7805***********"); printf("*****************************************************"); esp(); printf("Entrez la tension de sortie alternative du transfo: "); scanf("%f", &Vact); esp(); Vact_eff=Vact * 1.41; Vchute_tension=Vact_eff - 5; // En Volts P_dissip=Vchute_tension * 1; // En Watts printf("La puissance dissipe est de %.2f Watt(s)", P_dissip); esp(); if(P_dissip>3) printf("Il faut prévoir un dissipateur!"); else printf("Un dissipateur n'est pas utile"); } int main() { RC_Filter(); calcul_resistor(); esp(); calculate_I_P(); divider_volt(); esp(); esp(); return 0; }
-----