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 10 kwi 2025, o 21:34


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
    Autor Wiadomość
    PostNapisane: 7 lis 2017, o 23:41 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    Witam serdecznie,

    Drodzy, stawiam projekt na atmega328p, wgrywam programatorem usbasp bootloader w środowisko Arduino Ide wybierając płytkę Nano wszystko wgrywa się super.
    Następnie wgrywam przykładowy program BLINK, również działa, ale...
    Ale mogę zrobić to tylko 1 raz... każda kolejna próba wgrania programu kończy się błędem:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Proszę o jakieś wskazówki, dodam iż program wgrywam przez oryginalne Leonardo przez opcje Arduino ISP



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 00:39 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 02 paź 2017
    Posty: 17
    Pomógł: 4

    Miałem identyczny problem, co chwilę trzeba było od nowa bootloader wgrywać. Problemu nie rozwiązałem, nie drążyłem tematu bo wygodniej go ominąć. Ale jestem ciekaw dlaczego wiecznie ten bootloader jest nadpisywany.
    Tutaj masz sposób na ominięcie problemu opisany: https://www.elektroda.pl/rtvforum/topic2500486.html

    W skrócie to wystarczy tylko skorzystać z avrdude-GUI i kliknąć erase przed każdym wgraniem programu przez ArduinoISP.

    _________________
    CodingBlog.pl-Programowanie / elektronika / diy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 08:56 
    Offline
    Użytkownik

    Dołączył(a): 18 lut 2015
    Posty: 164
    Lokalizacja: Koszalin
    Pomógł: 16

    Wygrywasz bootloader do a328p po co? Chyba po to by po jego wgraniu móc programować ją za pomocą TX, RX już bez użycia programatora. Wiec wgraj bootloader i podłącz się przejściówka usb-rs232 do swojej atmegami i wgrywaj wsady tak jak przewiduje to bootloader który czeka na prawidłowe wykorzystanie rs232.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 09:46 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    raczyk napisał(a):
    Wygrywasz bootloader do a328p po co?


    Jestem laikiem. Wgrywam bootloader żeby działało przez Arduino IDE. Dopiero po wgraniu bootloadera udaje sie wgrać program, ale tylko 1 raz. Sprawdze sposob uzytkownika "PlusMinus" aczkolwiek czy ten sposób da się ominąć programowo, żeby dalo się Atmege programowac jak każde Arduino?

    Dlaczego przez Arduino ISP nie da sie wgrać bootloadera tylko przez usbasp? Co mogę mieć nie tak?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 14:18 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    Tak mam jedno, Leonardo podlaczone, ale programuje nim atmege328 do zewnetrznego projektu. Okej, a co w przypadku kiedy wybieram usbasp i Arduino IDE mowi ze błąd weryfikacji? Mimo ze plytka wybrana?
    Na usbasp działa wszystko tylko nie wrzucanie programu z Arduino IDE. Oczywiacie rodzaj programatora tez wybrany odpowiedni. W sterownikach brakow nie ma...

    Teraz ciagle przepinam kable miedzy Arduino IDE -> atmega3288 <- usbasp



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 16:54 
    Offline
    Użytkownik

    Dołączył(a): 18 lut 2015
    Posty: 164
    Lokalizacja: Koszalin
    Pomógł: 16

    Powoli proszę o wyjaśnienie, bo nie wiem czy dobrze rozumiem:
    Posiadasz:
    1. Leonardo
    2. Programator USBasp
    3. Płytkę z m328p-pu - Arduino Nano

    Mając te trzy rzeczy chesz wgrać szkic z programu IDE na swoje Arduino Nano?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 18:33 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    Panowie poukładam teraz wszystko:

    Posiadam:
    1. Arduino Leonardo
    2. Atmega328p
    3. programator USBasp

    Wgrywam na płytkę Leonardo program ArduinoISP, potem ustawiam Programator->ArduinoISP i za pomocą tego próbuję wgrać przykładowego Blinka na Atmege328p która jest podłączona jak w internecie przykazano.
    Za pierwszym razem program przyjmuje i Blink działa, a za każdym kolejnym razem jest błąd taki
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Potem muszę Atmegę podłączyć pod programator USBasp wgrać bootloader przez ArduinoIDE i dopiero wtedy mogę znowu za pomocą ArduinoISP wgrać kolejny raz program, ale znowu tylko 1 raz



    Problemy:
    1. Na Atmegę328 mogę wgrać tylko 1raz program, potem wywala błędy i wgranie bootloadera od nowa załatwia sprawę, ale strasznie męczące i wkurzające
    2 Podobno można wgrywać Programy z Arduino IDE za pomocą USBasp -> pomijając Arduino Leonardo w trybie "Arduino ISP". Tylko u mnie wyskakuje wtedy taki błąd:
    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: 8 lis 2017, o 18:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1033
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Nanowsze wersje arduino mają skopaną obsługę USBASP. Jak chcesz wgrywać przez ten programator to pobierz sobie arduino w wersji 1.6.9 - ta wersja działa bez problemu z USBASP



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 19:23 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    xentis napisał(a):
    Nanowsze wersje arduino mają skopaną obsługę USBASP. Jak chcesz wgrywać przez ten programator to pobierz sobie arduino w wersji 1.6.9 - ta wersja działa bez problemu z USBASP



    Niestety Bootloader przez USBasp idzie od razu, a jak wysyłam program "Blink" to znowu ten sam błąd:

    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: 8 lis 2017, o 19:27 
    Offline
    Użytkownik

    Dołączył(a): 18 lut 2015
    Posty: 164
    Lokalizacja: Koszalin
    Pomógł: 16

    Zrobiłem doświadczenie:
    1. Atmega 328p z kwarcem 16MHz i za pomocą USBasp z Atnel oraz mkAVRCalulator ustawiłem zewnętrzny kwarc i zapisuje Fuse bity.
    2. Uruchamiam IDE 1.6.9 wybieram płytkę Arduino Uno ( Twój m328p z 16Mhz) oraz programator USBasp.
    3. Wybieram szkic BLINK i podłączam LED na pinie 19 (PB5) przez rezystor do GND.
    4. Wybieram szkic - wgraj używając programatora.

    Szkic się wgrał i dioda działa.

    Następie:
    5. Wybieram kolejny szkic Fade.
    6. Musze led przełożyć do PWM 9 czyli pin 15 (PB1) przez rezystor do GND.
    7. Wybieram szkic - wgraj używając programatora. I znów działa.

    Działa zawsze, próbowałem mnóstwo razy.

    USBasp te Atnelowskie pięknie działa i programuje m328p z 16Mhz (arduino UNO) w IDE za każdym razem.

    Natomiast czymś całkiem innym jest bootloader, który tutaj jest nie potrzebny, ponieważ ma on umożliwiać programowanie przez UART tak jak pisałem wcześniej RX,TX a Ty raczej nie masz przejściówki UART-USB. Również czym innym jest programator Arduino ISP, który jest programatorem Atmel STK500 i jeśli chcesz go stosować to także nie potrzeba w nim bootloadera.



    Ostatnio edytowano 8 lis 2017, o 19:44 przez raczyk, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 19:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1033
    Lokalizacja: Trójmiasto
    Pomógł: 190

    A jak wgrywasz? Klikając ikonę strzałki czy wybierając menu szkic > wgraj używając programatora?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 19:29 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    A port COM dobry wybrałeś? U Ciebie krzyczy, że nie widzi COM5.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 19:50 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    Dziękuje wszystkim, zmiana IDE oraz
    xentis napisał(a):
    A jak wgrywasz? Klikając ikonę strzałki czy wybierając menu szkic > wgraj używając programatora?

    Pomogło! mogę przez USBasp wgrywać ile chce o to chodziło! Dziękuję :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 12:29 
    Offline
    Nowy

    Dołączył(a): 07 lis 2017
    Posty: 9
    Pomógł: 0

    Panowie, jak mogę odebrać sygnał Uart z Atmega328?
    Czy da sie podpiąć pod Leonardo i "odsłuchać" w Arduino Ide co wyświetla?

    RX i TX podlaczylem pod takie same wyjścia z Leonardo, podłączyłem mase, aby byla wspólna, prędkość na 9600 bo taa mam w programie na atmedze i mimo to cisza. Ten sam proprogram na Leonardo dziala dobrze i przesyła. Z góry dziękuję za nakierowanie mnie :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 12:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    Podłączyłeś Rx i Tx ze swojego procka równolegle z pinami procka na leonardo? Przecież to nie zadziała. Nie wiem, jak jest w leonardo, ale tam chyba jest tylko jeden procek, który ma obsługę USB.
    W innych arduino (np. w UNO) masz procek główny, na który piszesz program i drugi układ (procek lub CH340), który działa tylko jako przejściówka USB<=>UART. I wtedy tam się możesz podpiąć, chociaż nie bezpośrednio.
    Możesz wykorzystać też przejściówkę USB<=>UART. Polecam http://atnel.pl/atb-usb-rs232.html
    Możesz też napisać program na arduino leonardo, który będzie działał jak przejściówka USB<=>UART



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

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