Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 19 maja 2025, o 13:25


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
    Autor Wiadomość
    PostNapisane: 4 lut 2014, o 17:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Hej wszystkim,
    z okazji pierwszego wpisu na forum witam wszystkich forumowiczów!
    Jestem Wojtek:)

    Nie ukrywam, że nurtujący mnie problem próbowałem rozwiązać na innym forum, jednak nie udało się uzyskać odpowiedzi.

    Do rzeczy.
    Nabyłem moduł BTM-222 z zamiarem sterowania arduino Leonardo za pośrednictwem BT.
    Z arduino w wersji leonardo są problemy z wykorzystaniem pinów TX i RX do komunikacji z modułem, ten problem udało mi się rozwiązać, a całość opisałem w "monologu" pod linkiem: http://www.elektroda.pl/rtvforum/topic2736897.html#13198360

    Uczę się pisać aplikacje na Androida, jednak na początku skorzystałem z aplikacji ArduDroid opisanej w tym projekcie:
    http://www.instructables.com/id/Andruino-A-Simple-2-Way-Bluetooth-based-Android-C/#step0

    Zlutowałem drobny układ do sterowania taśmą RGB, a suwakami z aplikacji mogę sterować kolorem taśmy i to wszystko działa jednak bardzo nierówno. Czasami zmiana następuje natychmiast, a czasami ma sekundowe lub dłuższe opóźnienie.

    Czy zastosowanie biblioteki <SoftwareSerial.h> do zmiany fabrycznego seriala na przeze mnie zdefiniowane piny może powodować te opóźnienia?
    Czy macie jakieś doświadczenia z tym modułem? Może on tak po prostu już ma.

    Chciałem sprawdzić czy po zaprogramowaniu oddzielnego uC i podpięciu tx i rx bezpośrednio do niego sytuacja się poprawi, jednak nie mogę skorzystać z Leonardo do jego zaprogramowania zgodnie z tym wpisem: http://arduino.cc/en/Tutorial/ArduinoToBreadboard
    A programator dopiero zamówiłem.

    Próbowałem zmieniać prędkości i zwróciłem uwagę na to czy są dobrze ustawione.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lut 2014, o 00:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Coś bardzo podobnego będę robił :)

    Obstawiam ze nie ustawiłeś szybkości transmisji modułu BT oraz w kodzie szybkosci UART-A :)

    pokaż kod :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lut 2014, o 09:07 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    A dlaczego soft serial a nie sprzętowy?

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lut 2014, o 11:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Xor w leonardo sprzętowy nie zadziała, całość opisałem tu:
    http://www.elektroda.pl/rtvforum/topic2736897.html#13198360

    Czytałem, że soft serial jest mniej wydajny jednak nie mam doświadczenia aby stwierdzić, czy na tyle mniej że jest powodem lagów.

    Mam nadzieję, że dziś przyjdzie programator i będę mógł na czystą Atmege wgrać kod i podłączyć do sprzętowego seriala.


    Stachu
    Opcja bardzo fajna polecam, u mnie na początku za telewizorem wisiało, a teraz wiem, że będzie to elementem mojego projekciku zabudowy tabletu w samochodzie i kto wie może podświetlenia podsufitki w mieszkaniu, gdzieś gdzie ją zrobię:)

    Prosiłeś o kod, daję poniżej.
    Jednak prędkości ustawiałem dobre i w module i w kodzie, choć może ja już "za blisko tego stoję" aby oczywiste rzeczy zauważyć, jak uda się wszystko rozwiązać na pewno napiszę mini poradnik jak to wykonać.
    Dla jasności całość działa i jest w pełni użytkowa, jednak ciekawi mnie niezmiernie taki stan rzeczy.

    Pisze apkę na andka i docelowo całość będzie miała możliwość zapamiętania ustawionego koloru i może jakieś zaprogramowane sekwencje dla relaksu;)

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
      Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lut 2014, o 12:05 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    dudinr1 napisał(a):
    Xor w leonardo sprzętowy nie zadziała, całość opisałem tu:http://www.elektroda.pl/rtvforum/topic2736897.html#13198360


    Ja tam nic nie widzę, oprócz tego że masz jakiś problem z soft serialem właśnie.
    Tu z kolei też nic nie widzę o rzekomych kwasach z hardwarowym serialem: http://arduino.cc/en/Main/ArduinoBoardLeonardo. Piszą jedynie, że trzeba zastosować klasę Serial1 bo Serial jest do USB. Szybka przegrzebka googla też nie wykazała, żeby ktokolwiek miał z tym problem. Więc?

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lut 2014, o 12:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Właśnie dlatego, że w google mało było na ten temat trochę mi zajęło znalezienie rozwiązania.
    Na dwóch forach nie dostałem żadnej odpowiedzi w temacie seriala, jedyny odzew to punkty jakie otrzymałem od użytkowników elektrody i mail, PW że pomogło.
    Tu dopiero jakaś dyskusja się nawiązała.
    Uzasadnień małej ilości wzmianek na ten temat może być parę, może mało osób ma Leonardo, może ktoś miał większe doświadczenie np z mega i zastosowanie klasy było dla takich użytkowników oczywiste i po prostu nie trafiali na takie tematy... Nie wiem

    Sprawdzę to o czym wspomniałeś, mianowicie o klasie Serial1.
    Możliwe, że siedzieli nad tym i edytowali wpis podając rozwiązanie, nie przypominam sobie abym wcześniej widział to w tej nocie.

    Dam znać.

    Edit:
    Teraz mam olbrzymie podejrzenie graniczące z pewnością, że zmienili.
    Wcześniej była jak wół informacja, że softwareserial można postawić na pinach 2 i 3, a teraz jest napisane jak poniżej:
    Cytuj:
    Not all pins on the Leonardo support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).


    W samym wpisie na blogu poruszającym ten temat jest informacja:
    Cytuj:
    Also I believe the Leo page is just wrong when it says pins 2 & 3 support pin change interrupts (I think this was copied from Uno but it is incorrect, the only (exposed) pins are D8 D9 D10 and D11 that support PCINT according to the ATMEL datasheet (and these are PCINT 4-7 not the ones in the interrupt mapping table AFAICT).


    Powyższe skłania mnie do myślenia, że nie jestem gamoniem tylko informacji o klasie Serial1 po prostu nie było i została dodana, tak samo jak informacja o pinach jakie można w Softwareserial zaprząc do pracy jako Rx:)
    Co nie zmienia faktu, że dziękuję za naprowadzenie.
    Prawdopodobnie trochę czasu by minęło zanim znowu zajrzałbym do noty.

    W domu to sprawdzę i napiszę czy coś się zmieniło.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lut 2014, o 17:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Zmiana klasy na Serial1 pozwoliło wykorzystać sprzętowe piny Tx i Rx.
    Moje odczucia odnośnie lagów nie są jednoznaczne, opóźnienia pozostały jednak wszystko wydaje się działać płynniej.

    Zgram teraz całość na Atmega328 8Mhz i podzielę się wrażeniami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 kwi 2014, o 22:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 26
    Pomógł: 0

    Wszystko działa bardzo ładnie do tej pory, wykorzystałem diody do podświetlania wyświetlacza komputera pokładowego w mojej Astrze.

    Mam problem z pamięcią EEPROM, mianowicie chciałbym aby w jakiś sposób można było zapamiętać kolor aby przy kolejnym uruchomieniu Arduino wczytał się. Teraz za każdym razem startuje od 0,0,0. Wiem, że można to zdefiniować na stałe.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO