Skocz do zawartości

Belferek

Użytkownicy
  • Zawartość

    310
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    5

Belferek wygrał w ostatnim dniu 16 listopada 2018

Belferek ma najbardziej lubianą zawartość!

Reputacja

35 Bardzo dobra

O Belferek

  • Ranga
    6/10

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Belferek

    Instrukcja warunkowa IF

    Instrukcja if oczekuje warunku do sprawdzenia, a ty umieszczasz dwa parametry rozdzielone przecinkiem. Składnia jest taka: if(warunek) wykonaj_jeśli_warunek_jest_spełniony; Jeśli warunek jest spełniony, jest prawdziwy to program wykona określony kod. Prawda to w programowaniu true, 1, HIGH. Prawda to także zanegowany fałsz. Twój warunek powinien więc wyglądać: if(digitalRead(A5)==HIGH) cos_tam lub np. if(digitalRead(A5)) cos_tam lub np. if(digitalRead(A5)!=LOW) cos_tam lub np. if(digitalRead(A5)==1) cos_tam itp. pinMode - nie ustawia portu w stanie HIGH lub LOW lecz ustawia tryb jego pracy (wejście, wyjście) Do ustawienia portu cyfrowego w odpowiednim stanie należy użyć digitalWrite(port, stan) np. digitalWrite(7,HIGH);
  2. A może autor napisze jak to rozwiązanie wykorzystuje TIMERY Arduino? Czy należy się liczyć z konfliktami z innymi bibliotekami? Jak ta biblioteka wpływa na standardowe procedury PWN, I2C.... itd.
  3. Belferek

    Problem z wgrywaniem programu do Arduino UNO

    Czy na pewno w Twoim systemie jest port COM6 - zdarza się, że przy odłączaniu i ponownym podłączaniu modułu numery portów się zmieniają. Zobacz NARZEDZIA - PORT i rzuć okiem do właściwości komputera. Z tym materiałem oczywiście się zapoznałeś? Wcześniej programowałeś swój moduł bez problemów? Ze sterownikami nie ma kłopotów?
  4. Belferek

    Serwer na RPI3 bez stałego IP

    Tu miałem na myśli praktyczne dla Soyera funkcjonalności - upload plików, może jakaś baza danych, obsługa np. PHP, bash ...
  5. Belferek

    Serwer na RPI3 bez stałego IP

    W skrajnym przypadku pozostaje dobry hosting strony WWW na zewnętrznym serwerze i przesyłanie okresowe danych z RPi na serwer. Samo RPi mimo tych GHz w procesorze moim zdaniem nie za bardzo się do tej roli (serwera) nadaje.
  6. Belferek

    Serwer na RPI3 bez stałego IP

    No to jest problem - bo przekierowanie portu na routerze jest raczej niezbędne. Jaki to dostawca, jaki router Ci udostępnił? Swoją drogą to raczej dziwne - poczytaj regulamin usługi. Można pomyśleć o wymianie tego routera na własny lecz należy się spodziewać problemów. Adres IP to jedno, a przekierowanie portu to drugie. Stałe IP to komfortowa sytuacja, lecz gdy IP jest zmienne to też nie problem - poczytaj o Dynamic DNS. Natomiast port na routerze trzeba przekierować np. domyślny dla serwerów HTTP port nr 80 chociaż to może być dowolny (dostępny na routerze port) . Przy niestandardowym porcie dostęp do niego z poziomu przegląarki to np.: http://ADRES_IP:NUMER_PORTU. Więc naciskać w tym temacie (przekierowania portu) trzeba. Port na jakim ma nasłuchiwać serwer np. HTTP uruchomiony na RPi jest konfigurowany przez Admina - czyli Ciebie. To Ty określasz w pliku konfiguracyjnym na RPi numer tego portu, router nie ma nic do tego. Router jedynie ma przekierować żądania połączeń z Internetu na określone IP i port twojego RPi w sieci lokalnej. Niekoniecznie - to zależy od konfiguracji Twojego serwera. Jak skonfigurujesz by serwer nasłuchiwał połączeń na innym porcie np. 8081, 9872, ..... itp. to też będzie działać tylko właśnie na ten port należy na routerze przekierować połączenia z zewnątrz. Przy przekierowaniu mówimy o porcie źródłowym (na rouetrze) i porcie docelowym (na RPi). Oczywiście to wszystko w powiązaniu z IP. Raczej zaznaczyłeś "static ip" i wprowadziłeś adres IP dla rejestratora ręcznie - wprowadziłeś statyczny, stały adres IP. Jeśli nie korzystasz ze statycznej adresacji to urządzenie będzie próbowało (najprawdopodobniej) pobrac konfigurację z lokalnego serwera DHCP.
  7. Niemożliwe, sprawdź średniki, nawiasy - pokaż kod
  8. W setup() po Serial.begin() możesz dać krótkie delay(500) chociaż Arduino z pewnością wysyła komunikat powitalny lecz chyba nie nadążasz z włączeniem monitora. W moim arduino jest przycisk reset. Przy włączonym monitorze zresetuj moduł (lub wgraj szkic)- powinieneś zobaczyć ten komunikat
  9. Belferek

    Zliczanie czasów rozwartych obwodów

    A nie lepiej skorzystać z obsługi przerwań zewnętrznych?
  10. Belferek

    Zliczanie czasów rozwartych obwodów

    To Arduino IDE ma w genach
  11. Belferek

    Zliczanie czasów rozwartych obwodów

    No jeszcze bym się zastanowił nad sposobem odbioru tych danych przez PC - własny program, jakieś gotowe narzędzie?
  12. Ja "sprawdziłem" swojego klona (Waveshare Uno Plus z Botlandu) z rezonatorem kwarcowym w teście 1,5 godzinnym czyli 5400 sekund. Przyjmując, że stoper w PC uruchomiłem z sekundowym opóźnieniem to Arduino powinno odliczyć po upływie 1,5 godziny w/g stopera 5401 - odliczyło 5402. Sugeruje to, że Arduino się śpieszy jeśli przyjąć, że program PC to wzorzec. Mimo wszystko ta niedokładność w porównaniu do Twojego Arduino jest dużo mniejsza. Mierzę tylko temperaturę. Do obsługi tego RTC korzystam z biblioteki - RTC by Makuma
  13. 13 sekund na 45 minut to trochę dużo. Tak z ciekawości może porównaj swoje wyniki z tym: void setup() { Serial.begin(115200); Serial.println(millis()); Serial.print("\n\n\n\n"); } unsigned long currTime, stoper; const unsigned long dod = 1000; void loop() { if (millis() > stoper) { stoper += dod; Serial.println(stoper/dod); } } To Twój program bez wyświetlacza I2C.
  14. Belferek

    Raspberry widzi sieć, router nie widzi Raspberry

    przecież pisze wlan0 state DOWN - to karta WiFi, a RPi masz połączone ethernetem? Pokaż co odpowie ping 192.168.1.1
  15. Myślę, że taki kod zmierzy za pomocą millis() upływ milisekund. Może narbej spróbuj to wykorzystać. void loop() { unsigned long poprzednio=millis(); unsigned long teraz=0; unsigned long minelo=0; while(1) { teraz=millis(); minelo=teraz-poprzednio; //w minelo ilosc ms poprzednio=teraz; //a tu zrób co chcesz z wartością minelo } } Kod nie uwzględnia przepełnienia millis().
×