Skocz do zawartości

kaczakat

Użytkownicy
  • Zawartość

    302
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    5

kaczakat wygrał w ostatnim dniu 23 kwietnia 2019

kaczakat ma najbardziej lubianą zawartość!

Reputacja

97 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. Najlepiej podaj dokładnie co masz, gdzie kupiłeś. Ledy programowalne niekoniecznie muszą mieć 3 pola, jest nowy typ z bypassem i ma 4 pola, a 5V sugeruje raczej właśnie te programowalne.
  2. HC-05 podłączasz do komputera i komendami AT sprawdzasz jak jest skonfigurowany. Np. może być ustawiony w tryb master i nikt go nie zobaczy, bo czeka na komendy AT do inicjalizacji połączenia ze SLAVE. Choć oczywiście typowo przylatują ustawione na SLAVE 9600b. Podłącz sobie go do konwertera UART-USB, zasilanie, GND, TX i RX na krzyż, wciśnij przycisk, podłącz do portu USB by zasilić, po chwili puść przycisk, powinien być w trybie komend AT na prędkości 38400b, podłącz się terminalem Arduino, ustaw taką prędkość i wyślij AT, zobacz czy odpowie OK. Potem PDF tego modułu do ręki i ustaw sobie tak jak chcesz.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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
  8. 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.
  9. 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ę $.
  10. 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.
  11. 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.
  12. 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).
  13. 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.
  14. 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.
  15. 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.
×
×
  • Utwórz nowe...