Problem ze sterowaniem 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ł: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Problem ze sterowaniem silnika krokowego (/watek-problem-ze-sterowaniem-silnika-krokowego) |
Problem ze sterowaniem silnika krokowego - Moro_XDDD - 20-12-2021 Cześć Nie ukrywam faktu iż w Arduino jest stosunkowo nowym aspektem moich poczynań. Stworzyłem stosunkowo prosty układ. Arduino UNO, ULN2003 do sterowania silnikiem krokowym (w moim przypadku 28byj-48) oraz krańcówka. Układ ma za zadanie wykonywać ciągły obrót silnika, jednak w przypadku naciśnięcia krańcówki ma się zatrzymać na określony czas (jak narazie zadałem 2 sekundy) a następnie wykonywać dalej obrót. Jednak... założenie jest takie, że krańcówka pozostaje dalej wciśnięta. Napisałem kod: #include <Stepper.h> #define KROKI 32 Stepper Silnik(KROKI,8,9,10,11); void setup() { // put your setup code here, to run once: pinMode(6,INPUT_PULLUP); } void loop() { // put your main code here, to run repeatedly: while (digitalRead(6)==LOW){ Silnik.setSpeed(500); Silnik.step(1); } while(digitalRead(6)==HIGH){ delay(2000); Silnik.setSpeed(500); Silnik.step(1); } } Jednak wciśnięcie krańcówki powoduje tylko zatrzymanie się mechanizmu, a chciałbym, żeby mimo wciśniętej krańcówki mechanizm rozpoczął ruch. Mam nadzieje że wyczerpująco wytłumaczyłem o co mi chodzi. Pozdrawiam i z góry dziekuję za pomoc RE: Problem ze sterowaniem silnika krokowego - kaczakat - 21-12-2021 If(krancowka and !zmienna), zmienna=1, delay(2000) i więcej nie wejdzie do tego if by zrobić pauze dopóki nie wyzerujesz zmienna. |