Skocz do zawartości

ethanak

Użytkownicy
  • Zawartość

    3625
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    159

Wszystko napisane przez ethanak

  1. Czemu uważasz że to lipa? Natknąłeś się na wersję z jednym rdzeniem (bo takie istnieją i wyraźnie jest to w dokumentacji zaznaczone)?
  2. [...] Na przykład podłączyć moduł sterownika 16 x PWM (na 9685, taki jak Twój shield, tylko bez tych śmiesznych pinów, na Aledrogo poniżej 20 PLN). Uprzedzając pytania: mam, podłączyłem, chodzi bardzo dobrze na 400 kHz, aktualnie steruje 5 serwami i 3 ledami.
  3. Nie ma. Te dwa to katalog bieżący i nadrzędny. Przypadek szczególny (katalog główny, który nie ma katalogu nadrzędnego) zawiera również wpis "..". tyle że wskazuje on na samego siebie. Tak że zawsze jest dwa. Tak że te "plus dwa" to nie jest jakaś magiczna liczba, a po prostu katalogi bieżący i nadrzędny. Pojęcia "katalog bieżący" i "katalog nadrzędny" nie wykraczają chyba poza ramy kursu?
  4. A to nie można po prostu napisać "w przypadku katalogów jest to liczba zawartych subkatalogów plus dwa"?
  5. Nie ?? tylko ?: a ? b : c Znany również jako "operator warunkowy". Występuje w wielu językach o składni zbliżonej do C (np. PHP, JavaScript i tak dalej).
  6. Owszem, o to. A teraz tak: Ponieważ digitalRead może zwracać albo HIGH, albo LOW, drugi warunek jest w ogóle niepotrzebny. Czyli mielibyśmy: if (digitalRead(RELAY_PIN_W) == LOW){ lcd.setCursor(16,3); lcd.print("ON."); } else { // jeśli nie LOW to na pewno HIGH lcd.setCursor(16,3); lcd.print("OFF"); } Już nieco lepiej (mniej możliwości popełnienia błędu, prawda?) Ale to jeszcze nic. Ponieważ ustawiasz kursor niezależnie od stanu przekaźnika, uprośćmy to bardziej: lcd.setCursor(16,3); if (digitalRead(RELAY_PIN_W) == LOW){ lcd.print("ON.");
  7. Czy odbierasz coś z ESP czy tylko nadajesz? Czy nadajesz coś z czujnika czy tylko odbierasz? Jeśli tak a prędkości się zgadzają (tzn. możesz gadać z ESP na 9600), możesz podpiąć wszystko pod jeden software serial. Jeśli prędkości się nie zgadzają, a do ESP tylko nadajesz, poszukaj w googlu "software serial tx only", może to będzie rozwiązanie. Wracając do konwertera poziomów: według producenta ESP8266 powinien wytrzymać podłączenie do logiki 5V (dlatego działa bez konwertera), ale nie jest to wskazane. I tu uwaga: nie dotyczy to ESP32!
  8. Bo masz błąd w drugim warunku (popatrz uważnie na nawiasy)
  9. Więc skąd wątpliwości Moim zdaniem aby pokazać stan przekaźnika należy pokazać stan przekaźnika, ale może mam za słabą wyobraźnię aby wyobrazić sobie inną możliwość...
  10. Tak przy okazji: tutaj masz ciekawy artykuł o tym czujniku, być może jednak da się zastosować do kotła? Warto się pobawić metodami setSignalRateLimit i setVcselPulsePeriod, być może uda się zniwelować wpływ dymu/pyłu? Tak przy okazji: czujnik lubi sobie zwrócić np. 8191 (co w jego języku oznacza "czort wie jak daleko"), ja zrobiłem coś takiego (w uproszczeniu): int readRange(void) { int distan=lidar.readRangeSingleMillimeters(); if (distan == 8191) { distan=lidar.readRangeSingleMillimeters(); } return distan; } Sam musisz stwierdzić, czy czujnik ma pra
  11. A czujniki Sharpa (coś z tej serii, nie wiem jakie odległości mierzysz)? Nie są tak dokładne jak ToF, ale powinny wystarczyć, a odczyt jest przez zwykły analogRead. Ech... to ja tu liczę jakieś mediany, różnej maści średnie, a wystarczy sprawdzić stan co 30 minut... zawsze się człowiek czegoś nowego dowie
  12. mierzy dokładnie to samo co czujnik ultradźwiękowy tylko zamiast dźwięku używa wiązki lasera. Jak chcesz to poczytaj gdzieś o diodzie SPAD.
  13. Powiem tak: mierzy to dokładnie, jeśli to pojemnik w którym jest ciemno to jeszcze lepiej, teoretycznie cud-miód. W praktyce: biblioteki do Arduino są - powiedzmy - średniej jakości, co do zapylenia to nie powiem bo w takich warunkach nie próbowałem, ale wątpię aby przeżył. Teoretycznie może pracować przez szybę, ale nigdy mi się to nie udało (w bibliotece brak procedur kalibracji, a na przerabianie oryginalnych bibliotek ST nie miałem ani czasu, ani chęci. Jakby coś to trochę się nim bawiłem - patrz Zbignaś Kopłapow - możesz podpatrzeć w kodzie.
  14. ethanak

    Problem z wyświetlanym obrazem

    Wiesz - po mojemu to przejściówka która pozwala wyświetlać sygnał VGA na monitorze HDMI (przynajmniej tak to wygląda, przy VGA masz napisane "input" a przy HDMI "output"). A ty zdaje się chciałeś odwrotnie?
  15. Zanim zaczniesz przeinstalowywać i rekonfigurować Co powie polecenie: ip route list Powinno zwrócić coś w stylu: default via 192.168.1.1 dev wlan0 src 192.168.1.2 metric 303 192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.2 metric 303 (oczywiście z innymi wartościami). Jeśli zwróci coś innego, pokaż. Jeśli coś podobnego, co powie próba pingowania bramy (to jest ten adres zaraz za "default via", wpisz właściwy): ping -c 3 -n 192.168.1.1 Powinno zwrócić coś w stylu: PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.
  16. Bardzo dobrze, ale... A tu można się naciąć. Owszem, w AVR-ach kompilator jest ustawiony tak, że zmienne int są 16-bitowe (chociaż można wymusić 8-bitowy int), ale już np. w ESP czy ARM-ach int jest standardowo 32-bitowy. Co więcej - niektóre kompilatory pozwalają na przełączanie inta z 32 na 16 bitów. Tak że nie wolno polegać na tych wartościach; jeśli jest konieczne użycie zmiennej o konkretnej wielkości (w znaczeniu ilości bitów), należy użyć typów int16_t (16 bitów) czy int32_t (32 bity). Sam się kiedyś na to nabrałem przenosząc jakiś program z Amigi (kompilator bodajże Manx,
  17. Śmiem wątpić. Masz w kodzie: memcmp(result, expected,9); Co będzie, jeśli różnić się będą elementy o indeksie np. 6? Nieprawda. Przeczytaj dokładnie podlinkowany fragment dokumentacji i powiedz czym się różnią takie zapisy i który z nich jest prawidłowy: const int ILOSC = 9; int a[ILOSC], b[ILOSC]; int test1 = memcmp(a,b,ILOSC); int test2 = memcmp(a,b,2 * ILOSC); int test3 = memcmp(a,b,sizeof(a)); int test4 = memcmp(a,b,sizeof(int) * ILOSC); Którego powinieneś użyć?
  18. Ale przecież taka funkcja już istnieje, memcmp się nazywa...
  19. Hm... Biorąc pod uwagę Twój inny post chyba powinieneś, młody człowieku, nieco szacunku starszym okazać i np. po fajki skoczyć a nie udawać Dziadka Mroza A co do rozumienia: No to może zapoznaj się z alfabetem języka, bo nikt tu nie będzie pięćset razy każdemu tłumaczył podstaw, które są wyjaśnione w kursie i w podręcznikach języka. Nic dziwnego, że nic Ci nie wychodzi. To tak, jakbyś spróbował napisać wiersz nie znając połowy liter... Tyle ode mnie, wróć jak poznasz podstawy. Wszystkie podstawy, a nie tylko wybrane co ciekawsze.
  20. ethanak

    NodeMCU, problem z GPIO16(D0)

    Pomyśl zanim zadasz pytanie. Jeśli do tych pinów coś podłączysz, to zakłócisz komunikację procesora z pamięcią flash, procesor nie będzie mógł odczytać programu i co Twoim zdaniem będzie wykonywać? Oczywiście - możesz np. użyć flasha np. w trybie DIO (będzie wolniejszy) i użyć dwóch z tych zastrzeżonych pinów (nie, nie pamiętam których, nie chce mi się sprawdzać) do swoich celów. Mogą Ci być potrzebne linie SPI dla pamięci flash (nie wiem po co), a może podepniesz tam jakąś swoją pamięć... możliwości jest wiele, dlatego są wyprowadzone. Ale na początek po prostu tego nie tykaj.
  21. ethanak

    NodeMCU, problem z GPIO16(D0)

    Tego nie tykaj - piny GPIP6 do GPIO11 podłączone są do wewnętrznego flasha.
  22. ethanak

    NodeMCU, problem z GPIO16(D0)

    Czyli może być użyty jako zwykły pin we/wy (RCWL-0516 powinien na tym działać, on daje przecież zwykły sygnał napięcia, chyba że ktoś się uparł na tym zrobić przerwanie).
  23. Dobrze. A teraz powiedz, jaki to zły uczynek (pod względem prawnym oraz moralnym) popełnił ów hodowca który uporczywie nie płacił podatku...
  24. W pewnym miasteczku był sobie targ. A na targu, jak to na targu - handlowano wszystkim, co się da. Najchętniej kwiatkami, jako że okolica słynęła z tego, że mieszkali tam najlepsi hodowcy kwiatów w okolicy. Właściciel targu oczywiście ustalił pewne prawa: otóż od każdego sprzedanego kwiatka hodowca musiał zapłacić podatek w wysokości - dajmy na to - trzech szekli. I tak sobie handlowano wiele lat. Zmieniali się hodowcy, zmieniali się właściciele... aż któryś z kolejnych właścicieli uznał, że taki przepis to za mało, trzeba stworzyć bardziej szczegółowy. Zatrudnił w tym celu kilku Wielce U
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.