Close

RomanB

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 16)
  • Autor
    Příspěvky
  • odpověď na: Rozběh Hvězda trojůhelník #11559
    RomanB
    Účastník

    Zdravím, použití Arduina pro tuto funkci není moc vhodné, držel bych se raději logiky pomocí relátek a časového relé. Já osobně mám na cirkuli jenom otočný přepínač + ochrany a je to dostačující.

    Pokud se podíváš na schéma spouštění s relátky, uvidíš, že cívky stykačů jsou vzájemně blokovány a to je velmi důležité i v případě použití Arduina. To aby stykače „nešly do sebe“. Dále doporučuji použít nadproudovou ochranu (pomocný kontakt propojit s cívky stykačů) nebo motorový spouštěč a ten může zároveň plnit funkci hlavního vypínače. V logice by měl být také použitý nouzový STOP, ale ne jako vstup do Arduina.

    Funkce delay() bych se nebál a signál pro sepnutí relátek je LOW ne HIGH.

    odpověď na: Dálkové ovládání ventilů #11479
    RomanB
    Účastník

    Tak pro GND využij ochranný zelenožlutý vodič PE a máš k dispozici všech 5 vodičů pro ventily.

    odpověď na: Tkačítko + Display #11449
    RomanB
    Účastník

    Ahoj

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    int tlacitko = 9; //tlacitko na pinu 9
    boolean tlacitkostav = 0;
    boolean lcdstav = 0;

    LiquidCrystal_I2C lcd(0x27, 16, 2);

    void setup()
    {
    lcd.begin();
    lcd.backlight();
    pinMode(tlacitko, INPUT_PULLUP); //zvedame vnitrnim odporem pin 9 do stavu HIGH
    lcd.print(„text prvni“);
    }

    void loop()
    {

    if (digitalRead( tlacitko ) == LOW & tlacitkostav == 0 ) { //tlacitkem spiname GND

    if ( lcdstav == 1 ) { lcd.clear(); lcd.print(„text prvni“); }

    if ( lcdstav == 0 ) { lcd.clear(); lcd.print(„text druhy“); }

    tlacitkostav = 1; lcdstav = !lcdstav; } // lcdstav negujeme

    if (digitalRead( tlacitko ) == HIGH & tlacitkostav == 1 ) { tlacitkostav = 0; }

    delay(200); //osetreni zakmitu tlacitka

    }

    odpověď na: Wemos D1 – analogové vstupy #11401
    RomanB
    Účastník

    Podporuje ti tablet USB OTG?

    RomanB
    Účastník

    Ahoj, nemáš náhodou v lcd.begin(20, 4) nastavenou (2, 4)?

    odpověď na: Wemos D1 – analogové vstupy #11375
    RomanB
    Účastník

    Ahoj, nepotřebuješ aplikaci, váhu si můžeš zobrazit (byť v jednoduché formě) v internetovém prohlížeči viz http://www.arduino8.cz/hrajeme-si-wemos-d1-web-server/ Telefon jistě budeš mít na společném Wifi routeru, tak není co řešit.

    odpověď na: Formát SD Card #11357
    RomanB
    Účastník

    Kdyby vše fungovalo napoprvé, nemělo by bastlení smysl 🙂 A proto přeji mnoho úspěchů v projektu Arduino.

    odpověď na: 16×2 optrex a mega2560 #11339
    RomanB
    Účastník

    Máš zapojený potenciometr? Slouží k řízení kontrastu a pokud ano, otáčel jsi s ním?

    odpověď na: Formát SD Card #11296
    RomanB
    Účastník

    Ještě vyzkoušej test pinů 10-13 jestli jsou OK. Viz https://bastlirna.hwkitchen.cz/i-zaklady-2-bliknuti-led/ s tím, že ti bude stačit ta jedna LEDka a ty ji jenom přepojíš na další piny. A pin 12 bych ještě otestoval jako vstup. Pokud bude vše OK, tak to vypadá na mrtvou čtečku.

    /*
    Blikání
    LED na sekundu zasvítí a pak zase na sekundu zhasne. Opakovaně.
    */

    // Pin 13 je na většině Arduino deskách spojen s LED
    int led1 = 10;
    int led2 = 11;
    int led3 = 12;
    int led4 = 13;

    void setup() {
    // nastavení pinu na Output
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(led4, OUTPUT);
    }

    // opakujici se smyčka
    void loop() {
    digitalWrite(led1, HIGH); //zapnutí led
    digitalWrite(led2, HIGH);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);

    delay(1000); // po dobu jedné sekundy

    digitalWrite(led1, LOW); // vypnuti LED
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);

    delay(1000); // po dobu jedné sekundy
    }

    odpověď na: Formát SD Card #11286
    RomanB
    Účastník

    Já vlastním Ethernet s SD a tam je použit pin 4. U tebe samozřejmě je možnost volby zapíchnutím drátku. Vyzkoušej také skeč z Arduina IDE, je tam v příkladěch pod SD. Je to vlastně to stejné jako ty zde cituješ, ale akorát je to počeštěno. Jediné co je špatně je:

    // nastavte správně
    // Arduino Ethernet shield: pin 4 – náš případ
    // Adafruit SD shields and modules: pin 10
    // Sparkfun SD shield: pin 8
    const int chipSelect = SS;

    Má být const int chipSelect = 4; nebo jiný tebou použitý pin.

    Zároveň zachovej a definuj tento pin v setupu
    Serial.print(“\nInicializace SD karty…”);
    pinMode(4, OUTPUT);

    A jaké používáš napětí? 5V nebo 3,3V

    odpověď na: Formát SD Card #11279
    RomanB
    Účastník

    Také zdravím, jakou máš desku se čtečkou a použil jsi jenom program pro komunikaci s SD kartou?

    odpověď na: Posuvný registr 74HC595 pomoc #11237
    RomanB
    Účastník
    
    int latchPin = 4;
    int clockPin = 5;
    int dataPin = 6;
    int vstup = 7;   //pridal jsem si vstup jako podminku
    
    int index=0;
    
    byte data[] =
    {
      B10000000,
      B11000000,
      B11100000,
      B11110000,
      B11111000,
      B11111100,
      B11111110,
      B11111111,
    };
    
    byte data2[1] =
    
    {
      B11111111,
    };
    
    unsigned long staryMillis = 0;        
    
    const long interval = 800;
    
    unsigned long novyMillis = millis();
    
    void setup() {
      
      Serial.begin(9600);
      pinMode(latchPin, OUTPUT);
      pinMode(clockPin, OUTPUT);
      pinMode(dataPin, OUTPUT);
      pinMode(vstup, INPUT_PULLUP);
      
    }
    
    void loop() {
      
      
    boolean podminka = digitalRead(vstup);  
    
    //**********************************************************************  
    
     unsigned long novyMillis = millis();
     
      if (novyMillis - staryMillis >= interval && podminka==0) {
       
          staryMillis = novyMillis; 
    
           
          digitalWrite(latchPin, LOW);
    
          shiftOut(dataPin, clockPin, MSBFIRST, data[index]);
          
          if (index > 6)  { shiftOut(dataPin, clockPin, MSBFIRST, data[7]); index = 7;  }
        
          digitalWrite(latchPin, HIGH);
          
     Serial.println(index);   
     //Serial.println(staryMillis);
     //Serial.println(novyMillis);
     
          index=index+1;
     
    }
    //**********************************************************************
     if (novyMillis - staryMillis >= interval && podminka==1) {
       
          staryMillis = novyMillis; 
          
          index = 0;
          
          digitalWrite(latchPin, LOW);
          
          shiftOut(dataPin, clockPin, MSBFIRST, data2[index]);
          
           
     Serial.println(index);   
     //Serial.println(staryMillis);
     //Serial.println(novyMillis);
    
    }
    //********************************************************************** 
     
    }//konec smycky

    Vyzkoušej toto. Jako podmínku jsem použil tlačítko: 0 je stlačeno.

    odpověď na: Posuvný registr 74HC595 pomoc #11227
    RomanB
    Účastník

    Funkce delay(200) tam je proto, protože void loop() je stále se opakující smyčka. Když se postupně rozsvítí všechny ledky, pak se čeká 200 ms a ledky se začnou znova rozsvěcet. Vůbec tam nemusí být.

    Pro podmínku použij if (podminka==1 && index<7){a tady dej rutinu pro zobrazení}
    else (podminka==0) {rutina pro zobrazení,ale s data2[1]
    =B00000000 aby ti to zhaslo}

    odpověď na: Wemos D1 – analogové vstupy #11226
    RomanB
    Účastník

    Výstupy z HX711 sice jdou na piny UNA A0 A1, ale komunikace je binární. V kódu nikde nenalezneš funkci AnalogRead()…

    odpověď na: Emulator dialkoveho ovladaca #3841
    RomanB
    Účastník

    Zdravím, vymaž si ze složky libraries všechno okolo Robot…. Obsahují totiž nějaké IR knihovny a Arduino si je při kompilaci natahuje a pak to vypisuje chyby.

    My Arduino ver. IDE is 1.0.6

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