Close

motor shield a koncaky

Úvodní stránka Fórum Vaše projekty Arduino motor shield a koncaky

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (celkem z 6)
  • Autor
    Příspěvky
  • #8956
    maxus.aurelius
    Účastník

    Zdravim vespolek 😉

    asi rok a pul pouzivam Arduino k pro nekoho usmevne veci – ovladani dveri kurniku ..

    motor je připojen na závitovou tyč, která prochází maticí připevněnou na dvířka kurníku. Při otáčení se dveře pomalu otevírají/zavírají.
    Horní a dolní pozice dveří je hlídaná magnet.koncáky.

    Vše funguje dobře do doby než v prostoru dveří zůstane nějaký předmět a dvířka se nedovřou.
    Arduino o stavech koncáků posílá info na MQTT server.
    Používám smyčku while, což je v tomto případě asi špatně, neboť když nenastane spodní koncák, tak je vpodstatě Arduino vyřazeno z provozu – nedá se nijak ovládat..
    Poradíte prosím jak upravit kód?

    kod mi sem nejde vlozit, tak je v priloze …

    Attachments:
    #8959
    Vojtěch Vosáhlo
    Účastník

    Takže pokud jsem to dobře pochopil tak chcete nějak opatřit situaci že se ve dveřích naskytne překážka a koncák se nespustí. V kódu toho asi moc neuděláme, jediné co mě napadá je počítat si čas za kterej by se měli koncáky sepnout a pokud se do té doby nespustí tak provést nějakou rutinu. Mohli by se dveře třeba znovu otevřít a pokusit se o zavření/ zahlásit error… Prakticky cokoliv. Lepší řešení by bylo asi přidělat na dvířka (na spodní část) lištičku právě s nějakým spínačem tzn. když by dvířka do něčeho po cestě narazili, spínač by se epl a dal vám vědět.

    Držim palce

    #8961
    posjirka
    Účastník

    souhasl s vojtěchem. dej si proměnnou „chyba=0“ a „close_time = 0“ pro záznam času při spuštění povelu k zavření. Tam si zapiš čas při zavření a změř si jak dlouho jede motor. Když to překročí čas, všechno vypni a zapiš si chybu + signalizuj chybu…

    #8965
    maxus.aurelius
    Účastník

    diky za tipy.

    Jen mám trochu problém s tím, že pokud nedojedou dvirka ke koncaku, tak se neukonci smycka while a tim padem je arduino „mrtve“. Urcite je resim koncak na spodni hrane dvirek – zkusim neco vymyslet.

    #8968
    Vojtěch Vosáhlo
    Účastník

    Tak načítej ten čas ve smyčce while a když překročí ten limit, zavolej si brake ať se ti uvolní…

    #8970
    maxus.aurelius
    Účastník

    🙂 díky!

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (celkem z 6)
  • Pro reakci na toto téma se musíte přihlásit.