Sterowanie dwoma silnikami odrębnymi przyciskami. - 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: Sterowanie dwoma silnikami odrębnymi przyciskami. (/watek-sterowanie-dwoma-silnikami-odr%C4%99bnymi-przyciskami) |
Sterowanie dwoma silnikami odrębnymi przyciskami. - pterus - 18-02-2018 Witam. Jestem początkującym posiadaczem Arduino UNO oraz Leonardo i mam problem z wykonaniem pewnego projektu. A mianowicie potrzebuję sterować z osobna dwoma silnikami za pomocą osobnych przycisków tj po załączeniu arduino oba silniki mają obracać się w jednym kierunku, po przyciśnięciu przycisku nr 1. silnik 1 zatrzymuje się i po upływie 3s zmienia kierunek na przeciwny ponowne przyciskam przycisk nr 1 i silnik 1 zatrzymuje się i po upływie 3 s zmienia kierunek. Analogicznie po przyciśnięciu przycisku nr 2. silnik 2 zatrzymuje się i po upływie 3s zmienia kierunek na przeciwny ponowne przyciskam przycisk nr 2 i silnik 2 zatrzymuje się i po upływie 3 s zmienia kierunek. Obecnie działa to tylko z jednym silnikiem. Kod: #define in1 6 Oczywiście silniki podłączone do sterownika z układem L298N Proszę o pomoc układ ma być wykorzystany do makiety wieży szybowej RE: Sterowanie dwoma silnikami odrębnymi przyciskami. - Smaczek - 19-02-2018 Witam, A w czym dokładnie tkwi problem? Pozdrawiam, Tomek. RE: Sterowanie dwoma silnikami odrębnymi przyciskami. - pterus - 19-02-2018 (19-02-2018, 10:21)Smaczek napisał(a): Witam, Problem tkwi w napisaniu programu. Pozdrawiam RE: Sterowanie dwoma silnikami odrębnymi przyciskami. - Smaczek - 20-02-2018 Witam, Masz kod programu obsługujący jeden silnik. Zdefiniuj sobie zmienne dla drugiego silnika: np: #define in3 8 #define in4 9 #define button1 5 int rotDirection1 = 0; int pressed1 = false; Skopiuj kod z funkcji setup() i loop() dokonując zmian uwzględniających nazwy nowych zmiennych. To na początek. Żeby Twój program działał jak należy musisz wyeliminować wszystkie delay(). Zamiast tego zastosuj rozwiązanie z przykładowego programu BlinkWithoutDelay. Pozdrawiam, Tomek. |