Close

posjirka

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 1. až 30. (celkem z 481)
  • Autor
    Příspěvky
  • odpověď na: řízení ohřevu bazénu #12097
    posjirka
    Účastník

    nemáš zač, jsem rád že jsem pomohl. S tím nahráváním: je třeba se podívat i na napě´tovné úrovně převodníku. může se to lišit. NEvím jestli jde snížit komunikační rychlost ale zkusil bych 9600 baudů. Mohlo by to pomoct. návod yjsou spíš pro AT komunikaci, kde se nastavuje komunikační rychlost pro programování …. nevím

    Setup wifi EPS8266 & Arduino Uno3

    odpověď na: řízení ohřevu bazénu #12081
    posjirka
    Účastník

    máš tam definované nak terých pinech máš nastavené I2C (SDA, SCL) ?
    ESP8266 jej může mít na jakémkoliv pinu. Tady jsem našel jednoduchý skener, který to analyzuje:
    http://www.instructables.com/id/ESP8266-I2C-PORT-and-Address-Scanner/

    odpověď na: řízení ohřevu bazénu #12080
    posjirka
    Účastník

    v ESP8266 nejsem moc kovaný, takže to ti asi neporadím. jen takový dotaz:
    používáš převodník nap. úrovní? jak LCD, tak PCF8570 používá napájení 5V a ESP8266 jede na 3,3V….

    odpověď na: Měření doby stisku tlačítka #12077
    posjirka
    Účastník

    pouzij funkci pulsein()
    https://www.arduino.cc/en/Reference/PulseIn

    má parametry :
    číslo pinu (1-xx)
    na jakou hodnotu reagovat (LOW / HIGH)
    a případně max. dobu čekání na konec pulzu v ms.

    takže např:

    `unsigned long delkaStisku = pulseIn(5, LOW, 500);‘

    ti do proměnné delkaStisku typu unsigned long zapíše dobu úrovně LOW na pinu 5.
    Max doba čekání je 0,5s (500ms). Je třeba si uvědomit, že na tu dobu se ovšem arduino „zastaví“ a čeká na konec pulzu. Stejně tak když na začátku této funkce bude pin 5 v log. 1 (HIGH) tak ti napíše „0“ a pokračuje dál….

    pomocí millis to jde řešit elegantnějí, záleží na přesnosti měření.
    Ve výsledku to jde pomocí millis řešit 3 způsoby:
    – ve smyčce loop() budeš při každém průchodu testovat zde je nebo není stisknuto tlačítko (zapíšeš do proměné „start“) a po změně stavu (po uvolnění tlačítka) si vyhodnotíš aktuální stav millis()-start . Ten rozdíl je doba stisku. Vše je ale závislé na čase potřebném k vykonání 1 smyčky. To je vlastně 1 krok/stupeń rozlišení měření.
    – druhá varinta je použít přerušení. Na nějákém pinu (defaultně je to tuším 2 a 3, ale dají se i přesunout na jiné piny) si nastavíš, že když se změní stav na tomto pinu tak si zapíšeš do proměnné opět strat (stisk) případně aktuální stav millis (uvolněno tl.) a do proměnné si zapíšeš rozdíl. Tady je přesnost na 1ms a dá se zvýšit i na 1us použitím funkce micros(). Reaguje okamžitě jen proměnná musí mít přívlastek violetile aby šla jeho hodnota použít i v hlavní smyčce.
    https://www.arduino.cc/en/Reference/Volatile
    – 3 varinata je vlastně kombinace. můžeš třeba pomocí časovače timer2 nastavit přerušení každé 2ms a otestovat si tvůj pin. … vše ostatní už jsem psal výše.

    Každé má svoje a je důležité podívat se na to jako na celek. Když totiž zabereš 1 funkci na něco (třeba časovač timer 2) už jí nemůžeš použít na neco jiného (servo, tone, SW serial, …). když použiješ hlavní smyčku (var.1) tak jí nesmíš dlouho ničím zdržovat, jinak si nakopáváš měření. Varinta 2 je zase omezena defaultně na max. 2 piny. ty se dají přesouvat, můžeš dokonce i zvětšit počet pinů na 16 (2 porty po 8 pinech), ale pak třídíš a hodnotíš každý pin zvláš´t…

    snad jsem pomohl

    odpověď na: řízení ohřevu bazénu #12074
    posjirka
    Účastník

    tne timer není ve funkci dela. je to postavené tak, aby progrma běžel pořád dokola. Až přesáhne uečitý čas, tak spustí funkci blikání a pokračuje zas dál …. jen se mi nezdá to řešení.

    odpověď na: Měření napětí arduinem přes rezistory. #12073
    posjirka
    Účastník

    nechapu dotaz. zkus to lépe zformulovat …

    odpověď na: Uspání arduina pomocí LowPower #12026
    posjirka
    Účastník

    arduino se uspí, ale LCD si stále pamatuje poslední stav a ten zobrazuje. Jestli chceš smazat text tak před uspáním dej lcd.clear() a je to.
    Pokud chcešvypnout podsvícení, tak vypni pin podsvícení pokud jej máš vyvedený.
    Takhle bez schématu se těžko radí…

    odpověď na: řízení ohřevu bazénu #12022
    posjirka
    Účastník

    add optiboot: to vypadá na chybu programátoru. Předpokládám, že to flashuješ přes nějáký programátor a né přes USB samotného flashovaného arduina. TO by nešlo a musíš použít ISP programátor, nebo druhé arduino v této roli.

    add Watchdog: tady není moc věcí co by nemělo fungovat. Maximálně ten delay na konci o 3s. Když k tomu připočteš čas na načtení teplot z čidel (2×0,75 s) tak seš na 5s a do 8 je ještě daleko,… takže by to neměl být problém. To zatuhnutí ti může udělat i LCD display. nevěřil bych tomu, kdyby nám to na medometu takto nezatuhlo taky. 2 hodiny jsem si hráli s programem, vypnuli, za hodinu zapnuli a přesně jak píšeš. čtvrečky a procesor tuhý. Tak jsem zkoušeli změřit napětí, komunikace s PC nulová, napětí v pořádku 🙂 až jsem se dostal na krystal, tak s broukal na nějákých 5 kHz místo 16MHz, tak jsem jeje vymenili, po hodině zas zátuh, až jsem se nas.. vytáhnul LCd a začla znovu uživovoat. No a byl to LCD. Nevím jak ale n 2 arduinech jeden a na 3 ne. Prstě zátuh. Nikde kapka cinu, žádný zkrat, napěťové úrovně signálu v pohodě a za 2 hod. zátuh. Dali jsem nový LCD a už to šlape.

    ad Webserver: záleží co od něj čekáš. chceš webserver pro vlastní potřebu uvnitř domu, nebo to chceš monitorovat případě ovládat z venku (práce, druhý konec světa, .. 🙂 )
    Pokud jen doma je to v pohodě. Taky jsem tento víkend nad tím ztrávil pár hodin, rozchodil jsem ESP8266 v01. celkem mi pomohlo toto:
    https://www.arduinotech.cz/inpage/jak-na-iot-dil-ii-web-na-javascriptu-s-esp8266/

    pak jsem to zkoušel dát na thingspeak pomocí tohoto návodu:
    http://navody.arduino-shop.cz/navody-k-produktum/esp8266-a-thingspeak.html

    aktivoval jsem 1 kanál, nahrál data, pak jsem to chtěl poupravit a nepájivé pole mi při manipulaci opustil drát GND a po zapojení jsem si odpálil ESP- Tak jsem objednal NODEMCU a uvidíme.

    posjirka
    Účastník

    ještě je možnost použít sw PWM ale myslím, že přepojit 2 piny vs zabrat zbytečně pamět a strojový čas procesoru je jasný vítěz přehodit 2 pin.

    Pro sw řešení můžeš použít knihovnu:
    https://github.com/Palatis/arduino-softpwm

    ta ti umožní udělat pwm signal na libovolném pinu, jen to zabere kus místa ve flash paměti, časovač tuším timer2 a neustálé přerušení hlavní smyčky programu aby se vykonala pwm funkce.

    u HW řešení jen pošleš na pin hodnotu a o ostatní se stará samotný čip a program běží nezávisle …

    posjirka
    Účastník

    princip máš správný, jen máš špatné zapojení.
    Předpokládám, že stejný problém máš i u „pravý motor vpřed“.
    Proč:
    né všechny piny na Arduinu Uno mají možnost PWM regulace. Ty které to umožňují jsou na desce označeny vlnovkou. Jedná se o piny č. 3, 5, 6, 9, 10, 11.
    Některé jiné desky mají PWM i na jiných pinech.
    Řešení:
    přepoj to na správné piny a uprav si program….

    pozn. chválím za popis problému, schéma zaopjení a kod programu. Takto se dá najít problém během chvilky a dá se nad problémem v klidu zamyslet. víc takových popisů a forum se nám zkrátí na polovinu 🙂

    odpověď na: Bezdrátové čidlo teploty z meteostanice #11965
    posjirka
    Účastník

    tady bych šel cestou předem připravené knihovny. Zkus „Sensortransmiter“.
    Tady je k ní tutorial:
    https://www.root.cz/clanky/arduino-na-433-mhz-komunikuje-s-bazenovym-teplomerem/

    odpověď na: řízení ohřevu bazénu #11964
    posjirka
    Účastník

    a je něco co ti nefunguje?

    Když se dívám na program tak vpadá vcelku schopně. Jednoduchý, přehledný, bez zbytečných kudrlinek.

    Co tam vidím za prostor ke zlepšení:
    – nemáš vyřešeno nastavení RTC. Lze udělat auto nastavení po připojení k PC. Jinak po výměně baterie o ten čas přijdeš, nebo musíš měnit baterii za chodu.

    – 10 bit rozlišení na čidle DS18B20 j nesmysl. Jeho tolerance je 0,5 st.C tudíž nějáké průměrování není nic moc. Já tyhle čidla používám pro celé st.C = nepoužívám float ale int nebo lépe byte pro kladné hodnoty. zbytečně nezabíráš paměť procesoru.

    -pro nastavení zapniA, vypniA, … můžeš do podmínky dát i rovná se:
    if (datumCas.hour() => zapniB && datumCas.hour() =< vypniB) {
    lépe ta využiješ formát času. Teď to nepotřebuješ, ale kdyby si šel až do 23 hod, tak ti nepůjde podmínka vypni, protože další hodina je 00.

    – v popisech nepoužívej diakritiku. Stejně tyto znaky překlopí anglická sada znaků na „?“

    co víc napsat? Mě se tenhle sparťanský přístup líbí a pokud ti vše funguje jak má, nevidím v tom problém. Dobrá práce. Jestli budeš mít dobrou vůli, tak sem prosím dej i schéma případě nějákou fotku ať se ostatní můžou inspirovat …

    odpověď na: Otáčení solárního panelu za sluncem #11931
    posjirka
    Účastník

    to vojtech: používám diagram designer.je až primitivně funkční:
    https://www.zive.cz/clanky/diagram-designer-rychla-tvorba-diagramu-zdarma/sc-3-a-167191/default.aspx

    to marvik: z těch pevných fotoodporů mám trochu osypky. startovat proces při východu slunce je velmi nešťastné. nezapomeň, že i krátkodobý výpadek napájení (špička) ti může resetovat procesor. Ten pak „ztratí nit“ a musí se něják znovu chytit. jinak ti může spinkat do dalšího rána. proto se mi to řešení moc nelíbí. Rozhodně schavaluju koncáky jako vymezení max. polohy otáčení panelu. Nastavení na nejlepší hodnoty samozřejmě jde.

    Zatím bych se vykašlal na „solární chlazení“ při překročení 28 st.C.

    V příloze máš upravený algoritmus. je to už trochu hybrid a nejsme z něj moc nadšený. Radši bych celý proces regulace řešil „real time“ bez zpoždění. No pro začátek by ti toale mohlo vcelku vyhovovat…

    odpověď na: Otáčení solárního panelu za sluncem #11925
    posjirka
    Účastník

    asi tě nechám v dobrých rukou ch Vojtěcha, a´t na tebe nesypeme rady ze 2 stran. Kdyby byl problém ozvi se …

    odpověď na: Otáčení solárního panelu za sluncem #11922
    posjirka
    Účastník

    DS18B20 je digitální čídlo se sběrnicí 1-wire. Tzn. že si veškerou komunikaci posílá přes 1 digitální pin. čte z čidla ovšem aktuální teplotu (-55 … +125 st.C) i když přes digitální pin.

    4 fotorezistory jsou podle mě zbytečné když nebudeš panel ještě naklánět. právě se dávají 2 fotorezistory oddělené vertikální přepážkou a někdy se polepují třeba alobalem aby brali i světlo z druhé strany. Právě pro měření min. intenzity světla.

    napsal jsem ti jednoduchý algoritmus jak by to mohlo celé fungovat, i když už dost velkou část máš …

    používej prosím párové značky CODE. zachová se ti i formátování kodu a bude přehlednější. Formátováním teď myslím odstazením např. závorek…

    odpověď na: Otáčení solárního panelu za sluncem #11891
    posjirka
    Účastník

    podle popisu bych viděl použité vstupy výstupy takto (příloha)
    jestli souhlasí tak těm pinům můžeme dát rovnou pozici na Arduinu.
    Koukám že tam máš navíc Trafo a filtraci jako digi výstupy (opraveno).
    Takže by ti to na UNO mohlo vyjít včetně 5 rezerv (4xdigi, 1xanalog) a to jsem tam ještě přihodil LCD 🙂

    Sktrukturu programu máš vcelku správně. na začátku s všechno načti (světlo, nastavení, teploty,..) pak vyhodnoť a nakonci zareaguj.

    Vypadne ti z toho, že si jen všechno načteš a postupně pomocí podmínek ožiuješ jednotlivé výstupy …

    odpověď na: Otáčení solárního panelu za sluncem #11890
    posjirka
    Účastník

    potenciometr jde řešit i na digitálním pinu, ale není to nic přesnýho.
    Funguje to na principu:
    Dig.out dej do log. 0 – vybije se kondenzátor
    přepni na dig.in a čekej než se přepne do log.1
    tento čas je roven velikosti natoční potenciometru.

    http://gcbasic.sourceforge.net/help/output/html/images/potb1.JPG

    je třeba při psaní kodu používat párové značky CODE jinak se kod zapisuje nesprávně.

    Doporučoval bych udělat si přehled použitých čidel, akutatoru a ovl. obvod + nějákou rezervu. Pak si teprve hrát s programem. Bude se ti lépe bádat když už budeš mít vše po ruce a nebudeš mít těžkou hlavu kde jsi co nevyřešil.

    odpověď na: Otáčení solárního panelu za sluncem #11863
    posjirka
    Účastník

    přidám svoji troškou do mlýna:
    Pro definici čísel pinu použivejte spíš #define
    #define pinR1 1
    na konci se nepíše středník. ROzdíl je v tom, že nezabíráte místo v paměti, ale při kompilaci program nahradí tyto zástupné „pinR1“ za hodnotu „1“.

    Co se týká těch 2 fotorezistorů, tak princip je trochu jiný než tu popisujete. Funguje to tak, že dáte 2 fotorezistory vedle sebe (východ a západ) a oddělíte je přepážkou. Potud to máte správně 🙂 Funkce je ale taková, že se panel snaží vyrovnat intenzitu světla na obou fotorezistorech na stejnou hodnotu. To co je ve stínu říka, že se má panel otočit na druhou stranu. Nemusíš právě skenovat celou oblohu, jen stačí najít nejasnější stranu a snažit se pohybem panelu vyrovnat hodnoty světla na obou stranách.

    tady máš takový jednoduchý příklad:

    Arduino Solar Tracker, Get More From Your Solar Panels

    odpověď na: Bluetooth komunikácia #11842
    posjirka
    Účastník

    podívej se sem:

    Aplikační poznámky k L298


    třeba to pomůže… je tam popsáno, že je vhodne použít pullup odpory pro vstupy, atd..

    odpověď na: Bluetooth komunikácia #11841
    posjirka
    Účastník

    nevidím tam spojení zemí arduina a H-mustku … Tady bych si hledal chybu.

    odpověď na: Bluetooth komunikácia #11839
    posjirka
    Účastník

    tohle není schéma, ale vrabčí hnízdo. Promiň a le z toho opravdu nepoznám co je co. hlavně vůbec netuším co je to za IO u H-mustku = nevím jak má být zapojený, nedodržené barvy vodiču to totálně znepřehlednují.
    Vůbec z toho nepoznám kde máš spojenou zem obou zdrojů. jinak ti H-mustek nemuže fungovat … atd.

    odpověď na: Bluetooth komunikácia #11837
    posjirka
    Účastník

    ??? to myslíš vážně?

    odpověď na: Bluetooth komunikácia #11833
    posjirka
    Účastník

    bez schematu se těžko radí …

    posjirka
    Účastník

    je otázka jak to mají zapojené. Pokud je PNP trnazistor mezi napájením (+) a cívkou tak se spíná záporným napětím a při stejném potenciálu (nebo vyšším) na baázi se tranzistor vypíná. Z arduina 12V nedostaneš, takže jej ani nemůžeš vypnout a tranzistor je stále sepnutý. chce to schéma, takkto se špatně diskutuje bez zapojení ….
    použij to co jsem ti navrhl a bude klid. jako tranzistor dej BC337 ten dá 0,5A

    posjirka
    Účastník

    obecně to napsat nelze.
    Posrím popiš co by opravdu mělo být funkcí celého zapojeni.

    Podel toho co píšeš tak budeš mít 2 talčítka.
    – program bude blikat v nějákém intervalu třeba 1s/1s.
    – po stisku tl 1 se změní na 1s/2s a pak bude už dál v tomto režimu dokud nepřepnu talčítko 2 nevrátím defaultní režim 1s/1a

    Chápu to správně?
    Jak dlouho chceš to tlačítko držet aby přeplo režim (pohrávám si s myšelnkou 1 symčky, která jde jednoduše pochopit, nebo pomocí přerušení kdy to není na první pohled hned pochopitelné).

    posjirka
    Účastník
    posjirka
    Účastník

    moje poslední reakce na toto vlákno :
    komu není rady tomu není pomoci.

    posjirka
    Účastník

    jen taková vsuvka: když jsem chodil ještě na střední tak mi připadali všeci ti HIFI šílenci jako magoři. Co si to dovolujou tvrdit, že zlacené konektory za 200kč hrajou líp než ty nikovaný za 10 kč. Vždyť to nemá na funkci zesilovače žádný vliv. Časem jsem pochopil, že nešlo o to co je teď, ale jak to bude fungovat za 5 let. Myslím, že tě čeká podobné prozření jako u mě před 20 lety … nikdo není neomylný, ale měl by dřív naslouchat než se hádat.

    posjirka
    Účastník

    to mpcz: chlape, útočíš na mě sice hezky, ale možná by nebylo špatné zamyslet se sám na desbou. Obávám se, že nesmysly tu zavádíš pouze ty. Vcelku jasně ukazuješ, že nedokážeš správně technicky myslet a všechny parametry ženeš za datasheetem povolenou mez. Pokud si myslíš, že se svět ohne podle tebe … .
    Já jsem ti slušně napsal řešení:
    1, externí ADC převodník s nižší referencí
    2, smířit se s nižším rozlišení LBA
    Cokoliv jiného dříve nebo později bude znamenat zničení AT Megy. Správné řešení předučuje i dlouhou a spolehlivou funkci zařízení bez hledání duchů. Takové přímočaré řešení co navrhuješ ty bude fungovat na třeba 3 Arduin z 10 a i ty 3 časem odejdou, nebo se budou chovat podivně.
    Dělej jak uznáš za vhodné, jen k tomu PROSÍM NESTRHUJ I OSTATNÍ, co nemají takovou hloubku znalostí a snaží se něco se naučit a porozumět tomu.

    posjirka
    Účastník

    když se podívaš na datasheet tak zjitíš, že přiřazuješ 1 refernci na všechny piny !!!
    http://www.imgup.cz/image/LgXt

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