Close

lieg

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 1,501. až 1,530. (celkem z 2,760)
  • Autor
    Příspěvky
  • odpověď na: Rada pro začátečníka -stmívač a žaluzie #8673
    Vojtěch Vosáhlo
    Účastník

    Já bych použil nějaké optické hradlo a takové to kolečko kde se střídá černá a průhledná. Vzor se dá sehnat na internetu a na laserovce vytisknout na průhlednou fólii. Hradlo můžete koupit a nebo i s kolečkem vytáhnout ze staré tiskárny. Asi by to mohlo fungovat dobře, nemusíte natahovat kablíky pro koncáky a můžete použít nějaký obyčejný motor. Pak se to dá ovládat prakticky jak servo.
    Držim palce

    odpověď na: Code::block #8669
    DavidTor
    Účastník

    AVR studio jsem zkoušel, bohužel mi přišlo moc těžkopádné. Je postavené na VS.
    IDE arduino je nepoužitelné pro velké projekty. Aspoň pro mě. Mám kód který má už cca 11000 řádků. Neumím si představit jak bych to v něm dělal. Využívám také debuger který je součástí Visual Micro.

    odpověď na: Code::block #8668
    posjirka
    Účastník

    a co klasické AVR studio ?
    Já teda používám Arduino IDE a jsem spokojený. Zatím jsem neměl důvod hledat něco jiného. Pro vyšší programovací jazky používám Visual Studio nebo Sharp Develop (VB.net nebo C#) ale v Arduino jsem pokojený s klasikou.

    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8667
    Ladis_Kv
    Účastník

    jo servo by bylo lepší, ale nenašel jsem které by mělo průměr 25mm a dostatečný výkon aby to s tím otočilo.
    Zatím jsem takový nenašel.Jen motor DC s převodovkou.
    Ten motor by měl být schovaný v žaluzii.
    No zkusím se s tím nějak poprat.
    Díky

    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8666
    petan
    Účastník

    Čemu nerozumíš? Zkus si projít kód řádek po řádku. Schválně jsem ho rozdělil na jednotlivý funkce, aby si mohl každou pochopit zvlášť. Navíc rozdělení na jednotlivý funkce (procedury) usnadňuje úpravy v programu.

    Nebo zkus servo. To se umí jednoduchým příkazem otočit o 180°. Ráno nastavíš, aby se servo otočilo např. na 0° a večer na 180°. Servo má v sobě elektroniku, která si sama měří úhel, takže opravdu jenom pošleš hodnotu a o nic jinýho se nestaráš.

    Pro servo by to mohlo vypadat takhle:

    #include <Servo.h> 
    
    Servo servopohon; //instance objektu (to neřeš)
    
    void setup() 
    { 
      servopohon.attach(8); //servo připojeno na pinu 8
    } 
    
    void loop() {
    //opakuj stále dokola
    
    intenzita = analogRead(A0); //načti intenzitu osvětlení
    
    if (intenzita > 500){
    //pokud je tma
    servopohon.write(0); // nastavit úhel na 0
    }
    
    else{
    //pokud není tma
    servopohon.write(180); // nastavit úhel na 180
    }
    
    } 
    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8665
    Ladis_Kv
    Účastník

    No trochu v tom bádám…a nevím..
    asi to nebude fungovat,nebo tomu nějak nerozumím.
    Budu mít na dvou digi výstupech zapojen budič pro morky.A tam se bude otáčet napětí.
    Nemám koncáky a nic jiného.Chci to zkusit časově.Pokud to půjde.A chci jen zavřít a otevřít žaluzie -ne vytahovat je nahoru a dolu.
    Prvně jsem tam chtěl dát krokový motor,ale nenašel jsem vhodný typ(jak výkonem,tak velikosti).
    Máte někdo jiné nápady,které by mi pomohly?Děkuji
    Budu rád za jakoukoli radu k danému problému.

    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8664
    Ladis_Kv
    Účastník

    Díky moc,
    je vidět že to dost umíte.
    Já to promyslím vše,dopíšu jak má být a vyzkouším.
    Pak se ozvu a napíšu jak to dopadlo.
    p.s. jsem trochu pomalejší… 😀
    ještě jednou díky
    L.

    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8661
    petan
    Účastník
    
    void loop(){
    
    if (intenzita > 500){
    //pokud je tma
    if(otevreno){
    //pokud je tma (z předchozí podmínky) a žaluzky jsou otevřeny
    zavri();
    }
    }
    
    else{
    //pokud není tma
    if (!otevreno){
    //pokud není tma (z předchozí podmínky else) a žaluzie jsou zavřeny
    otevri();
    }
    }
    
    }
    
    void zavri(){
    //zde napsat příkazy k zavření žaluzií (zapnutí výstupů apod)
    delay(5000);
    otevreno = false;
    vypni();
    }
    
    void otevri(){
    //zde napsat příkazy k otevření žaluzií (zapnutí výstupů apod)
    delay(5000);
    otevreno = true;
    vypni();
    }
    
    void vypni(){
    //příkazy k vypnutí pohonu žaluzií
    }

    Asi takhle bych to viděl… Psal jsem to „poslepu“, ale mělo by to fungovat. Možná budou šatně velikosti písmen.

    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8660
    Ladis_Kv
    Účastník

    Na pinech 8 a 9 bude dc motorek,přes budič L298N.
    A ten analog je A0.
    Když se setmí tak hodnota zůstane (nad 500) ,takže potřebuji aby to jednou seplo na určitou dobu a pak se vlastně čeká až na ráno kdy se hodnota změní pod 500.

    odpověď na: Rada pro začátečníka -stmívač a žaluzie #8656
    Zbyšek Voda
    Účastník

    Co je připojeno na pinech 8 a 9?

    Zkusím vás nasměrovat 🙂 Přidejte si ještě jednu proměnnou, ve které budete uchovávat, jestli je žaluzie zatažená, nebo roztažená.

    Potom budete zkoumat:
    -je hodnota nad určitou hodnotu a je roztaženo? -> zatáhni
    -je hodnota pod určitou hodnotu a je zataženo? -> roztáhni

    Také nesmíte zapomenout nastavit aktuální hodnotu proměnné po zatažení či roztažení.

    PS. Asi v kódu myslíte analogový pin A0, ne jenom 0 🙂

    odpověď na: Lawn Mower #8652
    posjirka
    Účastník

    ovládání j epomocí smyčky v zemi, kam se pouští cca 34kHz. sekačka má 2 snímací cívky, které vyhodnocují zda nejsou na kraji a pokud ano tak otočísekačku.
    co se týká desky tak tam první, která je i popsaná obsahuje v podstatě jen solární nabiječku a 2 filtry pro detekci té zemní smyčky.
    Bohužel tam není popsána ta druhá deska, která ovládá motory.
    Je to vcelku slušně navržené a i když mi některé hodnoty nevycházejí musím uznat, že je to slušná práce od původního tvůrce.
    Co mi nevychází je , že baterie má kapacitu 2,1Ah, odběr je cca 2A, panel dobijí v optimálním případě cca 0,6A a má posekat zahradu 500m2 za 3 hodiny.
    Když bude baterie plně nabitá, tak vydrží max 1 hod, při průběžném dobijení je to cca 1,5A a to bude totálně vyždímaná a bude se snižovat životnost baterie.
    Ten nabijecí ostrov … nevím. Musel bys rozšířit i vybavení nebo program o návrat na původní pozici, kde skončil. jinak hrozí, že budeš sekat neustále tu samou část.
    Fotovoltaický panel a průběžné dobijení mi přijde jako velmi dobré řešení.
    Moc by se mi něco takového líbilo jen toho času se nedostává … počkám si na nový domeček a volný čas 🙂

    odpověď na: Code::block #8637
    DavidTor
    Účastník

    Bohužel jsem zjistil, že při kompilaci kódu který měl cca 160kB,to Code:Block nějak nezvládal. Musel jsem hledat náhradu. Přešel jsem na Visual Studio s doplňkem Visual Micro. To co píšeš by měl umět.

    odpověď na: Lawn Mower #8625
    Vojtěch Vosáhlo
    Účastník

    Z mojeho pohledu tomu ten panel spíš přidává na ceně než cokoliv jiného 😉 myslím že když se to slušně navrhne tak by to na jedno nabití mohlo střední zahradu posekat a pak si to pro šťávu kdyžtak zajede jak říkáte. Můžu se zeptat jak budete sekačce vytyčovat ůzemí na kterém jezdit?
    Držím palce ať uspějete.
    Vojta

    odpověď na: Code::block #8624
    p.maly
    Účastník

    Já právě hledám nějaký šikovný simulátor. Vyzkoušel jsem Virtonics, velice jednoduché a intuitivní, na první pohled je jasné co s tím. Bohužel ale, plné bugů. Code:Blocks mám nainstalováno, ale netuším co s tím. Chci jen nahrát jednoduchý kód pro Nano, spustit jej, a pak vidět „obrázek“ modulu, kde budu vidět úrovně výstupních pinů, a moci měnit hodnoty na vstupních pinech. Nic víc. Je někde pro Code:Block nějaký how-to-begin návod, nejlépe ve stylu kuchařky (step by step)?
    Díky, Petr

    odpověď na: Lawn Mower #8622
    kamaov
    Účastník

    Děkuji za info, myslel jsem si to.
    Lepší by bylo, vytvořit fotovolt ostrov a sekačka ať zajíždí pro šťávu.
    Uvidím a díky za názor!

    odpověď na: Automatický sodobar – hotovo #8621
    posjirka
    Účastník

    díky za doplnění …

    odpověď na: Automatický sodobar – hotovo #8604
    petan
    Účastník

    Jumperem se na desce spouští diagnostika (odesílá se stav zařízení na sérivou linku) – propojením dvou prostředních se na pin A2 přivede log. 1. jinak tam pull-down rezistor udržuje log. 0. Ostatní jumpery jsou nezapojeny.

    LED je dodělávána dodatečně. Je připojena na pin č. 11. Tlačítko má v sobě LED a předřadný odpor na 12 V. Já to živím 5V přímo z Arduina. Svit je dostatečný a odměr minimální.

    Schémata aktualizuji a až plně odladím program, tak na stránku asi umístím i ten. Zatím mě tedy nenapadá co na něm odlaďovat. Funguje, takže to asi jenom trochu „učešu“ 🙂

    Šasi to už má. Na videu je vidět, že je to zabudováno do plechové krabice – nějaký starý rozvaděč. Půjde to jako celek zabudovat do linky, takže pro běžného smrtelníka by měla být viditelná pouze výčepní konzolka.

    odpověď na: Automatický sodobar – hotovo #8596
    Zbyšek Voda
    Účastník

    Dobrý den, je to krásná práce 🙂
    Je super, když je projekt i vizuálně zajímavý a to se povedlo! 🙂
    Plánujete i nějakou šasi?

    odpověď na: Automatický sodobar – hotovo #8595
    posjirka
    Účastník

    zajímavý projekt. Jen mě zajímají 2 věci, které jsem nenašel v popisu:
    1, Na desce vpravo dole jsou napájeny pin, ale nenašel jsem nikde jejich zapojení, je to pro výběr nějákých přednast. režimů?
    2, kde je výstup na tu LED diodu u ovl. panelů? Je to pralalelně ke spínači?

    Jinak klobouk dolu ….

    odpověď na: Lawn Mower #8590
    Vojtěch Vosáhlo
    Účastník

    Dobrý den,
    ta deska je asi pouze jejich výrobek takže bych předpokládal že se dá koupit pouze u nich…
    Kdyby jste nechtěl kupovat přímo jejich shield, dalo by se využít pár modulů k arduinu a cena by byla nejspíše mnohem nižší. Nebo si to postavit sám. O lepším návodu bohužel nevím ale i s tímhle si můžete vyhrát.
    Držím palce

    odpověď na: Komunikace s více jednotkami #8586
    Luke_CZ
    Účastník

    To, co popisuješ, lze vyřešit:
    a, rychlejším komunikačním protokolem např. SPI namísto I2C
    b, optimalizací programu
    c, rychlejším HW
    Problém může být i zápisem na SD, Arduino v tomhle není žádný Ferrari.

    Na okraj, co potřebuješ tak často sledovat, respektive logovat?

    odpověď na: Komunikace na 433Mhz #8579
    bot
    Účastník

    Děkuji za Vaše rady.

    Pomocí těchto návodů jsem to již předtím zprovoznil.

    Teď bych si chtěl napsat něco svého jednoduchého, jelikož to poté chci přepsat do Cečka pro attiny13a. Potřebuji spínat vysílačem 3 nezávislé relé(každé bude mít svůj přijímač). Tedy dle sepnutého tlačítka se odešle patřičný paket, který dešifruje jeden zvolený přijímač (jedno relé). Vesměs jsem našel i hotové řešení a odzkoušené na attiny13a, ale mě zcela nefunguje korektně (vysílač musím držet v prstech ve správné poloze, až poté začne vysílat)

    Co jsem tak zkoušel, tak je problém s funkcí delay(). Po odstranění, se již arduino „nezasekne“, ale i tak se chová divně. Nehledě na to, že by měla fungovat bez problému pokud se nepoužije přímo v ISR.
    Zkoušel jsem vypnout i přerušení poté co přijme správný packet(„10011100“) a opět ho poté zapnout. To bohužel také nezabralo. Zdá se mi, že je problém s časovači, nejspíše někde přetečou, a proto se arduino chová divně(náhodně), ale vůbec se v tom nevyznám a nevím, kde může být chyba.
    Vysílač je dle mě správný, oba signály (z vysílače i přijímače) sleduji na osciloskopu – paket se vždy odešle a přijme správně, ale problém je se zpracováním(u přijímače).

    odpověď na: Arduino přehrávání zvuku senzory #8578
    Vojtěch Vosáhlo
    Účastník

    Tak ať se zadaří 😉

    odpověď na: Arduino přehrávání zvuku senzory #8577
    Pulec
    Účastník

    Čekám ještě na modul mp3,tak to pak vše odskouším.Moc vám děkuji hlavně za kód.Určitě se pak ozvu jak jsem dopadl.Moc moc zatím díky

    odpověď na: Arduino přehrávání zvuku senzory #8575
    Vojtěch Vosáhlo
    Účastník

    Dobře. Pokud jsem to správně pochopil tak ten audio modul zahraje hudbu když dáte jeden z A pinů na zem (podle čísel pinů vybírá skladbu). Máte to ozkoušené? Pokud je to tak jak píšu, měl by fungovat kód dole. D0 toho senzoru jde na pin 2 arduina a nejspíš si budete muset pohrát s poťákem na senzoru aby jste nastavil detekční vzdálenost.
    Držím palce.

    const int d0 = 2; // Pokud chcete používat přerušení musí to být pin 2 nebo 3 (na Unu, nanu a mini)
    const int prehravaciPin = X; //Pin připojený na spouštění toho songu, pokud správně chápu tak A1 - A10 na tom modulu
    
    void setup() {
      
      pinMode(d0, INPUT);
      pinMode(prehravaciPin, OUTPUT);
      digitalWrite(prehravaciPin, HIGH);
      
      attachInterrupt(0, detekce, FALLING);
    
    }
    
    void loop() {
    }
    
    void detekce(){
      
     digitalWrite(prehravaciPin, LOW);
     delay(100);
     digitalWrite(prehravaciPin, HIGH);
    }
    odpověď na: Arduino přehrávání zvuku senzory #8567
    Pulec
    Účastník
    odpověď na: Arduino přehrávání zvuku senzory #8566
    Vojtěch Vosáhlo
    Účastník

    Dobrý den,
    nejlepší by bylo nějaké info, jestli ho sem můžete napsat. Důležitá je informace jak funguje váš senzor. Je snímač fotorezistor / fototranzistor nebo ještě něco jiného? A info o mp3 modulu by se taky hodilo. Pak to dáme dohromady.

    odpověď na: Problém s attachInterrupt v triede #8562
    poprad
    Účastník

    Upravil jsem

      private:
        byte Stav;
        static void Privatna();
    .......
    
    void Pokus::Verejna() {
      attachInterrupt(0,Privatna,CHANGE);
    }
    

    a kompilace mi vyšla. Je toto řešením problému?

    odpověď na: Problém s attachInterrupt v triede #8561
    poprad
    Účastník

    Přiznám se, že jsem tomu neporozuměl. Ani ten příklad s class Foo nefunguje.

    odpověď na: Problém s attachInterrupt v triede #8560
    Zbyšek Voda
    Účastník

    Dobrý den, problém je v tom, že attachInterrupt očekává jako druhý parametr referenci na funkci bez parametru. Metody objektů jsou ale implementovány tak, že jako první parametr mají „skrytě“ referenci na třídu, ke které patří. To vám vlastně říká i chybová hláška:
    cannot convert 'Pokus::Privatna' from type 'void (Pokus::)()' to type 'void (*)()'

    Problém řeší i s navrženými řešeními zde:

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