Close

Bojkas

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (celkem z 7)
  • Autor
    Příspěvky
  • odpověď na: Anemometr z DC motoru? #8404
    Bojkas
    Účastník

    Tak to dělá pořád to stejné, jen s tím, že mi nevím proč propisuje jen polovina displaye. Pokud to vrátím na ten původní kód, tak je to zase v pořádku.

    odpověď na: Anemometr z DC motoru? #8378
    Bojkas
    Účastník

    PS: stačí, když ji deklaruji?
    int rpm;
    rpm = (rps*60);
    lcd.clear();
    lcd.print(„Vitr: „);
    lcd.print(0.3142*rpm*0.06);
    lcd.print(“ km/h“);

    odpověď na: Anemometr z DC motoru? #8377
    Bojkas
    Účastník

    Ahoj,

    ach tak, to mě nenapadlo.

    Aleš: zdá se, že závorek je tam dost, vzorec jsem upravil, ale píše mi to, že „rmp“ není deklarované.

    exit status 1
    ‚rpm‘ was not declared in this scope
    http://fii.cz/zxfbym

    // Compute the RPM of a simple DC Motor using a photomicrosensor(PMS)
    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    #define PMS_PIN A0 // Pin for signal from Photomicrosensor
    #define LED_PIN 13 //Using Arduino's Internal LED; just as an indicator
    
    boolean counted=false;
    int t1=0,t2=0;
    int hits=0;
    int rps=0;
    
    LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
    
    void setup(){
      pinMode(PMS_PIN, INPUT);
      pinMode(LED_PIN, OUTPUT);
      lcd.setBacklightPin(3,POSITIVE);
      lcd.setBacklight(HIGH); // NOTE: You can turn the backlight off by setting it to LOW instead of HIGH
      lcd.begin(16, 2);
      lcd.clear();
    }
    
    void loop(){
      t2 = millis();
      if(t2 >= (t1 + 1000)){
        rps = hits;
        hits = 0;
        t1=t2;
    
      }  
      
      if(digitalRead(PMS_PIN) == HIGH){
        if(!counted){
          counted = true;
          hits++;
        }
      } else {
        counted = false;
      }
       
      digitalWrite(LED_PIN, digitalRead(PMS_PIN));
      
        rpm = (rps*60);
        lcd.clear();
        lcd.print("Vitr: ");
        lcd.print(0.3142*rpm*0.06);
        lcd.print(" km/h");
    }
    
    odpověď na: Anemometr z DC motoru? #8375
    Bojkas
    Účastník

    Večer zkusím, děkuji.

    Každopádně bych rád znal důvod, abych zjistil, kde mohla být případně chyba?

    odpověď na: Anemometr z DC motoru? #8372
    Bojkas
    Účastník

    Zatím je to simulované na kolo o průměru 0,1m tzn obvod je 0,31m. zkoušel jsem to přerušovat papírem, zatím jsem na začátku.

    https://www.youtube.com/watch?v=KXiPlSd1E6c

    odpověď na: Anemometr z DC motoru? #8370
    Bojkas
    Účastník

    Ahoj,

    tak jsem nakonec použil IR bránu, která měří otáčky.

    Jaký vzorec použít na přepočet z otáček na km/h? Zkusil jsem do kódu zakomponovat „v = 2πr × RPM × (60/1000) km/hr“, nevím proč, ale měří to v násobcích 1,13. :-/

    Celý kód:

    
    // Compute the RPM of a simple DC Motor using a photomicrosensor(PMS)
    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    #define PMS_PIN A0 // Pin for signal from Photomicrosensor
    #define LED_PIN 13 //Using Arduino's Internal LED; just as an indicator
    
    boolean counted=false;
    int t1=0,t2=0;
    int hits=0;
    int rps=0;
    
    LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
    
    void setup(){
      pinMode(PMS_PIN, INPUT);
      pinMode(LED_PIN, OUTPUT);
      lcd.setBacklightPin(3,POSITIVE);
      lcd.setBacklight(HIGH); // NOTE: You can turn the backlight off by setting it to LOW instead of HIGH
      lcd.begin(16, 2);
      lcd.clear();
    }
    
    void loop(){
      t2 = millis();
      if(t2 >= (t1 + 1000)){
        rps = hits;
        hits = 0;
        t1=t2;
    
        rpm = (rps*60);
        lcd.clear();
        lcd.print("Vitr: ");
        lcd.print(0.3142*rpm*0.06);
        lcd.print(" km/h");
      }  
      
      if(digitalRead(PMS_PIN) == HIGH){
        if(!counted){
          counted = true;
          hits++;
        }
      } else {
        counted = false;
      }
       
      digitalWrite(LED_PIN, digitalRead(PMS_PIN));
    }
    
    odpověď na: Bezdrátové ovládání světel #8084
    Bojkas
    Účastník

    No spíše jsem myslel použít už existující řešení například v protokolu X-10.

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (celkem z 7)