Close

PeterL

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 1,861. až 1,890. (celkem z 2,781)
  • Autor
    Příspěvky
  • miklik
    Účastník

    Tak jsem tu matici nakonec zapojil naopak a hodnoty jsou hnedka zase trochu lepší.
    Tady mám simulaci v tabulkovém kalkulátoru.
    https://docs.google.com/spreadsheets/d/1zSmYPKfGdTV1SkC3hOYC7CyT-l_GE9_1C-H84avxWoU/edit?usp=sharing

    miklik
    Účastník

    Jenomže já mám matici 4×5 a na tom posledním řádku jsou hodnoty blíže.

    Ještě můžu zkusi matici zapojit opačně jako 5×4.

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

    Mě to funguje více než přes rok spolehlivě. Ještě si můžeš smazat definici JAS, která není nikde v programu použitá, deklaroval jsem ji na začátku, když jsem ještě nevěděl, jak vyřešit rozsvícení, když by vypadnul proud.

    Jinak z vlastní zkušenostu určitě použij led pásky bez krycího silikonu, ten se za pár mesíců spálí. Ale musíš mít nad akva sklo. Já jsem to zrovna před týdnem doplnil o COB led čipy, a zrovna se chystám vyrobit nový tišták na stmívání se stálým proudem.

    S displayem zkušenosti nemám, te si mi zdá jako vyšší liga:D
    jen mě napadlo, jestli to nemůže být tím, žě když beží zrovna cyklus FOR (a to je na pěkně dlouho při kroku á 5000 ms), všechno ostatní stojí?

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

    Ahoj. Tak po delší době jsem si pořídil displej s I2C sběrnicí a na vyzkoušení jsem použil program pro ovládání LCD displeje jen pro ověření činnosti. A nyní k mému dotazu.
    Jakým způsobem by šlo dát oba tyto kódy dohromady aby mi fungovalo stmívání a rozsvěcení LED pásku a zároveň mohl mít zobrazeno na displeji datum, čas, teplotu z čidla (teplota vody akvaria) případně ještě znak pro svícení nebo nesvícení?

    Už jsem zkoušel dát kódy dohromady, ale buďto nešel displej a nebo mi to nešlo ani načíst v programu 🙁

    Děkuji za každé popostrčení.

    odpověď na: Rušení počítačového zdroje #7697
    Havri
    Účastník

    A tohle je průběh po zapojení počítačového zdroje.
    Červená : Signál do serva
    Žlutá : Napájení

    Attachments:
    odpověď na: Rušení počítačového zdroje #7695
    Havri
    Účastník

    Tohle je Průběh napájení a signálů před zapojením počítačového zdroje.
    Červená : signál do serva
    Žlutá : Napájení

    Attachments:
    posjirka
    Účastník

    řekl bych, že chyba je v toleranci použitých odporů.
    Když jsem si zkusil vypočítat jak by to mělo vypadat při 100% přesných odporech tak jsou tam vcelku dostatečné odstupy. Při toleranci 1% by to neměl být problém i když tolerance adc převodníku je 1 lba. v těch nejnižších klávesach je odstup 4 kroky takže 3 +/-1. na to se da navázat. Jen jepotřeba krátký vodič, ideálně stíněný a stabilní napětí zdroje. Případně můžeš použít převodník pro I2c. Přepokládám, že tam máš zapoejný min. RTC modul …

    posjirka
    Účastník

    dej sem prosím celý kod a hlavně ZAPOJENÍ. Připadá mi, že :
    – buď používáš víc než 1 Arduino na 1 seriové lince (to by teoreticky ani nemělo jít)
    – nebo se snažíš poslat si příkaz sám sobě uvnitř arduina.

    Předpokládejme, že je to ten druhý případ. V tu chvíli bych oddělil vykonání příkazu od čtení seriové linky. Vy tvoř funkci “ void provedAkci(int pocet) “ … a tu zavolej z funkce “ process_line() “ s počtem opakování.
    Druhý přístup uděláš po stisku tlačítka = zavoláš tu samou funkcis tím samým počtem akci.
    Pro to několikanásobné „stiknutí talčítka“ stačí použít podmínku aby po stisku reagoval na další stisk třeba až po 0,5s (pomocí funkce millis() si zjistíš aktuální strojový čas a po stisku s ho zapíšeš do proměnné. Tu pak porovnáš s aktuálním millis() a pokud bude rozdíl větší než třeba 500 tak reaguj znovu.

    Zkus si ten tvuj prvotní dotaz přečíst třeba po měsící. Myslím že ani ty sám sebe nepochopíš. Prostě člověk v 1 chvíli má myšlenku a zdá se mu, že na světě jen přeci jen ta jedna jediná varianta a nic jiného, tak proč se zdržovat nějákým složitým popisem. To nění kritika. každý z nás takto začínal a po čase pochopil, že je to prostě jinak a je třeba dávat ÚPLNÉ a CELISTVÉ informace. Jinak se mezi ssebou lidi zbytečně štěkají a k řešní to nepřispěje.

    miklik
    Účastník

    Tak lepší hodnoty mi vrací, když jsem místo odporu 1k proti zemi dal 13,5k (27/2) a místo posledního 1k odporu jsem dal 2k. Na posledních dvou sloupcích je vždy rozdíl napětí nejmenší.

    Teď buď budu muset přiohnout knihovnu OneWireKeyPad nebo si napsat svůj kód.

    feropero
    Účastník

    Nikdo mě nechápe

    potřebuji zadat hodnotu X100 třemi způsoby
    1. z processing
    2. ručně z řádku serial box
    3. fyzickým tlačítkem buttonem na pinu

    Stav je že
    loop jede ve smyčce čeká na hodnotu Serial.read() X100 která přijde z processingu nebo zadaná ručně z serial box ( řádek a odeslaná tlačítkem pošli(send)

    potud mě to funguje kdy se z procesingu nebo z ručního zadání X100 provede se provede akce 100x

    ale pokud chci na zadání použít fyzické tlačítko button
    a dám navrhované
    if (digitalRead(11) == LOW){
    Serial.println(„X100“);
    tak se X100 jen zobrazí ve výpisu text v počítači na serial
    navic se zobrazí v serial okně několikrát výpis X100
    ale to je pravděpodobně tlačítkové bounce to budu řešit později

    Při fungujícím zadání z processingu nebo z okna boxu se X100 v serial okně nezobrazuje a ani to není potřeba
    protože mě nejde o zobrazování ale o akci udělat 100x akci.

    odpověď na: Ovladani ventilu ,ridici signal 0-10 V #7594
    posjirka
    Účastník

    Předpokládám, že se jedná o servopohony průmyslového charakteru a ty jdou ovládat i jinými způsobem. Např. 3 bod pohon vlatně jen spíná napájení na civky „+“ a „-„. má doraz takže se dá natvrdo překlopit na jednu stranu. Regulace je pak řešena tak, že přidáváš/ubíráš otevření/zavření ventilu. Polohu snímáš bu´d ponteicometrem na hřídeli pohonu, nebo se dá udělat, to, že např.1x za den/týden se nechá ventil úplně uzavřít (nechaš ho třeba 2 minuty jet na 1 stranu). Pak u každého pohonu máš jak dlouho mu trvá přejet z 0 na max. Stačí jen měřit čas jak dlouho spínáš tu a tu cívkua určíš si orientační polohu…
    překlad 0-5V na 0-10V samozřejmě jde, je to jakš/takš lineární ale je to to co opravdu chceš?

    odpověď na: Ovladani ventilu ,ridici signal 0-10 V #7592
    Nacelnik
    Účastník

    Zkus více rozepsat “ neni to dle mych predstav.“

    miklik
    Účastník

    Tak jsem opsal řešení od Petra Stehlíka https://github.com/joysfera/arduino-water-temp-receiver a nadefinoval vše v class jako static.
    Tady je první funkční výsledek – https://github.com/miklik72/SensorT25.

    odpověď na: Rolovaní textu #7589
    Radar_1967
    Účastník

    Díky moc!!!

    odpověď na: Dotykové tlačítko #7588
    DunoCZ
    Účastník

    Moc díky☺

    Odesláno z mého Z520 pomocí Tapatalk

    odpověď na: Dotykové tlačítko #7587
    BlindP
    Účastník
    odpověď na: Rolovaní textu #7586
    BlindP
    Účastník

    Ahoj, české znaky si budeš muset „nakreslit“ pomocí jedniček a nul.

    
    B01010000,	//č
    B00100000,
    B01110000,
    B10001000,
    B10000000,
    B10001000,
    B01110000,
    6,
    
    

    http://tronixstuff.com/2013/10/11/tutorial-arduino-max7219-led-display-driver-ic/ BP

    BlindP
    Účastník

    Taky to nechápu, Serial.print(„X100“) odešle DO PC X100. Pro odeslání Z PC do arduina použij ten serial monitor.
    Nepotřebuješ spíš tohle?

    
    if (digitalRead(11) == LOW){
    pocetPulsu = 100;
    }
    

    BP

    feropero
    Účastník

    mám toto
    void process_line() {
    char cmd = Serial.read();
    case ‚X‘: pocetPulsu =Serial.parseInt();

    po zadání např X200 a enter do serial boxu jedu a funguji

    ale pokud chci na zadání použít tlačítko
    a dám navrhované
    if (digitalRead(11) == LOW){
    Serial.println(„X100“);
    }
    nebo
    Serial.print(„X“);Serial.println(„100“);//coz by melo byt stejné
    nebo
    Serial.print(„X“);Serial.print(„100“);Serial.print(‚\r‘);Serial.print(‚\n‘);

    nic se neděje jen se to vypíše do serial okna

    odpověď na: I2C displej + I2C BMP180 #7577
    ArduXPP
    Účastník

    Ano už jsem se jednou ptal, šlo o rx a tx , nešlo o analog pin a4 a a5 u UNO .

    odpověď na: I2C displej + I2C BMP180 #7576
    Zbyšek Voda
    Účastník

    Už jsem to jednou k vašemu příspěvku psal Aleši, ale napíšu to znovu.
    Logické úrovně 5V a 3.3V (a další) není dobré míchat dohromady. Některé piny mohou být tolerantní, ale může se také stát, že najednou zapojení přestane fungovat, protože to daný pin už prostě nevydrží a dá docela práci odhalit, že nějaký pin odešel.
    Takže ano, zapojení většinou funguje, ale není to dobrá praktika…

    Zbyšek Voda
    Účastník

    Dobrý den,
    moc nerozumím vašemu popisu.
    Jestli chcete odeslat „X100“, za kterým následuje nový řádek, tak stačí napsat:
    Serial.println("X100");
    Když to dáte dohromady s tím tlačítkem, v nejjednodušším případě vypadá kód takto:

    if (digitalRead(11) == LOW){
        Serial.println("X100");
    }
    odpověď na: I2C displej + I2C BMP180 #7574
    Aleš
    Účastník

    Napřímo. Alespoň já to tak zapojuju, a přes rok to běží bez problému 🙂

    Zbyšek Voda
    Účastník

    Dobrý den, tento problém je trochu zapeklitý.

    Hlavní příčinou problému je to, že funkce, kterou připojujete pomocí attachInterrupt() nesmí mít žádný parametr. Vaše funkce void mmT25::_irqHandler(); sice viditelně žádný parametr nemá, ale jelikož je metodou objektu, je jí automaticky předávám parametr, který je instancí objektu, ke kterému náleží.

    Odtud pochází také error, který při kompilaci váš kód hlásí:
    cannot convert ‚mmT25::_irqHandler‘ from type ‚void (mmT25::)()‘ to type ‚void (*)()‘
    neboli nemůžu překonvertovat funkci, která má jeden parametr – instanci objektu mmT25 – na funkci, která nemá žádný parametr.

    Přiznám se, že neznám řešení vašeho problému, ale na tomto fóru: https://forum.arduino.cc/index.php?topic=41713.0 problém řeší a zjevně i úspěšně 🙂

    odpověď na: Jak naprogramovat ESP8266 #7465
    Vojtěch Vosáhlo
    Účastník

    Ahoj,
    pokud vím tak by to mělo být přes arduino možné ale musíš mít esp v programing modu. To se dělá tak že dáš reset a GPIO0 na zem a poté odpojíš reset a po chvíli GPIO0 (nejsem si 100% jistý že můžeš piny jen odpojit, bylo by lepší dát je přes pullup na 3.3V) to by mělo fungovat. Pokud si na tom dobře s AJ tak jsem našel článek, http://whatimade.today/esp8266-easiest-way-to-program-so-far/ , který to výborně popisuje, je tam i obvod který můžeš dát dohromady abys to měl jednodušší.
    Hodně štěstí.

    odpověď na: Rychlé sepnutí SSRelé #7460
    Nacelnik
    Účastník

    Ahoj, je tam delay 750 ms mezi jednotlivými měření.

    S ěma statusama mi to přijde jako dobrý nápad.
    Pak tedy vyhodnocení bude takové:

    if ((A&&B&&C) = 1)
    ?

    vladik
    Účastník

    potřeboval bych vyřešit podobný problém, sledovat 4 teploty termočlánek K + otáčky a zaznamenávat. Hledám někoho kdo mi to vyrobí. napište mi hejna@ausys.cz. Díky.

    odpověď na: Rychlé sepnutí SSRelé #7457
    posjirka
    Účastník

    něják tam nevidím to zpoždění 750ms mezi měřením …
    ověřil sis hodnotu „hyst“-ereze jak se ti v daném čas mění,
    Zkusil bych rozdělit program na měření, vyhodnocení s podmíněnou reakcí.
    Abych to upřesnil:
    měření máš vyřešené, ale v podstatě ti přímo ovlivňuje výsledek (sepnutí relé).
    Já bych to vzal formou statusu. Použij proměnou stav a když bude měření vycházet na sepnutí dej mu honotu 1, jinak 0
    Vyhodnocení – tady si teprve řekni zda ty statusy jsou v kombinaci vhodné pro pokračování sepnutí rele nebo ne. Navíc bych to řešil formou podmínky, že např, relé musí být sepnuté po min.3 cykly smyčky loop. Zave´d si proměnnou „pocitadlo“ a když je požadavek na sepnutí dej mu hodnotu např.“3″.
    Když je požadavek na vypnutí sniž hodnotu o „-1“
    Když je „pocitadlo = 0“ vypni rele jinak rele zapni.

    Mám správný směr myšlenek s tím co potřebuješ nebo jsem to špatně pochopil?

    odpověď na: Jak na název s automatickým posunem jména #7407
    Zbyšek Voda
    Účastník

    To vytvoření pole přes
    Bounce bouncer[5];

    jsem také zkoušel, ale nějak to kompilátor nebral. Přitom by to takto mělo C++ podporovat.
    Proto jsem šel tou cestou přes malloc().

    odpověď na: Jak na název s automatickým posunem jména #7406
    BorgMcz
    Účastník

    No zkoušel jsem co se dalo, ale výsledek mám stále s nějakou chybou.
    Nemohl bych to poslat s mailem, kde bych vyznačil problémová místa.
    můj mail mm.svet(za.vi.nac)centrum.cz

    opravdu díky za pomoc

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