Przycisk chwilowy i włączanie silnika krokowego - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Silniki, Mechanika i Zasilanie (https://forum.arduinopolska.pl/dzial-silniki-mechanika-i-zasilanie) +--- Wątek: Przycisk chwilowy i włączanie silnika krokowego (/watek-przycisk-chwilowy-i-w%C5%82%C4%85czanie-silnika-krokowego) |
Przycisk chwilowy i włączanie silnika krokowego - marhes - 26-12-2019 Cześć, próbuję przycisk chwilowy wykorzystać do włączania/wyłączania silnika krokowego. Wykorzystuję zestaw uno. Jedyny pomysł jaki mi przychodzi to zasilać silniczek 5V 28BY-48 z pinu cyfrowego wyjścia, który mogę oprogramować tak aby włączał się lub wyłączał kiedy użyję przycisku. Niestety przypuszczam, że nie jest to dobry sposób bo silniczek nie chce się włączać choć jestem pewny, że na pin prawidłowo się włącza i wyłącza. Zapomniałem dodać, że przyciski jest z diodą podświetlającą, którą tez steruję z jednego pin cyfrowego. Z góry dziękuję za podpowiedź. RE: Przycisk chwilowy i włączanie silnika krokowego - error105 - 26-12-2019 Wiesz że silniczek krokowy ma ciut więcej wyprowadzeń niż +5V i GND i ot tak z jednego pinu cyfrowego bezpośrednio raczej nie zadziała (nie wnikam ile w ogóle prądu pobiera, ale pewnie też za dużo dla Atmegi, tyle dobrze że nie uszkodziłeś atmegi bo silniczek nie zadzialal) ? RE: Przycisk chwilowy i włączanie silnika krokowego - marhes - 26-12-2019 Cześć, moje wcześniejsze pytanie proszę uznać za niebyłe. Wynikało z kompletnego braku zrozumienia jak działa silnik. Trochę pozmieniałem i napisałem kod, który działa, ale nie do końca dobrze. Tylko czasami włączy i wyłączy silnik. Jak ktoś ma ochotę popatrzeć i trochę podpowiedzieć to będę wdzięczny. Kod: #include <Stepper.h> RE: Przycisk chwilowy i włączanie silnika krokowego - Jarewa0606 - 26-12-2019 Czasami włączy/wyłączy bo nie rozumiesz drgania styku i komend, Te dalay() to wielkie nie porozumienie praktycznie do niczego nie potrzebne. A te "while" blokuje wykonania "myStepper.step" Co to za przycisk?? bistabilny czy monostabilny? RE: Przycisk chwilowy i włączanie silnika krokowego - marhes - 26-12-2019 (26-12-2019, 21:13)Jarewa0606 napisał(a): Czasami włączy/wyłączy bo nie rozumiesz drgania styku i komend,Cześć, przycisk monostabilny. Funkcja delay() oraz pusta pętla while zastosowana po to aby sprawnie włączało się i wyłączało oświetlenie dla przycisku. Tak w tutorialach podpatrzyłem i działa to całkiem sprawnie. RE: Przycisk chwilowy i włączanie silnika krokowego - Jarewa0606 - 26-12-2019 (26-12-2019, 21:35)marhes napisał(a): Funkcja delay() oraz pusta pętla while zastosowana po to aby sprawnie włączało się i wyłączało oświetlenie dla przycisku. Tak w tutorialach podpatrzyłem i działa to całkiem sprawnie. Tak ale blokuje silniczek.. użyj funkcji nie blokującej bez while bez długiego blokowania. RE: Przycisk chwilowy i włączanie silnika krokowego - marhes - 27-12-2019 Nie mam pomysłu. I zdecydowanie nie rozumiem co masz na myśli, oprócz tego, że wszystko jest do bani. Jedyne co mi przychodzi na myśl, to zmienić przycisk na pojedynczy lub może na bistabilny, który poda napięcie do arduino, i wtedy wykona się jakiś tam program dla silniczka. W każdym razie dziękuję, że starałeś się pomóc. RE: Przycisk chwilowy i włączanie silnika krokowego - Jarewa0606 - 27-12-2019 Kod: #include <Stepper.h> Jak zadziała to pomyśl co zrobiłem... RE: Przycisk chwilowy i włączanie silnika krokowego - marhes - 28-12-2019 Działa i to bardzo ładnie. Generalnie chodzi tu o to aby nasłuchiwać sygnał od przycisku, jeżeli się zmieni po 100 milisekundach (zmieniłem na 10 bo dla 100 nie chciało działać) w każdym razie pewnie po ustabilizowaniu styków sprawdza czy na pewno przycisk został wciśnięty i jeżeli potrzeba zmienia poziom sygnału dla diody i oczywiście silnika. Dziękuję bardzo. Nie wpadłbym na to. Ale mam pytanie. Czy pętla while, którą wcześniej użyłem zatrzymywała mój program czy nie, bo już zgłupiałem. Tutorial wskazywał, że pętła while działała tak długo, aż był wciśnięty przycisk. RE: Przycisk chwilowy i włączanie silnika krokowego - Jarewa0606 - 28-12-2019 (28-12-2019, 20:56)marhes napisał(a): Generalnie chodzi tu o to aby nasłuchiwać sygnał od przycisku, jeżeli się zmieni po 100 milisekundach (zmieniłem na 10 bo dla 100 nie chciało działać) Nasłuchiwać to się zgadza, ciągle odczytuje w pętli stan przycisku. A te 100ms nie chodzi o zmianę lecz o stan przycisku millis() wyeliminował krótkie zmiany przycisku czyli wszystkie zmiany które trwały poniżej 100ms były odrzucane. Dziwne że nie działało bo powinno tylko przycisk musi być dłużej naciśnięty powyżej 100ms i przerwa miedzy przyciskaniem powyżej 100ms. (28-12-2019, 20:56)marhes napisał(a): Ale mam pytanie. Czy pętla while, którą wcześniej użyłem zatrzymywała mój program czy nie, bo już zgłupiałem. Tutorial wskazywał, że pętła while działała tak długo, aż był wciśnięty przycisk. W twoim przypadku działał tak długo dopóki nie włączyłeś przycisk. I zablokował cały loop teoretycznie if(level){ myStepper.step(direction); } wykonywał sie tylko jak był przyciśnięty przycisk i co drugi raz.. |