Close

Zbyšek Voda

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 121. až 150. (celkem z 203)
  • Autor
    Příspěvky
  • odpověď na: pomoc s projektem: použití "random" #5797
    Zbyšek Voda
    Účastník

    Rozčilujete se zbytečně. To, že se zobrazil jiný obrázek, než jste chtěl… za to může váš blog. Co zkusit třeba Google Drive, Dropbox…?

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

    Když se na to teď dívám s odstupem, vidím v tom zásadní problém… v momentu, kdy je zmáčknuté tlačítko a na výstupu je nastaveno HIGH je připojeno + přímo na GND a to se Arduinu líbit nebude.

    Toto tedy nebude správná cesta.
    Omlouvám se, že jsem si toho nevšiml dřív.

    Asi bych šel cestou nějakého toho multiplexingu.

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

    Dobrý den,
    když nad tím tak přemýšlím, možná by šlo použít něco jako toto:
    Schéma
    Je potřeba to ale vyzkoušet. Nemám u sebe teď Arduino.

    Potom by ovládání probíhalo tak, že byste přepínal mezi
    pinMode(pin, OUTPUT);
    a
    pinMode(pin, INPUT_PULLUP);
    společně s rozsvěcením LED, čtení stavu…


    Použití 2×5 pinů by bylo rozhodně nejjednodušší.


    Pokud ale chcete ušetřit piny, najdou se i další způsoby, které piny ušetří ještě o trochu více.

    Použitím nějakého multiplexingu se dá ovládat mnohonásobně více LED, než je pinů (počet roste i exponenciálně). Například při použití Charlieplexingu je možné pomocí tří pinů ovládat až šest LED (obecně je počet LED dán vztahem n^2-n, kde n je počet použitých pinů). Více o Charlieplexingu zde.

    Druhou kategorií je ovládání tlačítek. Těch je možné na jeden pin připojit teoreticky až 1023 (respektive rozsah analogového převodníku – 1). V praxi je počet menší, ale vašich potřebných pět tlačítek je OK. Všechny tlačítka jsou připojena paralelně k jednomu pinu v sérii s resistory různých hodnot. Stisknutím dvou tlačítek tak vznikne paralelní kombinace více resistorů. Pokud vyberete správné hodnoty odporů, budete schopný vyčíst všechny možné kombinace stisků tlačítek. Více tlačítek připojených k jednomu Arduino pinu je popsán zde.

    S využitím těchto dvou způsobů tedy použijete pouze čtyři piny! 🙂

    odpověď na: Osvětlení akvaria Led pásky #5709
    Zbyšek Voda
    Účastník

    Dobrý den,
    bavíme-li se o tomto modulu: http://www.ebay.com/itm/4CH-AC-LED-Light-Dimmer-Module-Controller-Board-ARDUINO-RASPBERRY-Compatible/121752461158?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D20131003132420%26meid%3D24efa532ac8b4d51b2ccc92ea32c4c1d%26pid%3D100005%26rk%3D3%26rkt%3D5%26sd%3D111764492631

    Z jeho popisu mi vyplývá, že by měl stmívání umět. Když se ale dívám na videa s ukázkami, vypadá to spíše na opak. Je to zmatečné.

    Každopádně… pokud máte na blízku někoho, kdo se elektronikou živí, rozhodně bych dal spíše na jeho radu 🙂 Já jsem taky jenom amatér!

    Přes tyristory to také určitě půjde!

    odpověď na: Osvětlení akvaria Led pásky #5686
    Zbyšek Voda
    Účastník

    Není zač, držím palce 🙂

    odpověď na: Osvětlení akvaria Led pásky #5684
    Zbyšek Voda
    Účastník

    Dobrý den,
    ten poslední modul (http://www.ebay.com/itm/5V-4-Channel-LED-Indicator-Light-PLC-Relay-Module-Circuit-Board-Blue-for-Arduino-/321493316614?hash=item4ada7eb406:g:-RoAAOSwLVZVlcaA) má na sobě již zmiňovaná mechanická relé – takže u nich byste mohl ovládat maximálně vypnuto-zapnuto.

    Ten předchozí modul by měl jít použít (http://www.ebay.com/itm/4CH-AC-LED-Light-Dimmer-Module-Controller-Board-ARDUINO-RASPBERRY-Compatible/121752461158?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D20131003132420%26meid%3D24efa532ac8b4d51b2ccc92ea32c4c1d%26pid%3D100005%26rk%3D3%26rkt%3D5%26sd%3D111764492631).

    Budete potřebovat ArdUino, RTC modul, modul s relé, teploměr a displej
    Dále také potenciometr k displeji (k nastavení kontrastu – ne u všech je ale potřeba). Potom možná pár rezistorů – třeba u 1-Wire sběrnice, kterou se připojuje teploměr DS18B20 potřebujete 4.7 kohm rezistor. Komponenty kolem ale hodně závisí na použitém typu modulu/displeje/teploměru…

    odpověď na: Osvětlení akvaria Led pásky #5681
    Zbyšek Voda
    Účastník

    Na to by mělo stačit i UNO.
    Chcete-li mít ale jistotu, sáhněte po Mega a neuděláte chybu.
    Obzvlášť pokud použijete LCD s více piny (a ne například s I2C řadičem, kterému stačí tři piny).

    odpověď na: Osvětlení akvaria Led pásky #5679
    Zbyšek Voda
    Účastník

    Je celá řada různých relé: http://www.gme.cz/products/search?term=ssr
    Zapojení je popsáno v dokumentaci každého.

    Nakonec asi nejjednodušší by ale bylo koupit nějaký již hodový modul – například tento: http://www.sainsmart.com/sainsmart-4-channel-5v-solid-state-relay-module-board-omron-ssr-avr-dsp-arduino.html

    odpověď na: Osvětlení akvaria Led pásky #5677
    Zbyšek Voda
    Účastník

    Dobrý den, to by mělo jít.
    Budete potřebovat ke každé žárovce SSR relé (elektromechanické by rozhodně nezvládlo plynulou regulaci jasu) a nějaký zdroj času (ať už například RTC, nebo modul pro připojení ke zdroji času přes internet – ESP8266/Ethernet shield…).

    odpověď na: Sledovač čáry – motory #5630
    Zbyšek Voda
    Účastník

    Dobrý den, zkuste se podívat třeba na Redbot, nebo mBot a inspirovat se jejich motory 🙂

    odpověď na: volání funkce pomocí pole #5488
    Zbyšek Voda
    Účastník

    Dobrý den,
    to do čeho se pouštíte už je trochu obtížnější. Nějak by to ale jít mělo.
    Zkuste použít postup pomocí ukazatelů na funkce: http://physics.ujep.cz/~mmaly/vyuka/oporaPrgB/032.html. Tyto ukazatele si pak nastrkejte do pole menu.

    Problém použití funkce jako argumentu jiné funkce řeší třeba zde: http://stackoverflow.com/questions/1789807/function-pointer-as-an-argument

    Snad by šlo použít něco jako:

    
    void scr1(){
        digitalWrite((LEDzl), !digitalRead(LEDzl));
        delay(30);
    }
    ...
    void **menu = {&scr1, ...};
    
    void showMenu(void (*a)()){
        a();
    }
    
    showMenu(menu[0]);
    

    Zkuste a uvidíme 🙂

    odpověď na: Sensor Shield v5.0 #5459
    Zbyšek Voda
    Účastník

    Dobrý den.
    Předpokládám, že otázka zní „Jak programovat pro sensor shield v5.0?“. Je to tak?
    Pomohlo by, kdybyste poslal odkaz na sensor shield. Pak se možná posuneme dál 🙂

    Zbyšek Voda
    Účastník

    Dobrý den,
    to asi záleží spíše na účelu.

    Když koukám na ten kit, naleznete tam ledky, rezistory a tlačítka. Na začáteční hraní to stačí, ale myslím, že po chvilce (v řádu hodin) už moc nemáte s tímto kitem co dělat.

    Asi bych raději sáhnul po nějakém obsáhlejším kitu – například tomto: http://www.hwkitchen.com/products/kit-workshop-base-level/

    Podle mě asi úplně nejlepší kit je oficiální Arduino Starter Kit. V něm už je opravdu spousta komponent (Servo motor, DC motor, LCD displej…).

    odpověď na: zapojenie bs18d20 #5338
    Zbyšek Voda
    Účastník

    Dobrý den,
    to by mohl být i problém načasování. V tomto fóru: https://forum.arduino.cc/index.php?topic=20574.0 řeší podobný problém, který vyřešila právě změna časování v knihovně OneWire.cpp (je to příspěvek označený #5).

    Zbyšek Voda
    Účastník

    Dobrý den,
    odkud jste ovladače instaloval?
    Pokud jste instaloval ty, které jsou součástí Arduino IDE, tak Vám to pravděpodobně fungovat nebude. Bude potřeba nainstalovat přímo ty pro vaši desku.

    odpověď na: ESP 8266 #5246
    Zbyšek Voda
    Účastník

    Tyto problémy se vyskytují snad jen ve verzi 1.6.6. Verze 1.6.5 jede OK.

    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á.

    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: 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: Konverze výstupu jednotek #5073
    Zbyšek Voda
    Účastník

    Dobrý den, každý jsme měl pravdu v něčem.
    Váš převod jednotek je zapsán chybně, můj je dobře, jen jsem si výsledek špatně interpretoval (bral jsem jednotky v posledním vzorci úpravy jako proměnné, což nelze). Vaše převodní funkce je správná, moje byla špatná.

    Tedy přiznávám svoji chybu. Řešení:

    float mWcm2toWm2(float vstup){
         float vystup = vstup * 10;
         return vystup;
    }

    Shodneme se?

    odpověď na: Spinaní GPO pinu přes web #5072
    Zbyšek Voda
    Účastník
    odpověď na: Konverze výstupu jednotek #5050
    Zbyšek Voda
    Účastník

    Nesouhlasím s vámi. Vaše úvaha je chybná.

    Rovnice

    odpověď na: Konverze výstupu jednotek #5045
    Zbyšek Voda
    Účastník

    Dobrý den,

    přijímáte-li data v mW/cm^2 a chcete je převést na na W/m^2, je přepočet následující:

    W = 1000 mW
    m^2 = 10 000 cm^2
    
    W/m^2 = (1000 mW) / (10 000 cm^2)
    
    W/m^2 = mW / (10 cm^2)

    Dá přepočet se dá tedy vyjádřit funkcí

    float mWcm2toWm2(float mWcm2){ //uznávám, že název funkce je opravdu ošklivý :)
         float Wm2 = mWcm2 / 10;
         return Wm2;
    }

    Snad jsem se nikde nesekl 🙂

    odpověď na: Arduino UNO – nereaguje na snímač polohy #5032
    Zbyšek Voda
    Účastník

    Dobrý den,
    nevím, jestli problém správně chápu…
    Máte 4 písty a chcete mít možnost je ovládat nezávisle na sobě, že?

    Navrhuji tedy něco jako:

    int pist1 = 2;
    int pist1Zasunut = 6; 
    int pist1Vysunut = 7;
    
    boolean pozadovanyStavPist1 = false; //false - zasunuto, true - vysunuto
    int stavPist1 = 0; //0 - zasunuto, 1 - někde mezi, 2 - vysunuto
    
    void setup() {
        pinMode(pist1, OUTPUT);
        pinMode(pist1Zasunut, INPUT);
        pinMode(pist1Vysunut, INPUT);
    }
    
    void loop() {
        //prvně nastavíme hodnotu stavPist1
        if(digitalRead(pist1Zasunuto) && !digitalRead(pist1Vysunuto){
            stavPist1 = 0;
        }
        else if(!digitalRead(pist1Zasunuto) && !digitalRead(pist1Vysunuto){
            stavPist1 = 1;
        }
        else if(!digitalRead(pist1Zasunuto) && digitalRead(pist1Vysunuto){
            stavPist1 = 2;
        }
        else{
            //k situaci, kdy by byly oba spínače sepnuté, nedojde
        }
        
        if(stavPist1 == 0){
            if(pozadovanyStavPist1 == false){
                //je zasunuto, nic nedělej
            }
            else{
                digitalWrite(pist1, LOW); //vysunout píst
            }
        }
        else if(stavPist1 == 1){
            if(pozadovanyStavPist1 == false){
                digitalWrite(pist1, HIGH); //pokračuj v zasouvání pístu
            }
            else{
                digitalWrite(pist1, LOW); //pokračuj ve vysouvání pístu
            }
        }
        else if(stavPist == 2){
            if(pozadovanyStavPist1 == false){
                digitalWrite(pist1, HIGH); //zasunout píst
            }
            else{
                //nic nedělej, je vysunuto a to je dobře
            }
        }
    }

    Dá se to zapsat i kratším způsobem, ale takto to snad bude pochopitelné 🙂

    odpověď na: Vhodnost řešení #5029
    Zbyšek Voda
    Účastník

    Ano, controllino je vlastně Arduino obalené relátky apod.

    odpověď na: Zasekávání Arduino Yún #5024
    Zbyšek Voda
    Účastník

    Pokud jsou to výpadky například jednou do hodiny, tak by alespoň chvilku mělo Arduino vždy zapisovat.

    Ještě mě napadlo, jestli nebude problém v připojení. Máte Yun připojeny k síti pomocí Ethernet kabelu?

    odpověď na: Vhodnost řešení #5022
    Zbyšek Voda
    Účastník

    Dobrý den,
    možná by šlo použít Controllino (psali jsme o něm zde), nebo Industruino. Obě jsou to PLC kompatibilní s Arduinem.

    odpověď na: Zasekávání Arduino Yún #4996
    Zbyšek Voda
    Účastník

    Dobrý den,
    podle toho co popisujete není chyba v Arduinech.
    Není třeba možné, že na místě B je nějaká chyba v napájení, nebo tak něco?

    odpověď na: Stripboard software #4827
    Zbyšek Voda
    Účastník

    Na stripboard se dá rozmístit součástky i ve Fritzingu, ale nevím, jak je na tom s autoroutováním.

    odpověď na: Začátky s Bluetooth modulem #4791
    Zbyšek Voda
    Účastník

    Dobrý den.
    Můžete si představit, že bluetooth spojení se (většinou) u Arduina chová tak, jako by tam žádný bluetooth modul nebyl a Arduino přijímalo data přes sériovou linku.

    Každá mobilní aplikace bude mít asi ovládání trochu specifické, veskrze se ale bude jednat o odesílání nějaké sekvence čísel, popřípadě znaků.

    Konstra, kterou posíláte vlastně jenom říká, že se do incomingByte uloží byte přijatý přes sériovou linku.

    Mějme nějakou modelovou aplikaci – například jednoduchý joystick. Při směru nahoru pošle byte s hodnotou ‚u‘, při směru dolů ‚d‘, při směru doleva ‚l‘ a doprava ‚r‘. Vy pak v Arduinu budete na přijetí těchto znaků čekat. Například:

    
    if(incommingByte == 'u'){
        jedNahoru();
    }
    

    Takto si například můžete udělat jednoduché autíčko.

    Asi nejjednodušší na začátek bude, když si do mobilu stáhnete nějaký Bluetooth Terminál – myslím, že mi dobře fungoval třeba tento: Bluetooth Terminal. Ten jenom odešle znaky, které mu zadáte.

    V terminálu se připojíte k vašemu bluetooth modulu a pošlete například znak ‚a‘. V tu chvíli by se měl tento znak uložit do proměnné incommingByte.

    Různé aplikace pro bluetooth komunikaci budou fungovat podobným způsobem. Jakou konkrétní sekvenci posílají najdete většinou v jejich dokumentaci.

    Podrobněji se bluetooth věnuji ve článku Propojujeme Arduino s jinými zařízeními. Tam také popisuji hodně zajímavou aplikaci SensoDuino, která umí posílat data z mobilních senzorů přes BT do Arduina.

Aktuálně je na stránce zobrazeno 30 příspěvků - 121. až 150. (celkem z 203)