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 20 maja 2025, o 23:44


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
    Autor Wiadomość
    PostNapisane: 19 maja 2014, o 13:33 
    Offline
    Nowy

    Dołączył(a): 19 maja 2014
    Posty: 5
    Pomógł: 0

    Alo

    Posiadam płytkę "gotową zmontowaną" i posiadam kod, "gotowy przetestowany".

    Jedyny problem jest taki, że płytka jest od innego urządzenia i nie pasują trzy piny.

    Płytka to jest moduł eleres / orangelrs (czyli 328p+rmf22b) a kod to multiwii.

    I teraz mam problem, bo nie potrafię "przekierować" portów od obsługi rmf22b do właściwych pinow.

    Jest tak ze na płytce piny Atmegi nr: 23,24,25 idą do SDO,SDI,SCLK modułu RFM (piny 10,11,12 na RFM22) a chciałbym żeby przypisać
    RFM22 <-> Atmega
    10 (SDO) pin11 (zamiast 23)
    11 (SDI) pin 10 (zamiast 24)
    12 (SCLK) pin 9 (zamiast 25)


    I kawałek kodu który to obsługuje (tak mi się przynajmniej wydaje ;-) )

    #if defined(PROMINI)
    // For 328p Boards ( UNTESTED! )
    #define nSEL_on PORTD |= 0x10 // pin12 ROLL
    #define nSEL_off PORTD &= ~0x10
    #define SCK_on PORTD |= 0x20 // pin13 PITCH
    #define SCK_off PORTD &= ~0x20
    #define SDI_on PORTD |= 0x40 // pin14 YAW
    #define SDI_off PORTD &= ~0x40
    #define SDO_1 (PIND & 0x80) == 0x80 // pin15 AUX1
    #define SDO_0 (PIND & 0x80) == 0x00
    #define IRQ_0 (PIND & 0x04) == 0 // pin10 THROTTLE
    #define IRQ_PIN_MASK0 0b00001111;
    #define IRQ_PIN_MASK1 0b00000100;
    #define RED_LED_ON LEDPIN_ON
    #define GREEN_LED_ON LEDPIN_ON
    #endif


    Da radę to jakoś zrobić?
    Pzdr MZ



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2014, o 17:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 cze 2013
    Posty: 988
    Lokalizacja: Byram, MS 39272
    Pomógł: 55

    Mówiąc 23, 24, 25 masz na myśli PC0, PC1, PC2?

    Rozszyfruj numerki, których używasz i podziel na poszczególne elementy. Będzie łatwiej Tobie pomóc.

    _________________
    Pomysły na podpis - wyślij SMSa +1 769 243 0011



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2014, o 18:21 
    Offline
    Użytkownik

    Dołączył(a): 22 lut 2014
    Posty: 205
    Lokalizacja: Poznań
    Pomógł: 22

    Narysuj schemat jak chcesz mieć to podłączone. Użyj w obrębie kodu znacznika sytnax.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2014, o 20:55 
    Offline
    Nowy

    Dołączył(a): 19 maja 2014
    Posty: 5
    Pomógł: 0

    Ok.

    Mam jedynie pdf y za schematami I postaram sie coś z nimi zrobić.

    A tak prosto to chcialbym zrozumiec jak w kodzie zamienić przypisana do wyprowadzenia  atmegi 328p z pinu nr 23 zamieniamy na 11.
    24 na 10 i 25 na 9.


    Bo mogę sobie to zrobić metoda cięcia i lutowania, (i wtedy działa) ale w kodzie lepiej i nie tracę możliwości wgrania pierwotnej aplikacji.

    Tak swoją droga, jeżeli problem bedzie wymagał ciut dłuższego popatrzenia, to chętnie zapłacę za poprawkę zamiast robić doktorat z ardu :-))


    Pzdr MZ

    ------------------------ [ Dodano po: 1 minucie ]

    Ok.

    Mam jedynie pdf y za schematami I postaram sie coś z nimi zrobić.

    A tak prosto to chcialbym zrozumiec jak w kodzie zamienić przypisana do wyprowadzenia  atmegi 328p z pinu nr 23 zamieniamy na 11.
    24 na 10 i 25 na 9.


    Bo mogę sobie to zrobić metoda cięcia i lutowania, (i wtedy działa) ale w kodzie lepiej i nie tracę możliwości wgrania pierwotnej aplikacji.

    Tak swoją droga, jeżeli problem bedzie wymagał ciut dłuższego popatrzenia, to chętnie zapłacę za poprawkę zamiast robić doktorat z ardu :-))


    Pzdr MZ



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2014, o 21:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 cze 2013
    Posty: 988
    Lokalizacja: Byram, MS 39272
    Pomógł: 55

    Dziwny ten kod. Nóżki 23-25 to PORTC, a w kodzie masz PORTD. Chyba, że ja mam inny schemat atmegi niż wszyscy :)

    _________________
    Pomysły na podpis - wyślij SMSa +1 769 243 0011



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2014, o 22:38 
    Offline
    Użytkownik

    Dołączył(a): 22 lut 2014
    Posty: 205
    Lokalizacja: Poznań
    Pomógł: 22

    Kod przerobiony. Przerabiając go użyłem swoich zdolności jasnowidza mam nadzieje, że moja szklana kula ukazała to czego chcesz. Jeśli dasz schemat to powiem Ci czy dobrze przerobiłem kod.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2014, o 09:10 
    Offline
    Nowy

    Dołączył(a): 20 maja 2014
    Posty: 2
    Pomógł: 0

    Kolega mcexperts trochę to zagmatwał.

    Fragment kodu napisany w Arduino który podał:
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    odnosi się do takich połączeń:
    Obrazek
    Czyli aby kod działał na jego płytce musiałby przerobić fizyczne połączenia, czyli wykonać:
    RFM22 -----> Atmega
    10 (SDO) ___ pin11 (PD7)
    11 (SDI) ____ pin 10(PD6)
    12 (SCLK) ___ pin 9 (PD5)
    A tego chce uniknąć.


    Natomiast kolega chce ten kod przystosować do płytki która ma połączenia jak poniżej:
    Obrazek

    Czyli faktycznie posiada płytkę na której fizyczne połączenia są takie że:
    piny Atmegi nr: 23,24,25 idą do SDO,SDI,SCLK modułu RFM (piny 10,11,12 na RFM22)
    i do takich połączeń chce przystosować ten kod.
    Komentarze w kodzie są mylące i proszę ich nie brać pod uwagę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2014, o 09:38 
    Offline
    Nowy

    Dołączył(a): 19 maja 2014
    Posty: 5
    Pomógł: 0

    Alo.

    Bardzo dziekuje koledze za obrazki i wyjaśnienia.
    Czy te schematy są ok?

    MZ



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2014, o 10:00 
    Offline
    Nowy

    Dołączył(a): 20 maja 2014
    Posty: 2
    Pomógł: 0

    Wg mnie są ok.
    Drugi schemat możesz sobie sam zweryfikować - przedzwoń miernikiem płytkę którą posiadasz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2014, o 12:31 
    Offline
    Użytkownik

    Dołączył(a): 22 lut 2014
    Posty: 205
    Lokalizacja: Poznań
    Pomógł: 22

    Zgodnie z drugim schematem:

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2014, o 15:02 
    Offline
    Nowy

    Dołączył(a): 19 maja 2014
    Posty: 5
    Pomógł: 0

    Alo.

    Niestety wypluwa bledy, ale z telefonu nie wkleje.

    romek_by.republika.pl/MK/MultiWii_2_27b2_PLANE_328_TEST_MIS.zip

    Oryginalny soft do poprawki to ten powyzej.

    Ja jeszcze raz Dziekuje kolegom za poprawki I chetnie zaplace za czas jak ktos by chcial to ogarnąć.

    Pzdr MZ



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2014, o 17:10 
    Offline
    Użytkownik

    Dołączył(a): 22 lut 2014
    Posty: 205
    Lokalizacja: Poznań
    Pomógł: 22

    Ta część kodu odpowiedzialna jest po prostu za przypisanie stanów. Ty musisz jeszcze znaleźć fragment odpowiedzialny za ustawienie kierunku portu/pinu (DDRx lub xxx_PORT x i xxx_PIN x).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2014, o 20:32 
    Offline
    Nowy

    Dołączył(a): 19 maja 2014
    Posty: 5
    Pomógł: 0

    Alo znów.

    Spróbowałem troche poszukać, ale nic nie potrafię - znaczy gogle wskazuje drogę ale dalej jest to robienie doktoratu ;-)

    Zadeklarowałem płytkę nano i odkomentowałem w config.h
    #define ELERES_RX // uncomment for enable eLeReS support

    i mam błędy:

    eLeReS.ino: In function 'void send_8bit_data(uint8_t)':
    eLeReS:447: error: 'PC2' was not declared in this scope
    eLeReS:448: error: 'PC1' was not declared in this scope
    eLeReS:448: error: 'PC1' was not declared in this scope
    eLeReS:452: error: 'PC2' was not declared in this scope
    eLeReS.ino: In function 'uint8_t read_8bit_data()':
    eLeReS:457: error: 'PC2' was not declared in this scope
    eLeReS:463: error: 'PC0' was not declared in this scope
    eLeReS.ino: In function 'void Write8bitcommand(uint8_t)':
    eLeReS:470: error: 'PD4' was not declared in this scope
    eLeReS:471: error: 'PC2' was not declared in this scope
    eLeReS.ino: In function 'uint8_t _spi_read(uint8_t)':
    eLeReS:482: error: 'PD4' was not declared in this scope
    eLeReS.ino: In function 'void _spi_write(uint8_t, uint8_t)':
    eLeReS:490: error: 'PD4' was not declared in this scope


    Im dalej w las tym gorzej ;-)
    Może się znajdzie ktoś kto normalnie za wynagrodzenie zobaczy ten kod? Bo absolutnie nie jestem w stanie tego zrobic samodzielnie.


    Pzdr MZ



    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: 13 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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