Skocz do zawartości

opp34

Użytkownicy
  • Zawartość

    20
  • Rejestracja

  • Ostatnio

Reputacja

13 Dobra

O opp34

  • Ranga
    2/10

Ostatnio na profilu byli

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

  1. Pewnie nie takiej odpowiedzi oczekiwałeś - uczysz się nie tyle samego sprzętu, co programowania, podejścia i sposobu myślenia. Jak uczysz się jeździć autem, to nie uczysz się jeździć precyzyjnie fiatem 126p, a generalnie poznajesz przepisy i obsługę pojazdów silnikowych. Z tej perspektywy patrząc, płytka, którą zastosujesz, jest prawie bez znaczenia. Jednocześnie bez sensu jest stosowanie złożonych płytek, których taktowanie idzie w GHz, a pamięć jest liczona w setkach MB do przeprowadzenia prostych projektów - dużo za nie zapłacisz, posiadają dziesiątki złączy, opcji i bajerów, których i tak
  2. Powodem jest to, że po pierwszym przyciśnięciu przycisku wpadasz w pętlę while, która jest wykonywana dotąd aż wypełniony jest warunek podany w nawiasie. W Twoim przypadku jest to true. Stąd też program nie jest w stanie opuścić pętli. Proponuję, żebyś poczytał sobie o instrukcji switch lub zastosował proste if. Poniżej przykład z zastosowaniem switcha. switch(buttonState) { case 0: // jeśli buttonState = 0 { Serial.println(“1”); break; // bez tego, jeśli buttonState = 0, wykonałby się też kod przypisany do wartości 1 } case 1: // jeśli buttonState = 1 { Serial.println(“0”);
  3. Chylę czoła przed autorem, że doprowadziłeś projekt do końca, że nie przerwałeś po napotkaniu pierwszych trudności. Czytając opis, powiedziałbym, że ten projekt jest dobrym przykładem, że rzeczywistość jest znacznie bardziej złożona niż się ją prezentuje. Doceniam, że opisałeś nieprawidłowe założenia, popełnione błędy i inne potknięcia – szczególnie, że powszechne jest prezentowanie się jako perfekcyjnych, unikatowych, nieskalanych żadną porażką. Wspomniałeś, że to Twój pierwszy poważny projekt. Przypomniało mi się, jak jednego dnia znalazłem opis innego Pierwszego Projektu, w którym au
  4. Ponownie o sobie przypomnę, odświeżając stan projektu. Od ostatniego czasu testowałem podłączenia czujników analogowych - podłączenie bezpośrednio pod jedyne wejście analogowe, poprzez 74HC4051 oraz za pośrednictwem zewnętrznego przetwornika ADS1015. Było to powodowane tym, że przeczytałem opinię, że działające połączenie WiFi potrafi przeszkadzać w prawidłowej pracy wbudowanego przetwornika. Ostatecznie w trakcie testów się to nie przydarzyło, a pomiar z zastosowaniem ADS1015 nie usprawiedliwia jego ceny, toteż pozostałem przy poczciwym 74HC4051. Zastanawiałem się też nad pracą przy brak
  5. opp34

    DS18b20 z ILI9341 SPI 240x320

    Żeby przesłać informacje do monitora, w setup trzeba zainicjować wymianę danych poprzez Serial.begin(9600). W nawiasie podajesz prędkość transmisji, ważne, żeby po otwarciu monitora w Arduino IDE ustawić tę samą wartość. Do wyświetlania zarówno statycznego tekstu, jak i wartości zmiennych stosuje się funkcje print (wypisuje wartość i nie przechodzi do nowej linii) i println (wyświetla wartość i przechodzi do następnej linii). Przykładowo: Serial.print("tekst"); // w monitorze wyświetli się statyczny tekst, który został podany w nawiasie w cudzysłowie, tj. tekst, program nie przyjdzie
  6. opp34

    DS18b20 z ILI9341 SPI 240x320

    Daj znać, jeśli będą trudności z DS18B20 lub na przykład będziesz potrzebował obsłużyć więcej niż jeden czujnik. Na temat wyświetlacza się nie wypowiem, bo tego typu sprzęt nie stosowałem od dawien dawna i mógłbym tylko wprowadzić w błąd. Jedynie znalazłem ten opis. Wynika z niego, że wyświetlacz pracuje z logiką 3.3V (nie tylko zasilanie, ale też przesyłane sygnały) a arduino z logiką 5V (jeśli ustawisz wyjście w stan wysoki i zmierzysz napięcie, powinno ono wynosić około 5V). Autor wpisu zastosował najprostszą technikę, to znaczy dzielniki napięcia. Innym rozwiązaniem jest konwerter poziomów
  7. opp34

    DS18b20 z ILI9341 SPI 240x320

    Poniżej znajduje się program, który odczytuje pomiar z jednego czujnika DS18B20. Program teoretycznie powinien działać, tym niemniej zaznaczam, że go nie testowałem - przeniosłem fragmenty z innego funkcjonującego projektu. Kod się kompiluje. W setupie sieć 1 wire jest inicjalizowana, odczytywany jest adres czujnika o indeksie 0 oraz ustawiana jest jego rozdzielczość. Potem w loop jest odmierzany czas od ostatniego odczytu, a jeśli przekroczył on ustawiony czas trwania konwersji, wówczas program sprawdza, czy czujnik o podanym adresie znajduje się na sieci. Jeśli tak, następuje odczyt tem
  8. opp34

    DS18b20 z ILI9341 SPI 240x320

    Wiem, że pytanie dotyczyło przede wszystkich wyświetlacza. Ja pozwolę sobie dodać informacje na temat DS18B20. Program jest identyczny, obojętnie jaki jest sposób podłączenia, tj. standardowe z trzema przewodami lub pasożytnicze z dwoma. Jesteś w stanie jedynie odczytać, co wykrywa sieć 1 wire za pomocą isParasitePowerMode(void). Adresy nadane poszczególnym czujnikom możesz odczytać za pomocą funkcji getAddress(DeviceAddress* adres, int index). Podając indeks (numerowany od 0), funkcja zapisuje w tablicy adres czujnika. Nie jest on jednak niezbędnie potrzebny, możesz posługiwać się
  9. Jeśli ja bym to projektował, to pewnie zastosowałbym jakiś stabilizowany zasilacz na 12 V 3 A, który podłączyłbym bezpośrednio do przekaźników i zaczepów oraz do przetwornicy napięcia z napięciem wyjściowym ustawionym na 3.3 V. Przetwornica zasilałaby samo NodeMcu (i zegar RTC, jeśli jest on Tobie potrzebny). Potem łączysz masę obwodu 12 V z 3.3 V. Ogólnie proponuję, żebyś zaczął od narysowania schematu elektrycznego układu, np. w programie Eagle lub KiCad. Będzie znacznie prościej wyłapać ewentualne błędy, a Tobie potem będzie prościej złożyć układ. Natomiast od strony programisty
  10. Na temat przekaźnika przeczytaj sobie tutaj. Jest tam przykład pokazujący, co to znaczy, że przekaźnik jest sterowany stanem niskim. Uproszczając, podajesz zasilanie, które trafia na transoptory poszczególnych przekaźników. Wystawienie sygnału niskiego powoduje przepływ prądu i załączenie przekaźnika. Poza tym przypatrz się, że optoizolacja w przypadku Twojego przekaźnika jest połowicza, ponieważ zasilanie transoptora i obwodu cewki jest zwarte. Tutaj jest przykład przekaźnika, w którym zasilanie transoptora VCC i cewki JD-VCC są odseparowane. Lepszym rozwiązaniem jest, jeśli mikrokontroler i
  11. Trudno jest odpowiedzieć jednoznacznie, ponieważ podanie prostej dyrektywy include z nazwą pliku nagłówkowego nie precyzuje, jaka biblioteka jest potrzebna. Bywa, że nazwy plików w poszczególnych bibliotekach pokrywają się (zazwyczaj są to biblioteki do tych samych zadań, stąd też nie załączasz ich jednocześnie i nie stanowi to problemu). W przypadku tego artykułu zrobiłbym założenie, że chodzi o standardowe biblioteki ESP32 od producenta płytek, firmy Espressif. Pobierz je sobie stąd. Jest to paczka bibliotek, w której znajdziesz SPIFFS (biblioteka do obsługi SPI Flash File System, tj.
  12. Opisz proszę precyzyjnie, jaki jest problem. W przypadku instalowania biblioteki, przy założeniu, że programujesz w Arduino IDE, są dwie opcje. Pierwsza to zastosowanie narzędzia wbudowanego w IDE. W tym celu otwierasz IDE, przechodzisz do zakładki Tools, a potem Manage Libraries. Otwiera się okno, w którym w prawym górnym rogu możesz wpisać nazwę biblioteki, a potem ją zainstalować (znajdujesz odpowiednią na liście i przyciskasz przycisk Install). Niektóre biblioteki nie znajdziesz na liście, tak jest z biblioteką wymienioną w tym artykule. Wówczas trzeba ją zainstalować ręcznie. Aby to
  13. Jak pisałem, jedną z opcji jest zastosowanie płytki z ESP8266 na pokładzie (np. Node MCU), która pozwala na sterowanie wyjściami (w Twoim przypadku przekaźnikiem) i jednocześnie łączy się z internetem. Programuje się ją w języku C/C++. Obsługa jest łatwa i jest dużo przykładów. Do tego jesteś w stanie napisać prostą aplikację w Android Studio za pomocą Java/Kotlin. Jeśli nie znasz tych języków, nie stanowi to problemu. Do zaprojektowania jednego ekranu z opcją logowania i przyciskiem do sterowania przekaźnikiem potrzebne będą absolutne podstawy. Firebase to platforma, która pozwala n
  14. Nie podałeś zbyt dużo informacji, to też trudno się odnieść. Traktujesz ten projekt jako naukę czy też zależy Tobie na najprostszym, najtańszym rozwiązaniu? Planujesz samemu zaprojektować i zlutować płytkę czy też złożyć zestaw z modułów (np. moduł z procesorem, moduł z wyjściem przekaźnikowym itp.)? Jedną z opcji, pewnie nie za optymalną, jest ESP8266, do którego podłączony jest przekaźnik, integracja z Firebase'em oraz prosta aplikacja na androida, w której logujesz się i sterujesz przekaźnikiem. Stosunkowo prosty projekt. Jeśli interesuje Cię ta opcja i potrzebujesz ewentualnej pomoc
  15. Powrócę do innego tematu - przetwornicy oraz zasilania obwodu 3.3 V. Zmierzyłem, że w trakcie normalnej pracy pobór to ok. 80 mA, przy otwartych wszystkich zaworach dochodzi do 140 mA. W przypadku napięcia na wejściu 12 V, na wyjściu 3.3 V, moc, którą trzeba rozproszyć to P = (12 V - 3.3 V) * 0.14 A = 1.22 W. Z przeglądanych stabilizatorów wartość RthJA (thermal resistance junction-ambient) dla obudowy TO-220 wynosiła przynajmniej 50 oC/W (przykładowo dokumentacja LF33CV jest tutaj), a to przełożyłoby się na T = 1.22 W * 50 oC/W = 61 oC. W założeniach płytka znajdzie się w hermetycznej obudowi
×
×
  • 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.