Skocz do zawartości

kaczakat

Użytkownicy
  • Zawartość

    300
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    5

kaczakat wygrał w ostatnim dniu 23 kwietnia

kaczakat ma najbardziej lubianą zawartość!

Reputacja

96 Bardzo dobra

1 obserwujący

O kaczakat

  • Ranga
    6/10

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

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

  1. Zasilanie i logika nie do końca idą w parze, niektóre moduły wymagają zasilania 4.4V a logikę mają 2.8V (GSM) i na odwrót - NRF41l01 wymaga zasilania 3.3V, a radzi sobie z logiką 5V doskonale. Podciąganie linii komunikacyjne I2C powinno być dobrane adekwatnie do pojemności linii, napięcia zasilania i prędkości komunikacji. Ostatecznie można użyć jakiegoś multipleksera i zrobić przełącznik, 1 magistrala z uC, osiem urządzeń I2C na osobnych - TCA9548A I2C Multiplexer, rozdzielisz to co się ze sobą gryzie.
  2. Może korzystasz z gotowych modułów Arduino, każdy ma już swoje rezystory podciągające, Ty dokładasz jeszcze swoje. Moduły jak BME280 też często są przystosowane do komunikacji na poziomie 5V, bo są dla Arduino, jak im dokładasz konwerter to pogarszasz zamiast polepszać. Ale sam musisz to stwierdzić, sprzedawcy często podają, że jest 3.3V i najczęściej to zadziała zarówno po 5V jak i na 3.3, ale nie musi. Długość połączeń też ma znaczenie, typowo I2C to jest połączenie "wewnątrzpudełkowe", kilkanaście cm.
  3. Ten LCD podłącza się do magistrali I2C i by dobrze to działało musisz wybrać dokładnie te piny w Arduino, odpowiednio SCL i SDA. Na początek musisz potwierdzić jego adres, wgrywasz szkic I2Cscanner i sprawdzasz jaki adres ma LCD, informacje są wyrzucane na UART. Zwykle jest to 0x27. Potem dodaj sobie bibliotekę LiquidCrystal_PCF8574 lub jakąś LiquidCrystal z I2C w nazwie (jest kilka do wyboru w managerze bibliotek wprost w programie Arduino) i skorzystaj z przykładów.
  4. Na Ali można kupić za około 10$ taką podstawkę do chipów: Można szybko przetestować przed lutowaniem, czy chip jest sprawny, nie ma potem wątpliwości czy coś z tym poszło nie tak. Mam też zlutowany ESP32 na czystej płytce, moja nie ma tych rezystorów przy przyciskach (wlutowałeś je raczej). Do prawidłowej pracy musiałem dołożyć kondensator 1000uF, no ale tu problemy objawiały się dopiero na etapie łączenia do WIFI.
  5. Do czego go wlutowałeś? Piszę o innym module - całej kompletnej płytce, która na 99% powinna działać od strzału, jakiś WEMOS LOLIN32 czy DoIt. Nie używasz przypadkiem pinów GPIO 6-11? Tu znajdziesz pełną listę "kłopotliwych" GPIO w tym ESP: https://espeasy.readthedocs.io/en/latest/Reference/GPIO.html#best-pins-to-use-on-esp32
  6. Zaproponowałem Ci wymianę flasha bo to jest prostsze, tak jak szukanie zagubionych kluczy tylko pod latarnią. Widocznie jednak leżą gdzieś w ciemności. Ważne to nie mieć tylko tego jednego modułu, jak masz kilka to łatwo zweryfikować, czy to nie wina po stronie PC.
  7. Najwyraźniej uszkodził się w bardzo typowy sposób - odwrócona polaryzacja zasilania. To że nie wszystko poszło z dymem to jak widać niewielka pociecha. Zawsze możesz pobawić się hotair'em i próbować podmienić flash, kiedyś kupiłem paczkę 4MB 10szt za parę $.
  8. Komunikacja przez pokazany moduł różni się od zwykłego "Serial.println(jakieśwysylanedane)" tylko tym, że gdy nadajesz musisz ustawić dodatkowo stan na pinie podłączony do DE i RE (mogą być zwarte razem). Są też układy, które automatycznie przełączają kierunek przesyłania danych i wtedy to nie różni się niczym. Musisz umieć odebrać dane, poznać które literki to cyfry, zamienić je na liczbę, przypisać do zmiennych w odbiorniku i już. Można to zrobić w formie struktury i zamiast przesyłać tekst przesłać dane binarne w formie całego bloku. Przykład do parsowania danych tekstowych na UART jest np. tu: Przykłady ze strukturami są często używane w komunikacji radiowej z modułem NRF24l01 i zamiast print jest write, co przesyłasz z jakiej komórki pamięci i ile bajtów - poszło.
  9. Weź sobie przetwornicę xV->5V i zasil to co wymaga 1A, równolegle do tego zasilacza 12V podłącz Arduino, oba układy łączysz masą i całość będzie miała szansę działać bezpiecznie. Może być np. taka tu. Dzięki temu pobór prądu z zasilacza pozostanie na poziomie <1A, zamiast zamieniać nadmiar napięcia w ciepło z mocą 7W.
  10. Na początek ustal, czy kupiłeś wersję 5V czy 3.3V, wersja 5V nie chciała mi działać zasilana z 3.3V. A potem przetestuj to po prostu w UNO 5V (jeśli jest wersja 5V).
  11. Użyj biblioteki accelstepper.h (znajdziesz w Google) i tam masz, że podajesz punkt docelowy, w loop po prostu stepper.run() i zatrzyma się sam tam gdzie ma się zatrzymać. Krańcówka to może być dodatkowe zabezpieczenie, powinieneś wiedzieć że zamknięcie to np. 1234 kroki, ale z tą biblioteką po prostu możesz dodać if(cośtam) stepper.run();, gdzie "cośtam" będzie wymodzone z warunku czy kręci się do przodu, to ignoruje krańcówkę z tyłu i vice versa. W Twoim programie używając delay przez 2000x 1000us czyli 2s program ignoruje wszystkie krańcówki.
  12. V3 ma konwerter UART-USB CH340. Jak taki zainstalowałeś i masz inne działające klony Arduino z tym chipem to możesz założyć, że tu jest OK. Druga sprawa to kabel USB/gniazdo na płytce ESP. Czasami niby dobry kabel nie działał, z innym, lepiej dopasowanym, ciaśniejszym wszystko było OK. W jednej musiałem pociągnąć lutownicą po lutach, pewnie coś było tu nie halo.
  13. Musisz dokładnie wiedzieć ile danych jest wysyłanych i w jakim formacie, jak jest oznaczony początek i koniec transmisji, czy ewentualnie ilość przesłanych bajtów jest stała. Bierzesz przykład z Arduino IDE Serial Event, gdy następuje początek transmisji łapiesz bajty do tablicy, gdy jest ich tyle ile trzeba ustawiasz flagę, że ramka kompletna, w loop masz polecenie if(flaga==1) funkcjaKtoraCosZTymZrobi(); - sprawdzasz czy zebrane dane w ogóle mają jakiś sens, napełniasz swoje zmienne. Wszystko sprowadza się do lepszego poznania zarówno tej aplikacji w Androidzie jak i Arduino.
  14. Zmierz napięcia na pinach 5V i 3.3V czy wszystko jest od tej strony w porządku. Dobrze jest mieć jakiś programator i sprawdzić czy procesor jeszcze żyje. A jak tak sobie po prostu padło to masz ten luksus, że kupiłeś w PL i masz gwarancję.
  15. Dowiesz się jak zmontujesz. Ostatnio bawiłem się NRF i jedno Arduino NANO nie chce się programować jeśli mam podłączony moduł NRF24, uwaga: przez bootloader i UART, czyli nie ma to związku nawet z SPI, a nie wgrywa dopóki na czas programowania nie odłączę tego NRF24l01. W drugim układzie nie ma problemu (NRF ustawiony stale tylko na odbiór). Możesz dodać rezystory 1k na liniach SPI do NRF (sprawdź wcześniej czy to nie zaszkodzi komunikacji), a wtedy sygnały z programatora będą miały "większą siłę przebicia". Podłączyłem do swojego układu na stykówce z NANO+NRF24 (jako odbiornik) programator USBASP i bez problemu odczytałem zawartość flash, także "u mnie działa".
×
×
  • Utwórz nowe...