Skocz do zawartości

ethanak

Użytkownicy
  • Zawartość

    1166
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    43

ethanak wygrał w ostatnim dniu 17 maja

ethanak ma najbardziej lubianą zawartość!

Reputacja

479 Mistrz

Informacje

Ostatnio na profilu byli

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

  1. ethanak

    Podłaczenie czujników TMP36GT9Z

    Hm... a jeszcze takie dziwne pytanie... Tablica "tempGrzejniki" została zadeklarowana jako int[9]; Pomijając fakt, że w ostatniej wersji chyba o tym zapomniałeś... co się stanie, jeśli zmienna "i" przyjmie wartość 9? A w ogóle po kiego grzyba Ci tabela, której nie wykorzystujesz? Zamiast przeliczać za każdym razem zrób sobie po prostu średnią odczytu wartości z konwertera a przelicz na samym końcu, coś w stylu: int i, odczyt; for (i=odczyt=0; i<10;i++) { odczyt += analogRead(cośtam); delay(chwilkę); } float VOLT = (odczyt * 5.0 / 10240.0); // czy jakoś tak Na samych intach też można (trochę większy błąd, ale i tak mniejszy niż rozdzielczość termometru): int centiVolt = (odczyt * 2) / 41; int temperatura_czegośtam = centiVolt - 50; Jeśli mi się przecinek gdzieś nie przesunął to powinieneś dostać rozsądny wynik. Aha - zmienna centiVolt wcale nie jest nikomu do szczęścia potrzebna, wystarczy przecież: temperatura = (odczyt * 2) / 41 - 50;
  2. ethanak

    Podłaczenie czujników TMP36GT9Z

    Więcej miejsc po przecinku to niekoniecznie float. Możesz za jednostkę przyjąć np. 1/10 stopnia. Pamiętaj, że każde działanie arytmetyczne na liczbach ograniczonej precyzji może powodować błąd, a błędy mogą się skumulować. Jeśli precyzja będzie wystarczająca, kumulacja będzie niedostrzegalna. To tak, jak w przetwarzaniu dźwięku - wewnętrznie maszyneria chodzi co najmniej w 24 bitach (te tańsze), a na wyjściu dostajesz teoretycznie 16 (teoretycznie, bo np. przetworniki w CD maja nieco mniej). Czy jak programy księgowe, dla których jednostką jest 1/10 grosza, a wyniki przedstawiają po zaokrągleniu.
  3. ethanak

    I2C nie zwraca adresu konwertera

    Oporniki są po to, że urządzenia na i2c albo zwierają coś do GND (czyli podają zero) albo nie zwierają (i wtedy trzeba jakoś tę jedynkę podać). Jak ich nie będzie to na linii będzie albo zero albo czort wie nie co, czyli pewnie też coś koło zera (albo co tak drut z powietrza wyłapie). W Uno biblioteka Wire włącza wewnętrzne rezystory, w nano czy pro mini już nie. Nie pytaj dlaczego
  4. ethanak

    I2C nie zwraca adresu konwertera

    Podobno działa od 1k do 100k ale skrajnych wartości bym nie ryzykował Daj 4.7k albo coś podobnego.
  5. ethanak

    I2C nie zwraca adresu konwertera

    A rezystorki podciągające na a4/a5 są? W Uno można się bez nich obejść, ale w nano nie.
  6. A co chcesz uzyskać? Mini360 to przetwornica step-down, czyli możesz z pięciu wolt zrobić na przykład cztery...
  7. ethanak

    Wybór drukarki 3D

    Do projektowania - zależy co projektujesz. Do czego innego użyjesz OpenSCAD-a, do czego innego Blendera. Do cięcia Cura lub Slic3r PE (nie zwykły Slic3r).
  8. ethanak

    Kedrigern - czyli głos dla robota

    to wymaga informacji dla Mileny że CWU to skrót... resztę powinieneś sobie oprogramować. Co do folii... nieważne co on tam pali, ważne że masz się dowiedzieć czy wychodząc z domu masz wziąć kapelusz od słońca, parasol czy maskę przeciwgazową
  9. ethanak

    Kedrigern - czyli głos dla robota

    A owszem, zaglądałem, interesuje mnie co jeszcze wymyślisz (może coś zmałpuję). A jaki widzisz problem w zrobieniu gadającego pieca? dopisujesz jeden prosty programik w pythonie (przekazanie linijki z seriala na port kedrigerna), sprzętowo zmieścisz się w 50 PLN. Tyle że ja bym na Twoim miejscu wykorzystał kedrigerna do oznajmiania ważnych informacji (np. "sąsiad znów pali opony, nie wychodź z domu")... pokombinuj
  10. ethanak

    Kedrigern - czyli głos dla robota

    Wcale nie tak dużo - większość to soft, z elektroniki tam jest naprawdę niewiele. A soft powstawał etapami - najpierw był tylko sterownik do pieca z prostym interfejsem www, potem dopiero (gdzieś tak w ciągu ponad roku) powstała cała reszta. No - czytając Twój wątek który swego czasu traktował o Blynku, LCD i lamusie nie nazwałbym tego "małym projektem"
  11. ethanak

    Kedrigern - czyli głos dla robota

    A co tu pisać... Do malinki podłączone są na stałe stare głośniki Samsunga (tania karta dźwiękowa na USB). Malinka oprócz pieca ma za zadanie umilać mi czas radiem Złote Przeboje (MPD), zapisywać w bazie danych (na innej maszynie) wyniki pomiarów cukru/ciśnienia i parę mniej istotnych rzeczy. Z różnych (raczej historycznych) przyczyn malinka wyposażona jest w interfejs graficzny (LXDE). Do malinki podłączona jest również mała klawiatura bezprzewodowa leżąca grzecznie na stoliku. W samym LXDE pod klawisze multimediów podpięte jest wywołanie różnych programów. I tak pod klawisz lupy (wyglądający jak lizak) podpiąłem zapis pomiarów cukru/ciśnienia, a pod klawisz koperty (przypominający graficznie domek) podpiąłem program sterujący piecem (dwuobiegowy piec gazowy). Główny program sterujący ma zaprogramowane typowe godziny obecności/nieobecności domowników na każdy dzień tygodnia, jednak ma możliwość szybkiego przeprogramowania bieżącego dnia. Do dyspozycji są: całodzienna obecność, nieobecność w konkretnych godzinach, dzień świąteczny, dzień powszedni (te dwa ostatnie dlatego, że co prawda wszystkie święta powinny być wprowadzone, jednak zawsze nasz kochany rząd może wprowadzić dodatkowe święto typu Urodziny Prezesa, a ze względu na charakter naszej pracy niedziela nie zawsze jest dniem wolnym) oraz wyjazd na dłużej (temperatura utrzymywana na poziomie 12-13 stopni). Program po uruchomieniu przejmuje klawiaturę i poprzez serwer mowy informuje mnie, co właściwie uruchomił. Jednocześnie przejmuje kontrolę tej klawiatury i czyta wciśnięcie klawiszy bezpośrednio poprzez bibliotekę evdev. Mogę wybrać szybkie zaprogramowanie całodziennej obecności (w moim przypadku po prostu wciśnięcie entera) lub podanie godzin wyjścia i powrotu (z dokładnością do 10 minut - taka jest rozdzielczość czasowa programów). Każde wciśnięcie klawisza sygnalizowane jest odpowiednim tekstem - i tak jeśli wychodzę o 12:30: Informacja z syntezatora: "podaj godzinę wyjścia" 1 - tekst "jeden" 2 - tekst "dwunasta" 3 - tekst "dwunasta trzydzieści, potwierdź enterem" enter - "wyjście dwunasta trzydzieści, podaj godzinę powrotu" I tak dalej... Działa oczywiście klawisz backspace powodujący skasowanie ostatnio wprowadzonej cyfry oraz esc powodujący wyjście z programu. Uproszczony interfejs nie pozwala co prawda ustawiś godzin z zakresu 0:00 do 2:50, ale nie zdarzyło mi się jeszcze aby to było konieczne. Podobnie działa program do wprowadzania wyników pomiaru - stwierdziłem że wstukanie paru cyferek na klawiaturze będzie szybsze niz zabawa z podłączaniem glukometru do komputera, a ciśnieniomierz w ogóle nie ma interfejsu. Dodatkowo w przypadku pomiarów mogę sprawdzić wyniki z ostatnich trzech dni oraz wydrukować tabelkę z wynikami. Przy radiu syntezator informuje mnie przy włączeniu lub zmianie stacji, jaka stacja jest aktualnie włączona. Poziom dźwięku syntezatora ustawiany jest automatycznie, radio (jeśli gra) jest wyciszane na czas odtwarzania mowy. Prosta rzecz... ale niesamowicie przydatna!
  12. A może byś sobie zajrzał do datasheeta zanim coś napiszesz? Według danych producenta ATmega328P potrzebuje min. 3.78V przy 16 MHz - czyli masz jeszcze 0.5V zapasu. Tutaj możesz sobie znaleźć wzór.
  13. ethanak

    Uszkodzony amperomierz?

    A co się stanie, jeśli czerwony kabelek (+) z baterii podłączysz tam gdzie powinien być podłączony (tzn. do dziurki oznaczonej "+")? Bo na razie jeden koniec rezystora wisi w powietrzu...
  14. ethanak

    Podłaczenie czujników TMP36GT9Z

    A ile Ty masz tego przewodziku... osiem metrów raptem Powinno działać bez problemu (oczywiście na trzech przewodach, a nie na pasożytniczym). Jeśli nie - zawsze możesz w tę puszkę wrzucić jakiegoś klona Pro Mini za dychę (taniej wyjdzie niż ATmega), niech zbiera sobie dane z termometrów i pcha serialem do następnego.
  15. ethanak

    Sposób pisania programów na rzeczy typu Arduino

    Po pierwsze w C++. Po drugie zerknij do pliku cores/arduino/main.cpp - tam naprawdę niewiele więcej znajdziesz @BananWszyscy Przecież moment włączenia prasy nie zależu od bieżącej konfiguracji naciśniętych/puszczonych przycisków a od ich historii. Procedura "decyzja operatora" ma zwrócić "włącz prasę", "zatrzymaj prasę" i tak dalej, a nie te nieszczęsne przyciski. Spróbuj napisać coś takiego: typedef enum { START_PRASY = 1, STOP_PRASY, /* i co tu jeszcze chcesz */ } decyzja; decyzja decyzja_operatora(void) { /* tu masz pole do popisu */ }
×