• 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
Czujnik HC-SR04+Przekaźnik
#10
(08-10-2018, 00:19)kaczakat napisał(a): Jak przejdzie ten kurs to może zacznie ogarniać do czego jest in i out.
Te kilka instrukcji to i bez kursu można ogarnąć. Ale jak się wpisuje "na pałę" różne wartości, to szanse na to, ze program zadział są jak wygrać w Lotto.

(08-10-2018, 00:19)kaczakat napisał(a): A funkcja pulseIn ma timeout domyślny 1s, jeśli to nie wystarcza można sobie w argumencie podać swój - zaleta przeciążania funkcji w C++. Oczywiście trzeba to wiedzieć...
Timeout 1s :-) W moich programach wdg najczęściej ustawiony jet na 400ms, czasem800.
Jak będzie działał program z timeout 1s gdy czujnik nie da echa? Czas wykonania pętli głównej 1s :-) Takie programy to mogą sobie w szkółce niedzielnej pisać, maja dużo czasu (wieczność).
W zastosowaniu z HC-SR04 pulseIn z timeout np 10ms można użyć. Dźwięk na dystansie 1m, w obie strony, będzie przemieszczał się ok 6,6ms. Ta zawieszenie programu na 10ms można sobie (czasem) pozwolić. PulseIn, na czas pomiaru zawiesza przerwania (o ile dobrze pamiętam, właściwie to innego wyjścia nie ma). Co może wydarzyć sie przez 10ms? Przypuścimy, że pseudodebugujemy kod. Przy prędkości 115200, w 10ms może być przesłane ponad 116 znaków!
Wystarczy użyc przechwytywania od timera i problemu nie ma.
Po co dla Arduino, zrobiono takie badziewie jak pulseIn na każdym pinie? Normalnie jak Bascom, jak jedna funkcja działa to inne już nie.

(08-10-2018, 00:19)kaczakat napisał(a): W Arduino jest sprzętowa obsługa UART, SPI i I2C, choć oczywiście są też wersje soft.
Soft uart :-) Na ARM można takie bajery sobie robić (tyle, że tam nie ma potrzeby, bo ARM mają po 3..6 a nawet 12 uart) ale na AVR nie za bardzo. Nie chodzi o to że jest wolny, można przyjąć, że soft uart to max 9600 i po problemie, chodzi o to, że AVR nie ma wielopoziomowego systemu przerwań. Efekt - czasem gubione sa znaki nawet przy 300 bodach. Jak juz ktoś zapiera się przy małych AVR, to można doposażyć go w SC16IS7xx. Ekonomia za tym nie przemawia ale SC16IS7xx to raj dla Arduinowców. Układy te mają 1 lub 2 uart z 64bitowym FIFO nadawczym i odbiorczym. Można sobie przerwania zawieszać na długi czas a nawet nie używać ich wcale (o ile nie używa się delay w tysiącach).

(08-10-2018, 00:19)kaczakat napisał(a): Oczywiście wszystko da się zrobić lepiej (no nie mówię o Pana doskonałych kodach, ale to oczywiste )
Każdy program można ulepszyć. Najlepszym dowodem na to jest Windows, tyle, że tam nie ma sensu czegokolwiek ulepszać, trzeba by toto (nie wiem jak nazwać Windows, system to nie jest) napisać od nowa.

(08-10-2018, 00:19)kaczakat napisał(a): ale już wykorzystanie tego co oferuje Arduino umożliwi rozwiązanie większości opisywanych na tym forum "problemów".
Jak to tylko miganie dioda czy funkcje prostego PLC to tak, jak coś bardziej zaawansowane to najczęściej rozwiązania są japońskie (działają jako-tako).
 
Odpowiedź
  


Wiadomości w tym wątku
Czujnik HC-SR04+Przekaźnik - przez radzix1991 - 23-09-2018, 17:42
RE: Czujnik HC-SR04+Przekaźnik - przez es2 - 23-09-2018, 17:52
RE: Czujnik HC-SR04+Przekaźnik - przez radzix1991 - 23-09-2018, 18:09
RE: Czujnik HC-SR04+Przekaźnik - przez es2 - 23-09-2018, 18:20
RE: Czujnik HC-SR04+Przekaźnik - przez radzix1991 - 07-10-2018, 08:57
RE: Czujnik HC-SR04+Przekaźnik - przez es2 - 07-10-2018, 09:43
RE: Czujnik HC-SR04+Przekaźnik - przez kaczakat - 07-10-2018, 20:13
RE: Czujnik HC-SR04+Przekaźnik - przez es2 - 07-10-2018, 20:21
RE: Czujnik HC-SR04+Przekaźnik - przez kaczakat - 08-10-2018, 00:19
RE: Czujnik HC-SR04+Przekaźnik - przez es2 - 08-10-2018, 08:22
RE: Czujnik HC-SR04+Przekaźnik - przez kaczakat - 08-10-2018, 20:33

Skocz do:


Przeglądający: 1 gości