Close

Webster.K

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 2,281. až 2,310. (celkem z 2,760)
  • Autor
    Příspěvky
  • odpověď na: DS18B20 #6002
    Zbyšek Voda
    Účastník

    Dobrý den, zkuste nám prosím pro jistotu poslat kód 🙂

    odpověď na: Práce s pamětí #5969
    posjirka
    Účastník

    1. obávám se , že takto ti nikdo nepomůže.
    Je zvláštní , že to musím psát v každém vlákně, ale BEZ KODU TO PROSTĚ NEJDE.
    dej sem kod a můžeme ti poradit jak třeba ušetřit pár bytů.
    Ani ti pak nemůžeme poradit co ti nefunguje když nevíme CO VLASTNĚ DĚLÁŠ.
    Ušetření místa v SRAM se dá obecně docílit tím, že např:
    – nahradíš neměnné promenné (číslo pinu ledky apod) za konstanty
    – né všechny proměnné budou tyu integer ale máme třeba boolean, byte atd.
    záměnnou integer za byte ušetříš 1 byte (samozřejmě pokud potřebuješ hodnoty 0-255).
    – použitím funkcí a metod nemusíš některé kusy programu opakovat.

    2.Výsledný kod v assembleru najdeš tak, že si nastavíš:
    File – Preferences – Show verbose output during zatrhneš compilation.
    Tím se ti bude vypisovat průběh kompilace. Když se podíváš do výpisu tak jsou tam soubory *.eep a *.elf to jsou ty co hledáš.

    odpověď na: Ukazatel zařazené rychlosti na motorku #5967
    posjirka
    Účastník

    Tady vidím problém … jak mu řeknu, že jdu ze „2“ na „3“ a né na „1“, když je to ten samý směr?

    N 2 4
    \ / \ / \
    1 3 5

    tak jednoduše to asi nepůjde. Napadají mě 2 varianty:
    1, je třeba ještě dodatečná informace o směru (3-tí kontakt)
    2, využít jiného způsobu třebas i nepřímého měření jako třeba měření otáček motoru vs otáčky kola a podel poměru +/- vypočítat jaký byl použit převod. Ovšem fungovalo by to pouze za jízdy. Nevím motory a převodovky jsou pro mě věcí neznámou. Jsem spíš na elektro…

    odpověď na: Ukazatel zařazené rychlosti na motorku #5966
    pepa48
    Účastník

    Ano chápete to dobře jen je tady malý problém.

    Jde to N –> dolů –> 1 –> nahoru 2 –> ….. nahoru –> 5 (a zpátky opačně)

    takže to není normální sčítání a odčítání nahoru a dolů..

    odpověď na: Ukazatel zařazené rychlosti na motorku #5955
    posjirka
    Účastník

    Takže jestli to chápu dobře:
    pojmenujemme si LED diody od „0“ kdy „0“ = N, „1“ = 1, … „5“ = 5
    Po startu se rozsvítí LED0 a níž to nepůjde
    tlačítky „+“ a „-“ chceš posouvat LED nahoru/dolu až po LED5.
    Ta bude poslední a dál to nepůjde.
    Chápu to dobře?

    Je třeba si ještě uvědomit, že reakce na stisk tlačítka nemusí být ta správná cesta.
    Na tlačítku jsou při stisku zákmity a může se stát, že při stisku může tlačítko „vygenerovat“ řadu impulzů.
    Řesší se to time-out-em, kdy po stisku mikročip nereaguje po nastavenou dobu a pak zase čeká.
    Je třeba citlivě a z rozmyslem nastavit pak tento čas, protože při rychlém přepnutí nebude reagovat.

    odpověď na: IMIM120618001 vstupni svorky #5937
    posjirka
    Účastník

    Předpokládám, že :
    G je GND neboli zem
    + je kladný potenciál napájecího napětí (v tomto případe asi 3,3V)
    S je zkratka pro signal.

    Stačilo by si vzít multimetr a bylo by jasno …

    odpověď na: Meteostanice #5926
    Leo
    Účastník

    Zdravím.
    Potřebovali bychom senzory s meteostanice WH1080 – WH1090 připojít přimo k arduinu.
    http://www.hadex.cz/t110-vnejsi-mechanicke-dily-k-meteo-wh1080-a-wh1090/
    Neřešíl to už někdo?
    Děkují.

    odpověď na: IMIM120618001 vstupni svorky #5918
    Zbyšek Voda
    Účastník

    Dobrý den, moc nerozumím vaší otázce. Zkuste ji prosím formulovat trochu jinak, děkuji.

    odpověď na: Které Arduino #5914
    barak
    Účastník
    odpověď na: Dotaz od začátečníka – podmínka if #5913
    barak
    Účastník

    Mozna od temy ale take podminka IF.
    Chtel jsem pouzit IF. Sledoval jsem hodnotu y AO a potom dal IF, ale zacyklovalo se, stale cetlo posledni hodnotu. Taj sem to vyresil nize. Da se to vyresit aby se necyklovalo

    const int lamdaSig = A0; // Analogový vstup je nastaven na pi A0 pre lambdu sondu
    int napatie = 0; // Proměná pro hodnotu přečtenou z A0
    int led2 = 2;
    int led3 = 3;
    int led12=12;
    const int sensorPin = A1;
    const float baseLineTemp = 20;
    int t;

    void setup() {
    // Nastaví rychlost komunika na sériovám portu na 9600 bps:
    Serial.begin(9600);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(led12, OUTPUT);
    }

    void loop() {

    int sensorVal = analogRead(sensorPin);

    napatie = analogRead(lamdaSig); // přečte hodnotu z A0 z lambda sondy
    napatie = ((napatie * 500.0) / 0.1) / 1024; //vysledok v mV
    // aby jsme videli vysledek, hodnotu odešleme přes sériový port
    Serial.print(“ napatie = “ ); // zapiše text hodnota =
    Serial.println(napatie); // zapiše proměnou hodnotu/napatie

    float teplota = ((sensorVal*5000.0)/30) /1024;
    Serial.print(“ teplota = „);

    Serial.println(teplota);
    delay(1000); // čekej 1000ms

    t=constrain(teplota, 20, 200); //ked je teplota mensi ako nastavene tak vrati 25,
    Serial.print(„upravene = „);
    Serial.println(t);

    switch(t){
    case 20:
    digitalWrite(led12, HIGH); //blika ked nie je teplota
    delay(1000);
    digitalWrite(led12, LOW);
    digitalWrite(led3,HIGH); //teplota mensi nez pozadovana otvari sa klapka1
    break;

    default: //ked je teplota v roymeyi nastavene par contrain
    digitalWrite(led3, LOW); //zatvori klapku1
    if (napatie < 200) { //mensi tak otvara klapku
    digitalWrite(led2, HIGH);
    delay(500);
    digitalWrite(led2, LOW); //klapka sa otvara len urcity cas pak zatvori
    }

    if (napatie > 200) { //vetsi zatvara klapku
    digitalWrite(led2, LOW);
    }

    if (napatie > 500) { //vetsi zatvara klapku
    digitalWrite(led3, HIGH);
    delay(500);
    digitalWrite(led3, LOW); //cas delay otvorena klapka pak zatvori
    }
    if (napatie < 500) {
    digitalWrite(led3, LOW);
    }

    delay(1000); //nacha reagovat po delay pak nove meranie

    break;

    }

    odpověď na: Dotaz od začátečníka – podmínka if #5912
    m.myska
    Účastník

    Opravdu mi chodí v serial monitoru svítí 🙂 , ale to je asi fuk.
    Kde a jak tedy položit podmínku k výpisu, aby reagovala po stavu HIGH i LOW?
    Díky.

    odpověď na: Dotaz od začátečníka – podmínka if #5911
    edmond
    Účastník

    Osobně si myslím, že Vám chodí stále že nesvítí. 🙂

    Váš program pracuje následovně:

    napětí na pin 2
    3 sekundy se nic neděje
    vypnutí pinu 2
    3 sekundy se nic neděje
    pak se ptáte v jakém stavu je LED a ta je vždy v tomto stavu vypnuta

    odpověď na: Arduino, 433 mhz , servo #5907
    boss1986
    Účastník
    odpověď na: Arduino, 433 mhz , servo #5906
    boss1986
    Účastník

    Tak jsem narazil na kod co jde bez knihovny. Posílá text. Ale nevím jak tam dosadit kod serva s knihovnou ServoTimer1. Nejsem ještě tolik v tomto zkušený. Díky za rady..

    odpověď na: Arduino, 433 mhz , servo #5891
    posjirka
    Účastník

    ale jde to . pouze sdílejí stejný časovač TIMMER 0, použij pro servo knihovnu využívající TIMMER 1 : https://playground.arduino.cc/ComponentLib/Servotimer1
    Proč jsou tam 3 arduina je vcelku jasné. 1 vysílací, 1 přijímací a 1 pro řízení serva.
    Ono servo má tu vlastnost, že reaguje na šírku pulzu s frekvencí cca 50Hz, tj 20ms.
    Když po 433MHz pošleš informace o identifikaci, uhel 3 serv a ukončovací sekvenci tak ti to může klidně trvat 10ms. To už ti rozhodí funkci časovače pro ovládání serva.
    Jde so udělat, jen je třeba si v klidu rozmyslet funkci, načasování a nepoužívat na všechno knihovny …

    odpověď na: připojení 1F motoru 600W #5890
    posjirka
    Účastník

    to je určitě super přístup i řešení. Spínání pomocí arduina není až tak problém a jen si koupíš zásuvku spínanou na 433MHz (cca 150-200kč) + vysílač (cca 25-50kč) a pak použiješ knihovnu RC switch.
    https://github.com/sui77/rc-switch

    jednoduché, dá se s tím kouzlit ve stylu, měření výšky hladiny v jezírku, časové spínání (nebo přes internet) atd.

    Jestli se chceš pustit do něčeho co má smysl postupuj po malých krůčcích a postupně to skládej. Vždy si dej takový úkol na kterém víš co děláš nebo jak má dopadnout a pak zjistíš že je to vlastně vcelku jednouché …. nu hodně štěstí a bastlení zdar

    odpověď na: připojení 1F motoru 600W #5889
    zz2012
    Účastník

    Dík za tip. Právě i kvůli bezpečnosti jsem se ptal. Jedná se o čerpadlo = voda … a ač je vše opticky oddělené, nevím jestli se mi do toho chce. Možná to skončí obyčejnou „vratkou“ vody spínanou 12V ventilem místo regulace otáček.
    Dík.

    posjirka
    Účastník

    jak jsme psal před chvíli na jiném vlákně:
    doporučuji podívat se sem:
    http://www.instructables.com/id/Arduino-controlled-light-dimmer-The-circuit/?ALLSTEPS

    odpověď na: připojení 1F motoru 600W #5878
    posjirka
    Účastník

    Doporučuji podívat se sem:
    http://www.instructables.com/id/Arduino-controlled-light-dimmer-The-circuit/?ALLSTEPS

    Samotný princip a řešení složité není, ale bez elektro vzdělání bych se do toho nepouštěl. Nejde ani tak o tvurce jako spíš o děti nebo nezasvěcěné, kteří nevhodnou manipulaci mohou přijít i o život .

    Za sebe bych spíš amatérské řešení viděl jako max. spínání pomocí bezdrátových zásuvek na 433Mhz. Je to bezpečné a člověk nepříjde do styku ze sítovým napětím.

    odpověď na: PIR + SIM800L volání #5870
    Soci
    Účastník

    Po úpravě byla reakce stále stejná, tak jsem začal zkoušet přehazovat drátky a místo ledky jsem použil nějaký rezistor co jsem tu měl a konečně se pak objevila nějaká odezva:
    GSM Shield testing.
    ATT: OK
    RIC:
    ATT: OK
    RIC:
    ATT: OK
    RIC:
    ATT: OK
    RIC:
    ATT: OK
    RIC:

    Pak jsem zkoušel v čem byl problém. Nefungovalo to když jsem místo rezistoru vrátil ledku, ani když jsem přehodil zpátky RX na TX a TX na RX jak by to mělo být (v současnosti mám tedy TX → TX) a dokonce ani při vrácení #define _GSM_TXPIN_ 2 #define _GSM_RXPIN_ 3. Všechny tyto věci se tedy musely změnit aby nastala tato reakce. Stále to nevolá, ale rozhodně jsem o něco dál. Děkuji.

    odpověď na: PIR + SIM800L volání #5869
    Aleš
    Účastník

    Najdi knihovnu GSM.cpp
    V ní najdi řádky:
    #define _GSM_TXPIN_ 2
    #define _GSM_RXPIN_ 3
    změň je na:
    #define _GSM_TXPIN_ 11
    #define _GSM_RXPIN_ 10

    Ještě upřesním: signál RX na modulu GSM bude zapojen na pin11, signál TX na pin10. Sériový port se zapojuje RX na TX a TX na RX.

    Když to bude chodit, tak bych to celé upravil a předělal na HW sériový port RX1 a TX1.

    Místo LED bych tam dal 2 diody. Není to kvůli proudu, ale kvůli snížení napětí. Přes LED neprojde potřebný proud!

    odpověď na: PIR + SIM800L volání #5854
    Soci
    Účastník

    Po vložení se mi vymazali mezery, tak ještě pro přehlednost:

    Mega2560 → GSM
    5V → VCC /tady jsem zmírnil proud pomocí jedné Led diody
    PWM 10 → RX
    PWM 11 → TX
    GND → GND

    Mega2560 → PIR
    5V → VCC
    A0 → OUT
    GND → GND

    odpověď na: pomoc s projektem: použití "random" #5846
    posjirka
    Účastník

    díky

    posjirka
    Účastník

    trochu se zpožděním ale přeci:

    // náhodné říze 3 serv
    // v1
    // místo serv bude řešením výpis stavu 3 proměnných na seriový port.
    // by JP 2016
    //
    
    int servo1 = 0; // uhel natočeníserva 1
    int servo2 = 0; // uhel natočeníserva 2
    int servo3 = 0; // uhel natočeníserva 3
    int uhel = 0; // novz uhel natočení
    int pauza = 0; // doba pauzy před další změnou
    int vyber = 0; // pomocná promměná pro výběr , které servo se bude měnit
    
    void setup() {
      Serial.begin(9600); // inicializace seriove komunikace
      randomSeed(analogRead(A0)); // generátor náhodných čísel začne od čísla == aktuální hodnota na portu A0
    }
    
    void loop() {
      // generovaní náhodných hodnot
      //----------------------------
      // novy uhel natočení serv
      uhel = random(0, 180);
      // výběr serv pro změnu
      vyber = random(0, 127);
      // délka pauzy v ms
      pauza = random(200, 1000);
      
      // uprava hodnot natočení serv
      //----------------------------
      // když 0. bit proměnné "výber" bude rovný 1 aktualizuj hodnotu "servo1"
      if (bitRead(vyber,0) == 1) {
        servo1 = uhel; 
      }
      // když 1. bit proměnné "výber" bude rovný 1 aktualizuj hodnotu "servo2"
      if (bitRead(vyber,1) == 1) {
        servo2 = uhel; 
      }
      // když 2. bit proměnné "výber" bude rovný 1 aktualizuj hodnotu "servo3"
      if (bitRead(vyber,2) == 1) {
        servo3 = uhel; 
      }
      
      // výpis proměnných a stavu serv
      //------------------------------  
      Serial.print("Servo 1 : ");
      Serial.print(servo1);
      Serial.println(" st.");
      Serial.print("Servo 2 : ");
      Serial.print(servo2);
      Serial.println(" st.");
      Serial.print("Servo 3 : ");
      Serial.print(servo3);
      Serial.println(" st.");
      Serial.print("Vyber : ");
      Serial.print(vyber);
      Serial.print(" = ");
      Serial.println(vyber, BIN);
      Serial.print("Pauza : ");
      Serial.print(pauza);
      Serial.println(" ms");
      
     // oddělovač 
     //----------
      Serial.println("****************************");
      delay(pauza);   // čekání na další změnu
    }
    odpověď na: pomoc s projektem: použití "random" #5843
    Zbyšek Voda
    Účastník

    Vkládám slíbený obrázek od posjirka.
    Tlačítko a LED na jednom Arduino pinu

    odpověď na: FRID-RC522, ověření + led dioda #5840
    posjirka
    Účastník

    omlouvat se nemusíš. každý něják začínal. spíš je důležitější že jsi našel řešení a podělil se o něj s námi.
    Díky

    odpověď na: FRID-RC522, ověření + led dioda #5806
    Soci
    Účastník

    Za málo informací se omlouvám, nicméně se mi mezitím podařilo najít správný návod. Pokud by někdo měl stejný problém přikládám odkaz díky kterému jsem to rozchodil, stačilo se jen zbavit částí ovládající servo.

    http://www.arduinoecia.com.br/2014/12/controle-de-acesso-modulo-rfid-rc522.html

    odpověď na: pomoc s projektem: použití "random" #5802
    Zbyšek Voda
    Účastník

    Zatím je bohužel pro uživatele možné vložit obrázek pouze z externího zdroje.
    Když mi ho ale pošlete na mail zbysekvoda@gmail.com, dám ho sem.

    odpověď na: INPUT_PULLUP #5801
    posjirka
    Účastník

    jojo přesně tak, chtěl jsem jej využít jako předřadný odpor pro měření teploty pomocí NTC čidla a zjistil jsem, že se hodnoty těchto odporů na ATMEGA328p na 2 analogových pinech výrazně lišila. Pokud si dobře vzpomínám tak to bylo cca 12k Ohm a 18kOhm (měřeno jako úbytek napětí na stejném odporu proti vstupu a zemi).

    Na hrubší věci super, pro něco intenzivnějšího to není. Navíc to má tuším max.0,125W/pin(odpor)

    odpověď na: pomoc s projektem: použití "random" #5800
    posjirka
    Účastník

    obrázek je správně, jen blog si jej zablokoval pro extrení využití. Je nějáká varianta jak sem vložit obrázek?
    Google Drive mám, ale používat nebudu, zbytečně bych si zanášel místo na disku a až budu dělat pravidelnou čístku smažu i toto a nebude mít nikdo nic. Na netu oceňuji že jsou informace dostupné i o několik let později a stále mohou pomoci….

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