Pomoc z funkcja if jak to napisac? - 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: Pomoc z funkcja if jak to napisac? (/watek-pomoc-z-funkcja-if-jak-to-napisac) |
Pomoc z funkcja if jak to napisac? - Bon3r - 01-10-2015 Chce odczytać wartość z wejscia analogowego np. A0 wskazania od 0-1000 nastęnie chce za pomocą" if " zrobić tak aby np gdy wartosc przekorczy 100 dioda(np. ledPin 13) sie zapala i gaśnie potem gdy przekroczy 200 zapala sie i gasnie, potem gdy przekroczy 300 itd. Ktoś wie jak to napisać? RE: Pomoc z funkcja if jak to napisac? - JasQ - 01-10-2015 Kod: void setup() { a tutaj od -> do Kod: void setup() { RE: Pomoc z funkcja if jak to napisac? - Bon3r - 01-10-2015 Dziekuje za pomoc opcja nr 2 bardziej mi pasuje bo analogowy odczyt u mnie ma wahania +-10. Jeszcze mam pytanko. Czy mógłbyś mi podpowiedzieć jak napisać kod to tego kodu nr 2 tak aby po wciśnięciu przycisku buttonaPin(8) zapalała się dioda co if ( ( x == 100 and x < 110 ) or ( x == 200 and x < 210) or (x==300 and x<310){digitalWrite( 13 ,1 );} a po wciśnieciu buttonPin(9) if ( ( x == 50 and x < 60 ) or ( x == 100 and x < 110) or (x==150 and x<160){digitalWrite( 13 ,1 );} RE: Pomoc z funkcja if jak to napisac? - Bon3r - 01-10-2015 Dobra powiem tak "trochę się zakopałem"....chciałem zrobić coś takiego - mam odczyt z wagi na wejściu analogowym z modułu HX711 i tensometru. Stawiam na tym np zbiornik z wodą za każdym razem to może być inna waga od 0 do 5000gram. Chciałem zrobić tak aby ArduinoUNO po ubyciu 100gram zapalał diodę na powiedzmy 1sek. Przykłady wyżej są ok pod warunkiem jak wody za każdym razem biedzie full tzn 5000gram(znamy wartość początkową) a jak ktoś zaleje np 2759g ? czyli jeśli wartość analogowa(wagi) spadnie o 100 to dioda ma się zapalić na 1 sek. i o kolejne 100 dioda 1 sek.... HELP RE: Pomoc z funkcja if jak to napisac? - JasQ - 01-10-2015 Będzie to troszkę karkołomne i niedokładne ponieważ odczyt masz 0-1023 a mierzysz 5000 więc na każdy 1 punkt pomiaru przypada prawie 5 gram . tu masz na poprzednie pytanie Kod: char state1 = HIGH; RE: Pomoc z funkcja if jak to napisac? - Bon3r - 01-10-2015 wiem, że to może głupie ale czy takie rozwiązanie jest dobre? do każdego warunku dopisałem if ( ( x >= 100 and x <= 110 ) or ( x >= 200 and x <= 210 ) or ( x >= 300 and x <= 310) or ( x >= 300 and x <= 310) or ( x >= 400 and x <= 410) or ( x >= 500 and x <= 510) itd ..... aż do 5000 ? Dziękuje Ci JasQ za dotychczasową jesteś KOZAKIEM !!! RE: Pomoc z funkcja if jak to napisac? - JasQ - 01-10-2015 To tu masz w automacie zanim zetrzesz znaczki na klawiaturze . Tak na szybko ..... Po odpaleniu programu w setup wartość "Z" jest mapowana na podstawie odczytu A0 dla pełnego zbiornika 5000ml i zapamiętana , w loop x jest mapowana jako odczyt aktualny i czeka aż spadnie od 95-110 zaświeci dioda . Powyżej 110 z zmienia wartość na aktualną , dioda gaśnie i znowu czeka aż spadnie od 95 - 110 i tak aż braknie wody . Jak nie zależy ci na super dokładności to dodałem linijkę kodu która po wlaniu wody przywróci wartość z ale jet błąd pomiarowy 10 jednostek w tej linijce if ( o < - 10 ){z = x;} jeżeli masz układ stabilny to możesz dać mniej jak masz wachania większe daj więcej . Kod: int y ; RE: Pomoc z funkcja if jak to napisac? - JasQ - 01-10-2015 kod stopera też poprawiłem zerknij czy o coś takiego ci chodziło RE: Pomoc z funkcja if jak to napisac? - Bon3r - 01-10-2015 oki sprawdzę zabieram sie do roboty |