2x16 lcd voltmetrede Map fonksiyonu nasıl kullanırım.
  • Arkadaşlar arduino ile yeni tanıştım. aşağıdaki kaynak kodda değerleri voltaj yerine 0-100 arasında map fonksiyonu kullanarak nasıl gösterebilirim. Bana bu konuda yardım edebilirmisiniz.??

    const int zener1 = A2; //V1
    const int zener2 = A3; //V2
    const int zener3 = A4; //V3
    //const int zener4 = A5; //V4

    float lettura_volt1; //2
    float lettura_volt2; //3
    float lettura_volt3; //4
    //float lettura_volt4; //5
    float vin_1;
    float vin_2;
    float vin_3;
    //float vin_4;

    float costante = 5;
    float rap = 1.143; //error compensation

    float R1_V1 = 21600; //REAL RESISTANCE VALUE OF VOLTAGE DIVIDER **** Birde bu değerler nedir Anlamadım.????????
    float R2_V1 = 2180;
    float R1_V2 = 21600;
    float R2_V2 = 2160;
    float R1_V3 = 21500;
    float R2_V3 = 2160;
    //float R1_V4 = 21700;
    //float R2_V4 = 2100;



    void setup() {
    lcd.begin(16, 2);
    }

    void loop() {
    lettura_tensioni();
    delay(500);
    lcd.clear();
    lcd.setCursor(0, 0);
    display_comando();

    }

    void lettura_tensioni() {
    lettura_volt1 = analogRead(zener1);
    lettura_volt2 = analogRead(zener2);
    lettura_volt3 = analogRead(zener3);
    //lettura_volt4 = analogRead(zener4);
    lettura_volt1 = (lettura_volt1 * costante) / 1024; // Map fonksiyonu kullanarak, Bu değerleri 0-100 arası göstermek istiyorum.
    lettura_volt2 = (lettura_volt2 * costante) / 1024; // Map fonksiyonu kullanarak, Bu değerleri 0-100 arası göstermek istiyorum.
    lettura_volt3 = (lettura_volt3 * costante) / 1024; // Map fonksiyonu kullanarak, Bu değerleri 0-100 arası göstermek istiyorum.
    //lettura_volt4 = (lettura_volt4 * costante) / 1024; // Map fonksiyonu kullanarak, Bu değerleri 0-100 arası göstermek istiyorum.
    //VOLTAGE LINE 1
    vin_1 = ((lettura_volt1 / (R2_V1 / (R1_V1 + R2_V1))) / rap);
    //VOLTAGE LINE 2
    vin_2 = ((lettura_volt2 / (R2_V2 / (R1_V2 + R2_V2))) / rap);
    //VOLTAGE LINE 3
    vin_3 = ((lettura_volt3 / (R2_V3 / (R1_V3 + R2_V3))) / rap);
    //VOLTAGE LINE 4
    // vin_4 = ((lettura_volt4 / (R2_V4 / (R1_V4 + R2_V4))) / rap);
    }
  • void setup() {}

    void loop()
    {
    int val = analogRead(0);
    val = map(val, 0, 1023, 0, 100);

    }
  • Yardım için teşekkürler Arkadaşım. Bu şekildemi olacak

    void setup() {}
    void loop()
    {
    int val = analogRead(zener1);
    val = map(val, 0, 1023, 0, 100);
    int val = analogRead(zener2);
    val = map(val, 0, 1023, 0, 100);
    int val = analogRead(zener3);
    val = map(val, 0, 1023, 0, 100);
  • int val yerine val_bir val_iki gibi yap.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.