Stół obrotowy z czujnikami indukcyjnymi? - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Stół obrotowy z czujnikami indukcyjnymi? (/watek-st%C3%B3%C5%82-obrotowy-z-czujnikami-indukcyjnymi) |
Stół obrotowy z czujnikami indukcyjnymi? - tomacha16 - 12-10-2017 Witam, mam mały problem z stołem obrotowym. Założenia: - Po naciśnięciu przycisku 1 stół przejeżdża do pozycji 1 i zapala się led 1. (analogicznie dla każdej pozycji). - uniemożliwienie zmiany położenia podczas obrotu stołu (naciśnięcie przycisku nie wpływa na prace). - zatrzymanie stołu w miejscu czujnika - sygnalizacja położenia stołu poprzez lampkę kontrolną\ - brak zmiany pozycji podczas gdy stół znajduję się w odpowiednim miejscu. - stół obraca się tylko w jednym kierunku Chciałbym propozycję jak wysterować tym stołem. Jakich pętli użyć próby z instrukcjami IF skończyły się porażką Poglądowy szkic poniżej. RE: Stół obrotowy z czujnikami indukcyjnymi? - namok - 12-10-2017 Gdybyś przedstawił kod to łatwiej byłoby pomóc. Cytat:Jakich pętli użyć próby z instrukcjami IF skończyły się porażką Nieważne czego użyjesz, ważna aby działało i było czytelne. Najprościej zrobić to z użyciem maszyny stanów np: http://ep.com.pl/files/1436.pdf RE: Stół obrotowy z czujnikami indukcyjnymi? - tomacha16 - 12-10-2017 Jestem początkujący to kod raczej też "bardzo" początkujący. Kod: #define krancowka1 digitalRead(8) RE: Stół obrotowy z czujnikami indukcyjnymi? - namok - 14-10-2017 Do takich rzeczy najlepszy jest symulator np: https://www.sites.google.com/site/unoardusim/services Nie podałeś co prawda jaki jest stan krańcówki gdy jest zadziałana ale masz błąd bo zakładam że oczekujesz zmiany stanu krańcówki a Ty sprawdzasz ten sam stan. Kod: if ( (krancowka1 == HIGH) and (przycisk1 == LOW )) { Dodatkowo taki kod (poprawiony) będzie niepoprawny bo nie możesz oczekiwać że w tym samym cyklu programu stan krańcówki będzie raz wysoki a raz niski. Może się co prawda tak zdarzyć ale nie powinieneś tego oczekiwać. Kod: if ( (krancowka1 == HIGH) and (przycisk1 == LOW )) { Ponieważ w programie brakuje komentarzy to nie wiem czy moje domysły są słuszne. Proponuję dokładnie rozpisać algorytm działania programu i dopiero wtedy zacząć pisać program. RE: Stół obrotowy z czujnikami indukcyjnymi? - tomacha16 - 17-10-2017 (14-10-2017, 07:25)namok napisał(a): Do takich rzeczy najlepszy jest symulator np: https://www.sites.google.com/site/unoardusim/services RE: Stół obrotowy z czujnikami indukcyjnymi? - Smaczek - 17-10-2017 Witam, Mała sugestia. Nie trzeba stosować 4-ech czujników/krańcówek. Do określenia 4-ech położeń stołu (według rysunku co 90 stopni) wystarczą 3 czujniki. Załóżmy, że użyjesz 3-ech transoptorów szczelinowych, umieszczonych co 90 stopni, a na stole obrotowym umieścisz 2-ie przesłony "oddalone" o 90 stopni. W ten sposób jesteś w stanie uzyskać wystarczającą dla Ciebie ilość stanów. Pozdrawiam, Tomek. |