Skocz do zawartości

kellyq

Użytkownicy
  • Zawartość

    30
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O kellyq

  • Ranga
    3/10
  1. Hej mam taki problemik odnośnie ogólnie pomiarów z hx711 oraz tarowania belki tensometrycznej. Do usredniania wyników wykorzystuję ilość sampli "scale.get_units(5)" 5 dla przykładu oraz średnią kroczącą z tego. W zasadzie to by było wystarczające tylko mam dziwny problem, że po przywołaniu "scale.tare()" waga zeruje się ale potem i tak wzrasta do pewnego poziomu po czym sobie "faluje" że tak powiem. Co robie źle że nie faluje po tarowaniu w okolicach zera tylko powyżej? Generalnie pomiary jakie uzyskuję po tarowania wahają się w granicach 0,00007-0,00028 kg. Zaznaczyłem kółkami mome
  2. Niby racja ale... wtedy pojawia się kolejny problem. Odrzucisz błędny wynik ale ziemniaka już nie cofniesz z powrotem na taśmę. Teraz mam tak, że mam ustawioną zadaną wagę na ileś tam np.1kg i to nie koniecznie ziemniaków. Po osiągnięciu tej wagi wyłączam taśmę nasypującą i wchodzę w pętlę while oczekującą na wciśnięcie przycisku opróżnienia wagi. Chyba przy tym zostanę. W sumie to mam do dyspozycji teraz 2 parametry próbkowanie i właśnie długość tablicy. A i jeszcze taśma mi zwalnia kiedy osiągnę 95% zadanej wagi. Wcześniej miałem taki bardzo banalny sterownik kiedy chciałem ważyć 1kg to
  3. mogło by i tak być, muszę to podszlifować jeszcze Możesz rozwinąć, nie rozumiem?
  4. Korzystam, zmieniam to w menu, taka opcja. A i w końcu naprawiłem to, trzeba podzielić zsumowane elementy tablicy przez jej aktualną długość a nie zadeklarowaną maksymalną taka mała błachostka się tam schowała. Pierwsze 20 mogą być zafałszowane, nie ma to znaczenia ważne żeby pod koniec nasypywania na wagę uśredniało dobrze. Wyobraź sobie np. ważenie ziemniaków nasypujesz na wagę do uzyskania 15kg. Załóżmy że jeden ziemniak waży 100g. Kiedy ostatni który ma spaść na wagę o nią udeża cała waga w tej krótkiej chwili nie wzrasta o te 100g tylko o więcej za sprawą udeżenia. Kiedy ostatni zie
  5. Nie chcę robić nowego wątku o tym samym praktycznie więc jeszcze raz zapytam. Taki oto kod: float rozmiarTablicy = EEPROM.get(60, rozmiarTablicy); const int wagaArrayCount = 20; float wagaArray[wagaArrayCount]; float wagaSum; float waga = scale.get_units(probkowanie); //zlicza wage for (int i=rozmiarTablicy-1; i>0; i--){ wagaArray[i] = wagaArray[i-1]; } wagaArray[0] = waga; wagaSum = 0; for (int i=0; i<rozmiarTablicy; i++)wagaSum += wagaArray[i]; wagaSum /= wagaArrayCount; Tym razem dokonuje pom
  6. To jak pomoże ktoś dodać drugi odbiornik bo mi nie wychodzi?
  7. Poniżej link do mojego wątku tam jest dzaiłający kod na odbiornik i nadajnik, komunikacja w obie strony oraz link do biblioteki https://github.com/nRF24/RF24
  8. Nie wiem jaki masz wyświetlacz ale mi kiedyś się tak trafiło że też nie było nic widać. Okazało się że podświetlenie było zbyt mocne. Trzeba było albo je wyłączyć albo wlutować rezystor.
  9. Udało Ci się wgrać w ogóle coś na atmegę? Masz podciągnięty rezystor 1k pod reset a powinien być ok 10k. Potencjometr od kontrastu też bym wymienił na 10k. Jeszcze przycisk sw5 podejrzewam że od resetu, jest w złym miejscu.
  10. Hej mam zagwozdkę z komunikowaniem sie 3 sterowników ze sobą za pomocą modułów nrf24l01. 1 moduł "Agata" komunikuje się z 2 modułem "Andrzej" w obie strony, to mam ogarnięte działa lux. Mam jeszcze 3 moduł dajmy na to "Pioter". On ma tylko nasłuchiwać rozkazów "Agaty" Nie bardzo rozumiem o co chodzi z tymi adresami. Jak powinien je mieć zadeklarowane "Pioter". Kody : Agata RF24 radio(7,8); uint8_t address[][6] = {"1Node", "2Node"}; void setup(){ radio.begin(); radio.setPALevel(RF24_PA_LOW); radio.setDataRate(RF24_2MBPS); radio.setChannel(124);
  11. Super o to mi chodziło, dzięki
  12. Nie jest potrzebna ale... Mogę użyć pętli for z 10 przebiegami i dodawać kolejno wartości z każdego przebiegu, w ostatnim przebiegu, podzielić uzyskaną wartość przez liczbę przebiegów i mam średnią tylko ile to zajmie czasu ta pętla for kiedy walczę o to by pętla loop była jak najkrótsza. Hmm trzeba by zmierzyć jak długo trwała by ta pętla for a jak długo by trwało obecne rozwiązanie. Druga sprawa jest taka że dane do tablicy uzyskuję z drugiego arduino za pomocą transmisji radiowej. Co za tym idzie częstotliwość ich otrzymywania jest niższa. Czyli na mój rozum blokowałby się
  13. Hej napisałem taki kod int liczbaElementow = 10; int data[10]; int index = 0; int srednia = 0; void loop() { int odczyt = analogRead(sensorPin); if(index <= liczbaElementow-1){ data[index] = odczyt; index++; if(index == liczbaElementow){ index = 0; } } srednia = (data[0]+data[1]+data[2]+data[3]+data[4]+data[5]+data[6]+data[7]+data[8]+data[9])/liczbaElementow; Program zapisuje do 10-cio pozycyjnej tablicy odczyty z adc celem uśrednienia wyników. Mam pytanko. Jak mogę zapisać ostatnią linijkę kodu żeby jej nie zmieniać kiedy zmienię sobie liczbę elementów w tabli
  14. Zasilanie z programatora, a np. zamiast przekaźnika można by użyć np klucz tranzystorowy z jakimś szybkim tranzystorem?
  15. PCF znam i używam. Chodziło mi raczej o jakieś automatyczne rozwiązanie że gdy podpinam programator to "odcina rx, tx od reszty obwodów. Taki jakby nastawnik kod ale elektronicznie sterowany (mini przekaźnik może???) Jest to dość kłopotliwe np. gdy programuję atmego i wyświetlacz nextion. Wtedy trzeba odpinać wszystko bo nextion komunikuje się z atmegą właśnie przez rx i tx. Jego też się programuje przez te piny.
×
×
  • 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.