• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zatrzymanie silnika
#5
(06-12-2018, 21:03)Matfa11 napisał(a):
(06-12-2018, 20:56)es2 napisał(a): Rozwiązań jest wiele. Najrozsądniejsze wydaje się aby czujnik wywołał przerwanie w obsłudze którego silnik zostanie  zatrzymany.

Tak, tylko problem w tym, że nie wiem jak ta komende wpisać 

U mnie jest coś takiego, teraz pytanie co tam dopisać?

void CZUJNIK1(){

digitalWrite(OTWIERANIE, HIGH); 
delay(czas2);
digitalWrite(OTWIERANIE, LOW); 
delay(pauza); 
digitalWrite(ZAMYKANIE, HIGH);
delay(czas1);
digitalWrite(ZAMYKANIE, LOW);

}

void CZUJNIK2(){

digitalWrite(OTWIERANIE, HIGH); 
delay(czas2);
digitalWrite(OTWIERANIE, LOW); 
delay(pauza); 
digitalWrite(ZAMYKANIE, HIGH);
delay(czas1);
digitalWrite(ZAMYKANIE, LOW);
Dałeś strzępki kodu więc nie da sie pomóc.
Jak dasz cały, to pewnie dostanę kołatania serca, bo obawiam się, że czas1, czas2, pauza mają setki ms lub więcej. Poczytaj o millis. Delay-em zawieszasz program nie zobaczy on zmiany stanu czujnika. Przerwania nic nie dadzą, bo co z tego, że przerwanie zatrzyma silnik, jak za chwile, po jakimś tam Delay wykona się digitalWrite(OTWIERANIE, HIGH);
Musisz:
- Zapoznać się z podstawowym kursem Arduino.
- Zapoznać się z z wielowątkowością (choćby z użyciem millis).
- Zapoznać się z przerwaniami zewnętrznymi.
Na szczęście nie musisz zapoznać się z RTOS-em.
 
Odpowiedź
  


Wiadomości w tym wątku
Zatrzymanie silnika - przez Matfa11 - 06-12-2018, 20:46
RE: Zatrzymanie silnika - przez es2 - 06-12-2018, 20:56
RE: Zatrzymanie silnika - przez Matfa11 - 06-12-2018, 21:03
RE: Zatrzymanie silnika - przez es2 - 06-12-2018, 21:18
RE: Zatrzymanie silnika - przez kaczakat - 06-12-2018, 21:07

Skocz do:


Przeglądający: 1 gości