działanie kodu w pro mini - 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: działanie kodu w pro mini (/watek-dzia%C5%82anie-kodu-w-pro-mini) |
działanie kodu w pro mini - zbyszko125 - 20-05-2018 Witam, stworzyłem mały projekt sterownika do maszyny którego zadaniem jest sterownie ręczne poprzez przyciski oraz możliwość załączenia sterownika w tryb auto i wtedy sterownik sam bez mojej ingerencji steruje maszyną, całość zwieńczona LCD z inormacjami o stanie sterownika Projekt zrobiłem na UNO 3, ale nie chce jej pakować do pudełka , tylko dać kod do Pro Mini i go zostawić. Niestety jest mały problem z kodem na Uno działał idealnie tak jak chciałem,ale na Pro Mini już robi bzdury.Nie wiem czemu tak się dzieje, czy to nie wina tych INPUT_PULLUP ? tak to wygląda : Kod: // od 3 do 8 podłączone 2 przekaźniki 5V 3 przyciki,i 2 krańcówki RE: działanie kodu w pro mini - kaczakat - 20-05-2018 To nie wina INPUT_PULLUP. Nano, PRO MINI i UNO to te same procesory, programowo nie ma żadnej różnicy, możesz sobie wgrać bootloader od UNO do Nano lub Pro mini i będzie wykrywany jako UNO (w sensie nie wgrasz do NANO kodu jeśli w ustawieniach nie ustawisz płytki docelowej jako UNO). Ma to swoje dobre strony, w UNO bootloader zajmuje 1,5kb mniej i szybciej wgrywa kod. Różnice między płytkami są widoczne w świecie makro. UNO ma więcej kondensatorów, w tym elektrolityczne. A Ty używasz przekaźników. Skąd je zasilasz? Jak z płytki to mogą powodować reset procka wysysając z płytki cały prąd. RE: działanie kodu w pro mini - zbyszko125 - 20-05-2018 Używam modułów przekaźników, są one zasilanie nie z płytki Pro Mini tylko z zasilacza jednak z tego samego zasilacza również płytka jest zasilana.Wgranie bootloadera od Uno do Pro mini mogłoby rozwiązać ten problem RE: działanie kodu w pro mini - kaczakat - 21-05-2018 Czym w ogóle objawiają się te bzdury? Co do pików zasilania dodaj do płytki kondensator ceramiczny 100n i 1000u elektrolityczny, bezpośrednio przy pinach zasilania procka, upewnij się, że zasilasz płytkę przez diodę. W razie szarpnięcia przekaźnika prąd nie wróci na przewody powodując 0 na resecie i reset procka. Czy przekaźniki są przyczyną dziwnego zachowania łatwo sprawdzisz zamieniając je na ledy. Możesz też zasilić płytkę z osobnej ładowarki 5V, połączyć z płytką przekaźnika tylko GND. Przy takiej konstrukcji programu dziwić może bardziej prawidłowe działanie na UNO. Napisz ten program bez delay, w szczególności w funkcji debounce. Ewentualnie tu jest do tego biblioteka: https://github.com/thomasfredericks/Bounce2/archive/master.zip . Do kontroli czasu działania czegoś użyj funkcji millis() i micros(), są przykłady w podstawach Arduino. Mnóstwo na tym forum. A taki fragment: Kod: for (int i = 1; i < 10; i++) { //sygnalizacja zadziałania wyłącznika krańcowego RE: działanie kodu w pro mini - zbyszko125 - 01-06-2018 Witam. Mimo ciagłego braku czasu na swoj projekt cos tam powoli dzialam. Podłaczyłem kondensatory jak radzisz, i doidy zamiast przekaźnikow , jednak cos jest nie tak ze sketchem,gdyz dalej nie dziala jak nalezy. Na Uno działa na promini nie chce. Nie bardzo wiem jak wywalic delay i wstawic milis, jeszcze nie ogarniam tego. RE: działanie kodu w pro mini - kaczakat - 02-06-2018 Są kursy na Forbot dla Arduino, jak już coś tam wiesz to początek sobie przejrzyj pierwsze lekcje, a najważniejszą z millis przerób na kilka sposobów. Warto przejrzeć wszystko, bo może ta o millis nie będzie najważniejsza dla Ciebie. Może płytka faktycznie jest uszkodzona - przetestuj ją na innych programach. W arduino jest mnóstwo przykładów, które działają prawidłowo. Jak zrobisz sobie 2 programy w życiu, to nic nie będziesz wiedział, po kilkudziesięciu, a lepiej po kilkuset, coś tam zaczniesz trybić - ważne by każdy starać się zrozumieć. Stosowanie delay tak naprawdę ogranicza się gdy masz coś bardzo prostego w programie do przetestowania na szybko i tylko dla jednej rzeczy. Tylko miganie led – dajesz 1000ms, tylko sprawdzenie przycisku – dajesz 30. Jak już chcesz jedno i drugie to masz kolizję, bo dla leda tracisz 2000ms, a na przycisk trzeba zerknąć co co parę ms. Millis i delay stosujemy do kontroli czasu wykonywania poleceń. Jeszcze gorzej, jak nie stosujesz nic, a tak masz w pętli for powyżej. Dlatego mnie bardziej dziwi, że działa Ci to tak jak oczekujesz na UNO. RE: działanie kodu w pro mini - zbyszko125 - 08-06-2018 Zmieniłem diody na triaki z odseparowaniem za pomocą MOC3043. Podłączyłem wszystko pod UNO. Działa. Czy drżenie styków krańcówek i przyciskow da się wyeliminować sprzętowo a nie programowo np kondensator i rezystor? Gdzieś w trakcie kopania netu na coś takiego się natknąłem. RE: działanie kodu w pro mini - kaczakat - 08-06-2018 Wpisz w google "hardware debounce circuit", wyskoczą schematy w obrazach. Jak to działa nie wiem. RE: działanie kodu w pro mini - zbyszko125 - 08-06-2018 Ok dzięki. |