Partage
  • Partager sur Facebook
  • Partager sur Twitter

projet Terminale

probleme programmation

    11 décembre 2014 à 11:53:51

    Bonjour a tous, nous vons un projet pour la terminale en scinece de l'ingénieur et nous avons choisi de faire un appareil qui capte un couleur et qui pourrait retraduire cette couleur en peinturede cette même couleur.

    Nous avons commencé par faire un programme ou nous entrons les valeur de couleurs manuellement, nous utilisons le programme LaBoiteACouleur (facilement trouvable sur internet) pour déterminer les quantité de chaque couleur primaire que nous avons besoin.

    Voici le programme:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main() {
    
    int a = 0; // surface a peindre
    float dR = 0.0; // Rouge détécté
    float dV = 0.0; // Vert détécté
    float dB = 0.0; // Bleu détécté
    int nc = 0; // Nombre de couches
    float typ = 0.0; // Type de support
    float A = 0.0; // Quantité de peinture nécessaire
    float vR = 0.0; // Quantité de peinture rouge en L
    float vV = 0.0; // Quantité de peinture verte en L
    float vB = 0.0; // Quantité de peinture bleue en L
    float vR_en_mL = 0.0; // Quantité de peinture rouge en mL
    float vV_en_mL = 0.0; // Quantité de peinture verte en mL
    float vB_en_mL = 0.0; // Quantité de peinture bleue en mL
    
    // Calcul de A
    
        printf("Surface a peindre en m^2:\n");
        scanf("%d", &a);
        printf("Nombre de couches :\n");
        scanf("%d", &nc);
        printf("Type de surface :\n");
        printf("1. Surface lisse\n");
        printf("2. Surface rugueuse\n");
        printf("3. Surface crepis\n");
        scanf("%d", &typ);
            if (typ == 1) {
                typ = 0.1;
            }
            if (typ == 2) {
                typ =0.2;
            }
            if (typ == 3) {
                typ =0.4;
            }
    
        A = nc*(1.0+typ)*a/10.0;
    
        printf("%.0f L de peinture sont necessaires pour peindre %d m^2\n\n", A, a);
    
    // Calcul de vR, vV et vB et leurs valeurs en mL
    
        printf("Rouge detecte :\n");
        scanf("%f", &dR);
        printf("Vert detecte :\n");
        scanf("%f", &dV);
        printf("Bleu detecte :\n");
        scanf("%f", &dB);
    
        vR = dR/(dR+dV+dB)*A;
        vV = dV/(dR+dV+dB)*A;
        vB = dB/(dR+dV+dB)*A;
    
        vR_en_mL = dR/(dR+dV+dB)*A*1000;
        vV_en_mL = dV/(dR+dV+dB)*A*1000;
        vB_en_mL = dB/(dR+dV+dB)*A*1000;
    
        printf("%.2f L (%.0f mL) de rouge\n%.2f L (%.0f mL) de vert\n%.2f L (%.0f mL) de bleu\n", vR, vR_en_mL, vV, vV_en_mL, vB, vB_en_mL);
    
    }

    Nous aimerions associer un capteur de couleur que nous avons deja ici. Nous cherchons deja depuis quelques jours des parties ou bouts de programme qui nous permettrait de transcrire les informations du capteur en valeur (de 0 a 255) pour ensuite pouvoir utiliser ces valeur afin de déterminer les quantité de peinture necessaire. Votre aide nous sera la plus précieuse.

    Merci d'avance

    -
    Edité par Jean-LoupBiran 11 décembre 2014 à 18:04:16

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      12 décembre 2014 à 10:16:52

      Salut,

      Qu'est ce que tu as comme valeurs en utilisant le code de la doc de ton capteur ?

      • Partager sur Facebook
      • Partager sur Twitter
        12 décembre 2014 à 20:21:46

        Il ny a pas de code ni de doc :/ les seules infos que j'ai sont la  :/
        • Partager sur Facebook
        • Partager sur Twitter

        projet Terminale

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown