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



Teraz jest 23 gru 2024, o 18:17


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 ]
    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 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO