Close

Pulec

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 2,401. až 2,430. (celkem z 2,764)
  • Autor
    Příspěvky
  • odpověď na: #define, const #5245
    Zbyšek Voda
    Účastník

    Dobrý den.
    Rozdíl je takový, že při použití
    #define A
    Se všechny výskyty A nahradí JIŽ PŘI PŘEKLADU (respektive těsně před ním) v počítači, takže deska Arduino neví, že existovala nějaká konstanta definovaná pomocí #define A.
    Preprocesor překladače dostane text programu a když narazí na výskyt A, nahradí jej, ale ještě jako textovou informaci. Až poté je program přeložen do strojového kódu.

    Narozdíl
    const int B
    znamená, že v paměti procesoru Arduina skutečně existuje proměnná B, jenom je označena jako konstantní, tedy neměnitelná.

    odpověď na: #define, const #5238
    Alis Vitae
    Účastník

    Ospravedlňujem sa ale tento text je preložený na Google Translator, pretože slovenský mi práve veľmi dobre nejde. Rozdiel je v tom, že #define nevyužíva pamäť Arduino dosky.

    ______________________________________________________________________________
    Pre možný rozdiel vo význame v preklade, uvádzam tento text i v origináli (Czech).

    Omlouvám se ale tento text je přeložen na Google Translate, protože slovenština mi zrovna moc dobře nejde. Rozdíl je v tom, že #define nevyužívá paměť arduino desky.

    Alis Vitae
    Alis Vitae Logo

    Zbyšek Voda
    Účastník

    Dobrý den,
    zatím je vložení na externí server a následné nalinkování obrázku standardní postup.

    odpověď na: Osvětlení akvaria Led pásky #5229
    vnouzirozbijsklo
    Účastník

    změna void loop. ted to vypada slibně…opět

    {

    pinMode(svetlo1,OUTPUT);
    displayTime(); // display the real-time clock data on the Serial Monitor,
    delay(1000); // every second

    byte s, m, h, dvt, dvm, mesic, r;
    readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);

    if (h >= 9 && h < 21) den = 1; // nastaveni intervalu sviceni
    else den = 0;
    for (byte brightness = 0; den == 1 && sviti == 0 && brightness < 255; brightness ++) {
    analogWrite(svetlo1, brightness);
    if(brightness == 255) sviti = 1;
    delay(3500);
    }

    for (byte brightness = 255; den == 0 && sviti == 1 && brightness > 0; brightness –) {
    analogWrite(svetlo1, brightness);
    if(brightness == 0) sviti = 0;
    delay(3500);}

    }

    odpověď na: 1. projekt – RGB Led #5224
    Alis Vitae
    Účastník

    Zapojili jsme RGB Led k Arduino Nano základové desce.
    Program zněl náledovně:

    int redPin = 11;
    int greenPin = 10;
    int bluePin = 9;
    char val;
    void setup()
    {
        Serial.begin(9600);
      pinMode(redPin, OUTPUT);
      pinMode(greenPin, OUTPUT);
      pinMode(bluePin, OUTPUT);
    }
    
    void loop()
    {
        if( Serial.available() )
      {
        val = Serial.read(); 
    
      }
      if (val == 'r') {
      showRed();  
    }
    if(val == 'g') {
      showGreen();
    }
    if(val == 'b') {
      showBlue();
    }
    if(val == 'v') {
      showViolet();
    }
    if(val == 'c') {
      showCyan();
    }
    if(val == 'w') {
      showWhite();
    } else {
    }
    if(val == 'n') {
      NOV();
    }
    if(val == '.') {
      showRed();
      showGreen();
      showBlue();
      showViolet();
      showCyan();
      showWhite();
      NOV();
    }
    }
    
    void showRed()
    {
      //red
      digitalWrite(redPin, HIGH);
      digitalWrite(greenPin, LOW);
      digitalWrite(bluePin, LOW);
      delay(1000);
      //green
    }
    void showGreen() 
    {
        digitalWrite(redPin, LOW);
      digitalWrite(greenPin, HIGH);
      digitalWrite(bluePin, LOW);
      delay(1000);
    }
    void showBlue() 
    {
      //blue
      digitalWrite(redPin, LOW);
      digitalWrite(greenPin, LOW);
      digitalWrite(bluePin, HIGH);
      delay(1000); 
      }
      void showViolet() {
        digitalWrite(redPin, HIGH);
        digitalWrite(greenPin, LOW);
        digitalWrite(bluePin, HIGH);
        delay(1000);
      }
        void showCyan() {
        digitalWrite(redPin, LOW);
        digitalWrite(greenPin, HIGH);
        digitalWrite(bluePin, HIGH);
        delay(1000);
      }
          void showWhite() {
        digitalWrite(redPin, HIGH);
        digitalWrite(greenPin, HIGH);
        digitalWrite(bluePin, HIGH);
        delay(1000);
      }
      void NOV() {
            digitalWrite(redPin, LOW);
        digitalWrite(greenPin, LOW);
        digitalWrite(bluePin, LOW);
      }

    Doporučujeme tento projekt jako první projekt pro všechny začátečníky. Není to jen nudná leddioda, která blikne a není moc součástek co potřebujete. Jediné co potřebujete je: Arduino Deska (U nás Nano), RGB Led, nějaké vodiče a nějaké rezistory

    odpověď na: Které Arduino #5200
    Alis Vitae
    Účastník

    Nevím, podle mě můžeš použít desky jako Nano, Uno, Mega…

    odpověď na: ESP 8266 #5180
    Aleš
    Účastník

    Aha. Tak to asi bude nějaký problém nové verze.
    Mě zase se..u ty Warningy. Proč musím pokaždé vědět, že je některá knihovna „špatná“. Nemůžu přijít na to, jak to vypnout, a ty knihovny vymazat nechci, protože je používám, a fungujou. Jenom IDE se nějak nelíbí.

    odpověď na: For a proměnná #5177
    Vojtěch Vosáhlo
    Účastník

    Já bych to určitě dělal přes 1 string pole.

    odpověď na: Zapojení potenciometru #5176
    Vojtěch Vosáhlo
    Účastník

    Mělo by bohatě stačit napájení z USB. 😀

    odpověď na: Zapojení potenciometru #5175
    horisus
    Účastník

    Jak jsem psal,jsem úplný amatér a nikdy jsem nic nezapojoval a nemám to jak změřit.Stavím si doma letecké pedály a potenciometr by měl sloužit pro ovládání zatáčení v simulátoru.Ještě se zeptám musí být arduino připojeno další napájení nebo stačí napájení z USB?

    odpověď na: Zapojení potenciometru #5173
    Zbyšek Voda
    Účastník

    Dobrý den,
    to zapojení bude stejné, jako když zapojujete normální potenciometr.

    Zkuste poslat fotku vašeho posuvného potenciometru.

    odpověď na: Zapojení potenciometru #5172
    Vojtěch Vosáhlo
    Účastník

    Ahoj, mělo by to (podle čísel) být zapojeno:
    1: Jde na pozitivní napětí (3.3v/5v)
    jedna ze 2: Jde na analogový vstup arduina. Mělo by být jedno jakou 2 zapojíš, měly by být spojené.
    3: Jde na zem – GND

    POZOR: To co tady píšu je jenom teoreticky, tak jak je to u většiny potenciometrů. Pokud si to chceš ověřit podívej se do datasheetu k potenciometru a nebo si to jednoduše přeměř.

    odpověď na: Posílání dat do mysql databáze #5171
    Vojtěch Vosáhlo
    Účastník

    Ahoj,
    Jak jsem se dočetl tak sis pořídil SIM800L který se umí k internetu připojit přes GPRS.
    1. Problém který by si mohl mít je aktivace dat na sim kartě. Pokud karta nemá zaplacená mobilní data tak není možné aby to fungovalo.
    Viz. dokumentace:

    GPRS založená na technologii přepojování paketů využívá volné časové sloty, které může sdílet více uživatelů, a je účtována za přenesená data nebo paušálem za určité časové období

    Další věc která mě zaujala je že píšeš TX pin 6, RX pin 7
    Arduino (pokud nepoužíváš system serial) má pro seriovou komunikaci pin 0 a 1
    Vysvětlení téhle věty:

    Change SIM_SERIAL definition to the serial UART which SIM800 is attached to

    je úplně jednoduché. To co po tobě chtějí je definovat jaký UART používáš.

    Mělo by stačit do tvého kódu vložit #define SIM_SERIAL Serial
    pokud budeš používat nativní seriový port arduina. Pokud budeš používat Software serial tak tam místo Serial dáš jméno toho tvého virtuálního sériového portu.
    Hodně štěstí a kdyžtak se ještě ozvi.

    odpověď na: Knihovna a odevzdavani parametru typu pole #5170
    poprad
    Účastník

    Už jsem to vyřešil:

    SerialStepper.h

    
    #ifndef SerialStepper_h
    #define SerialStepper_h
    #include <Arduino.h>
    
    class SerialStepper
    {
      public:
        SerialStepper (byte pin_STCP,
                       byte pin_SHCP, 
                       byte pin_DS, 
                       byte pocetM, 
                       int  motory[]); 
        void Init(); 
    
      private: 
        byte _pin_STCP;
        byte _pin_SHCP; 
        byte _pin_DS;
        byte _pocetM;
        int * _motory = NULL;    // Inicializacia pointera
    };
    #endif
    

    SerialStepper.cpp

    
    #include <Arduino.h>
    #include "SerialStepper.h"
    
    SerialStepper::SerialStepper( byte pin_STCP, 
                                  byte pin_SHCP, 
                                  byte pin_DS, 
                                  byte pocetM, 
                                  int motory[])
    {
      this->_pin_STCP = pin_STCP;  // priradenie k lokalnym
      this->_pin_SHCP = pin_SHCP;  // premennym
      this->_pin_DS   = pin_DS;
      this->_pocetM   = pocetM;
      this->_motory = & motory[0]; // Priradenie adresy
    }
    

    A práce s lokálními proměnnými v SerialStepper.cpp už je klasika:

    
    .......
      digitalWrite (_pin_STCP,HIGH); 
    .......
      digitalWrite (_pin_SHCP,LOW );
    .......
    digitalWrite (_pin_DS,LOW );
    .......
    for (byte i = _pocetM; i>0 ;i--)
      {
        Motory = _motory[i-1];
    .......
    
    odpověď na: ESP 8266 #5157
    jankop
    Účastník

    Když chci přeložit, co mi předtím šlo, tak to holt nejde.

    Varování: platform.txt z jádra 'ESP8266 Modules' obsahuje zastaralé recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", automaticky skonvertované do recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Zvažte upgrade tohoto jádra.
    WARNING: Category '' in library EEPROM is not valid. Setting to 'Uncategorized'
    WARNING: Category '' in library ESP8266httpUpdate is not valid. Setting to 'Uncategorized'
    WARNING: Category '' in library Hash is not valid. Setting to 'Uncategorized'
    WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized'
    WARNING: Category '' in library Ticker is not valid. Setting to 'Uncategorized'
    WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'
    C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WebServer\examples\AdvancedWebServer\AdvancedWebServer.ino: In function 'void setup()':
    
    AdvancedWebServer:117: error: 'drawGraph' was not declared in this scope
    
      server.on ( "/test.svg", drawGraph );
    
                               ^
    
    exit status 1
    'drawGraph' was not declared in this scope
    
    Nalezena neplatná knihovna v C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266: C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266
    Nalezena neplatná knihovna v C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266: C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\esp8266
    
    odpověď na: ESP 8266 #5156
    Aleš
    Účastník

    Co znamená, že s 1.6.6 nepracuje správně? Já jsem teda verzi 1.6.5 nezkoušel, ale s 1.6.6 nemám problémy. Normálně dám export binaru, a ono mi ho to vyexportuje. Do ESp jsem ho nahrávat nezkoušel. Nic o tom, že není podporována to nepíše. Zkus z //USER/… smazat adresář arduino15, a nainstalovat podporu ESP znovu.

    odpověď na: ESP 8266 #5150
    jankop
    Účastník

    No tak se zdá, že ten export bináru půjde také. Sice to píše, že funkce není podporována, ale druhým dechem to napíše, kam to BIN uložilo. A podařilo se mi praktickým programem ESP8266Flasher.exe binár nahrát do modulu a spustit.

    odpověď na: ESP 8266 #5146
    jankop
    Účastník

    Tož závěr mého experimentu zní:“Pokud se nechcete dostat s ESP8266/Arduino do problémů, tak zůstaňte u Arduino IDE 1.6.5. Verze 1.6.6. správně se stávajícím doplňkem pro ESP8266 nepracuje!“

    odpověď na: ESP 8266 #5135
    jankop
    Účastník

    Zrovna verzi 1.6.6. instaluji, asi máš pravdu, při svém prvním pokusu jsem možná udělal nějakou chybu.
    Ale narazil jsem na problém v tom, že nedovedu nastavit piny pro I2C. Potřeboval bych připojit čidla, ale nedokážu definovat SCL a SDA.

    odpověď na: ESP 8266 #5134
    Aleš
    Účastník

    Máš pravdu, má jenom 512KB.
    Teď si tady s tím znovu hraju, a 1.6.6 opravdu s ESP8266 funguje. Zrovna mi běží demo HelloServer.

    odpověď na: ESP 8266 #5133
    jankop
    Účastník

    Verze 1.6.6. podle mě nefunguje s ESP8266. Alespoň můj první pokus neprošel.

    odpověď na: ESP 8266 #5132
    jankop
    Účastník

    Mimochodem Aleši, na svém webu píšeš, že modul ESP826-01 má 1MB FLASH. Není to pravda, ten běžný, který máš na fotce má pouze 512KB. Jako novinka se teď presentuje provedení ESP8266-01E s 1MB, ale ten vypadá jinak.

    odpověď na: ESP 8266 #5131
    Aleš
    Účastník

    Nepájivé pole používám jenom v krajní nouzi. To raději sletuju několik drátů do Y 🙂 Ale možná by stačilo přidat k napájení ESP8266 nějaký velký kondenzátor. Na vykrytí špiček při vysílání. Jenom na vyzkoušení.

    odpověď na: ESP 8266 #5130
    Aleš
    Účastník

    Tak si nainstaluj verzi 1.6.6. V čem je problém?

    odpověď na: Knihovna a odevzdavani parametru typu pole #5129
    poprad
    Účastník

    Jaké čtverečky? Myslíš hranaté závorky, které označujú proměnné typu pole?
    Ty lomené závorky u Arduino.h opravím, ale určitě to nesouvisí s mojím problémem. Chybu to hlásí na označené řádky, když chci namapovat lokální proměnné pole na dovážené pole.

    
    byte _motory[] = motory[]
    byte _smerM[] = smerM[]
    
    odpověď na: ESP 8266 #5128
    taunt
    Účastník

    Tak problém z velké části vyřešen. Gigabyte deska nestíhá napájet více USB portů, než asi dva flash disky. Flash firmvare po odpojení všech ostatních kabelů proběhl OK. Běžné AT příkazy, při kterých modul nenutím jít na wifi projdou v pořádku. Jakmile si sáhne na vysílač, tak se terminál kousne a USB porty přestanou komunikovat. Takže jdu řešit PC a neskutěčně nekvalitní nepájivé zkušební pole, které má takové přechodové odpory, že mu třívoltová logika dělá docela problémy.
    To Aleš: dík za odkaz na Vaše stránky, dobrá inspirace.

    odpověď na: ESP 8266 #5126
    jankop
    Účastník

    No já věřím, že export BIN v 1.6.6. funguje. Ale já mluvím o verzi 1.6.5. ve spojení s modulem ESP8266.

    odpověď na: Knihovna a odevzdavani parametru typu pole #5125
    pesi
    Účastník

    Co ty čtverečky v názvech, Nějaký skrytý nedovolený znak?

    Asi to s tím nesouvisí, ale proč máš u include „arduino.h“ uvozovky? Není standardní knihovna a neměla by být ve špičatých závorkách: #include <Arduino.h>?

    odpověď na: ESP 8266 #5124
    Aleš
    Účastník

    Nojo. Ono to fakt funguje 🙂 Já jsem si myslel, že se to musí programovat přes esptool. Každopádně k tvému dotazu. Mám IDE verzi 1.6.6, a tam normálně export do binárky jde. Dík 🙂

    odpověď na: ESP 8266 #5123
    jankop
    Účastník

    Proveď reset modulu s GPIO připojeným na GND. Pak z IDE normálně nahraj program.

Aktuálně je na stránce zobrazeno 30 příspěvků - 2,401. až 2,430. (celkem z 2,764)