Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowanie Atmega8 lub Atmega328 diody led

DJ_Zientek 12 Sie 2017 10:57 573 25
  • #1 12 Sie 2017 10:57
    DJ_Zientek
    Poziom 10  

    Witam

    Na wstępie napiszę że jestem zielony w programowaniu procesorów AVR dla tego proszę o pomoc

    W posiadaniu mam programator USBASP, płytkę stykową, kabelki itd no i program BASCOM AVR

    Potrzebuję program do koguta led na 8 diod

    Takowy program testowałem na Arduino UNO i działał, kod poniżej:

    Kod: Bascom
    Zaloguj się, aby zobaczyć kod


    Proszę o pomoc w napisaniu i uruchomieniu takiego programu bezpośrednio na atmedze w programie bascom avr, próbowałem już przenosić projekt, wgrywać botloadery itd ale żaden nie wypalił pozdrawiam i czekam na pomoc

  • #2 12 Sie 2017 11:40
    R-MIK
    Poziom 36  

    Skoro masz działający program w C to po co cofać się "do tyłu" i pisać w Bascom? Skoro jednak jesteś masochistą to

    Kod: c
    Zaloguj się, aby zobaczyć kod

    zatąp przez:
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Oczywiście zamieniając pind1 itp na odpowiednie.

    Wyłączanie led z:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    na:
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Po prostu ręczna robótka cię czeka. Można by ułatwić sobie życie #define. Bascom jakkolwiek nie jest godzin polecenia to ma bardzo dobry help. Poczytaj go.


    PS
    Naucz się używać syntax dla kodu.

  • #4 12 Sie 2017 12:34
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    tak to ma wyglądać: ?

    Config Pind.1 = Output ' pinMode(1, OUTPUT);
    Config Pind.2 = Output ' pinMode(2, OUTPUT);
    Config Pind.3 = Output ' pinMode(3, OUTPUT);
    Config Pind.4 = Output ' pinMode(4, OUTPUT);
    Config Pind.5 = Output ' pinMode(5, OUTPUT);
    Config Pind.6 = Output ' pinMode(6, OUTPUT);
    Config Pind.7 = Output ' pinMode(7, OUTPUT);
    Config Pind.8 = Output ' pinMode(8, OUTPUT);


    Reset Portd.1 'digitalWrite(1, LOW)
    Reset Portd.2 'digitalWrite(2, LOW)
    Reset Portd.3 'digitalWrite(3, LOW)
    Reset Portd.4 'digitalWrite(4, LOW)
    Reset Portd.5 'digitalWrite(5, LOW)
    Reset Portd.6 'digitalWrite(6, LOW)
    Reset Portd.7 'digitalWrite(7, LOW)
    Reset Portd.8 'digitalWrite(8, LOW)

    Prawie, bo nie ma Portd.8 czy Pind.8. Porty sa numerowane od 0.
    W dokumentacji Arduino musisz sprawdzić jaki port to pin 1, jaki pin 2 itd. Pin 3 w Arduino może byc np PORTA.0, pin 4 to np PORTB.2.

    W Bascom musisz zadeklarować typ procesora i jego zegar. Naturalnie odpowiednio ustawic bity konfiguracyjne. W Przypadku Arduino IDE robi to na podstawie typu płytki Arduino (UNO, NANO itp).

  • #5 14 Sie 2017 16:52
    emarcus
    Poziom 34  

    DJ_Zientek napisał:
    tak to ma wyglądać: ?


    Nie bardzo wiem co to jest 'Kogut' , ale wydaje mi się że to ma byc jakiś migacz (?)
    Wytestuj ten przykład, albo sprecyzuj dokladniej jaki efekt świetlny masz na celu do osiągnięcia:

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Taki lub podobny efekt możesz osiągnąc stosując ATtiny 13 (8-pin) , który w łatwy sposób pozwala wysterowac niezależnie /(pojedynczo) nawet 20 diod bez stosowania dodatkowego osprzętu zachowując nie zmieniony pin 'Reset', potrzebny podczas programowania.
    Znajdziesz też w internecie bardzo dużą ilośc przykładów; bądź gotowych, albo podobnych, tworzonych pod różne platformy:

    Bascom - Basic,
    Atmel Studio -C,
    czy też Arduino.
    Szukaj pod hasłem : 'knight rider' .

    e marcus

  • #6 14 Sie 2017 17:28
    R-MIK
    Poziom 36  

    emarcus napisał:
    DJ_Zientek napisał:
    tak to ma wyglądać: ?


    Nie bardzo wiem co to jest 'Kogut' ,

    Może to:
    Programowanie Atmega8 lub Atmega328 diody led
    Jak z Czernobyla, to może i jajka znosi a jak znosi to pewnie świecą :-)

    emarcus napisał:

    Taki lub podobny efekt możesz osiągnąc stosując ATtiny 13 (8-pin) , który w

    Na AtTiny85 (też 8 pin) i WS2812 to blisko 100 obsłuży każda w innej barwie a jeszcze 4 (5) wyprowadzeń zostanie.

  • #7 14 Sie 2017 19:31
    DJ_Zientek
    Poziom 10  

    Dzięki za odpowiedzi, ma to być kogut ostrzegawczy pomarańczowy, sterowanie na 8 diod żeby był efekt kręcenia się, i właśnie o to mi chodzi żeby napisać taki program do Atmegi8 lub atmegi328, kogut będzie zasilany ogniwami Li-Ion, chodzi głównie o bezprzewodowy żeby był, mam sporo obudów po starych kogutach z których wymontowałem już silniczki i odblaski, proszę o pomoc w napisaniu i wgraniu takiego programu poprzez USBASP, pozdrawiam

  • #8 14 Sie 2017 20:39
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    proszę o pomoc w napisaniu i wgraniu takiego programu poprzez USBASP, pozdrawiam

    Czegoś nie kapuję. Masz działający kod na Arduino więc w czym problem? Jak pamiętam Arduino obsługuje USBASP.

  • #9 14 Sie 2017 22:33
    DJ_Zientek
    Poziom 10  

    R-MIK napisał:
    DJ_Zientek napisał:
    proszę o pomoc w napisaniu i wgraniu takiego programu poprzez USBASP, pozdrawiam

    Czegoś nie kapuję. Masz działający kod na Arduino więc w czym problem? Jak pamiętam Arduino obsługuje USBASP.


    Próbowałem wgrywać jakieś botloadery itd. ale nic nie wychodzi, potrzebuje to w układzie atmel

  • #10 14 Sie 2017 23:44
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:

    Próbowałem wgrywać jakieś botloadery itd. ale nic nie wychodzi, potrzebuje to w układzie atmel


    Cytuję:
    DJ_Zientek napisał:
    Takowy program testowałem na Arduino UNO i działał, kod poniżej:

    O Arduino UNO:
    Cytat:
    Arduino Uno Rev3
    Popularny moduł z mikrokontrolerem AVR ATmega328 w wymiennej obudowie (...)

    O co więc chodzi, bo naprawdę nie wiem.
    Czy to taki wielki problem, program uruchomiony na procku w Arduino skopiować przy użyciu USBASP na inny procek?

  • #11 15 Sie 2017 08:51
    DJ_Zientek
    Poziom 10  

    Witam, tak na arduino UNO działa, ale moa wersja jest z Atmelem328 SMD, wczoraj znalazłem jakieś strony co niby można przenieść program z arduino na atmelage ale niestety nic nie działa, może ktoś z forumowiczów ma jakieś sensowne rozwiązanie, instrukcję dla zielonych, pozdrawiam

    PS. Używałem opcji szukaj jak również wujka Google i niestety wszystko co sprawdziłem i przetestowałem nie śmiga

  • #12 15 Sie 2017 09:19
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    Witam, tak na arduino UNO działa, ale moa wersja jest z Atmelem328 SMD, wczoraj znalazłem jakieś strony co niby można przenieść program z arduino na atmelage ale niestety nic nie działa,

    Masz różne rozwiązania rozwiązania:
    - Podłączyć programator do swojego Arduino, odczytać program i bity konfiguracyjne dowolnym programatorem i programem.
    - Przejrzyj informacje generowane w oknie kompilacji Arduino. Znajdziesz tam ścieżkę dostępu do wyników kompilacji.
    Teraz pozostaje podłączyć programator do procka, który chcesz zaprogramować.

    - kup Arduino z prockiem w podstawce DIP. Tu już nie musze pisać chyba co należy zrobić.

    Czy programując Arduino używasz programatora czy bootloadera?

  • #13 15 Sie 2017 12:33
    DJ_Zientek
    Poziom 10  

    Proszę o instrukcję wgrania takiego programu bo już próbowałem wszystkiego i nic nie idzie, jeżeli nikt nie jest w stanie mi pomóc to proszę napisać i zamykamy temat

  • #14 15 Sie 2017 12:41
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    Proszę o instrukcję wgrania takiego programu bo już próbowałem wszystkiego i nic nie idzie

    Proszę opisać te wszystkie próby, bo na razie to nie wiadomo co, z czym i jak. Zadałem proste pytanie:
    Cytat:
    Czy programując Arduino używasz programatora czy bootloadera?

    Odpowiedzi nie dostałem. Z tymi informacjami co mam o tym problemie to mogę polecić tylko to . Tanio, szybko, skutecznie.

  • #15 15 Sie 2017 12:45
    DJ_Zientek
    Poziom 10  

    Próbowałem wgrać po przez USBASP, arduino + USBASP, Wgrać botloader poprzez arduino, wgrać botloader poprzez USBASP, nic nie wychodzi, nic totalna porażka program działa tylko ak wgram go do Arduino UNO, jeżeli ktoś może to niech napisze jak to wgrać krok po kroku bo naprawdę jestem zielony a te wszystkie instrukcje w internecie zawodzą

  • #16 15 Sie 2017 12:57
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    Próbowałem wgrać po przez USBASP, arduino + USBASP, Wgrać botloader poprzez arduino, wgrać botloader poprzez USBASP, nic nie wychodzi,

    Co oznacza to nic?
    - programator nie jest widziany przez soft na kompie?
    - program się nie wygrywa?
    - program się wgrywa, weryfikacja poprawna a sie nie wykonuje?

    Jak na razie precyzja wypowiedzi jest mniej-więcej taka:
    samochód nie działa, nie można nim jeździć.
    Po 3 godzinnym wyciąganiu informacji okazuje się, że spalona jest żarówka kierunkowskazów.

  • #17 15 Sie 2017 13:03
    DJ_Zientek
    Poziom 10  

    R-MIK napisał:
    DJ_Zientek napisał:
    Próbowałem wgrać po przez USBASP, arduino + USBASP, Wgrać botloader poprzez arduino, wgrać botloader poprzez USBASP, nic nie wychodzi,

    Co oznacza to nic?
    - programator nie jest widziany przez soft na kompie?
    - program się nie wygrywa?
    - program się wgrywa, weryfikacja poprawna a sie nie wykonuje?

    Jak na razie precyzja wypowiedzi jest mniej-więcej taka:
    samochód nie działa, nie można nim jeździć.
    Po 3 godzinnym wyciąganiu informacji okazuje się, że spalona jest żarówka kierunkowskazów.


    Programator ma zainstalowane sterowniki pod windowsem 7 bo BASCOM-AVR go widzi

    Arduino wersja 1.6.13 nie mam pojęcia czy widzi USBASP bo nie mogę tego sprawdzić bo nie wiem gdzie, z Arduino UNO się komunikuje

    Arduino wgrywa kompilacje do ArduinoUNO

    Potrzebuje przerobiony program w .hex żeby wgrać go przez bascoma i usbasp do atmela, czy jest ktoś w stanie taki program napisać?

  • #18 15 Sie 2017 13:11
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:

    Arduino wersja 1.6.13 nie mam pojęcia czy widzi USBASP bo nie mogę tego sprawdzić bo nie wiem gdzie

    Naprawdę ciężko pomóc jak nie wiesz gdzie sprawdzić tak banalną rzecz. Takie informacje pojawiają się w okienku kompilacji. Poczytaj podstawowe kursy Arduino.

    DJ_Zientek napisał:

    Potrzebuje przerobiony program w .hex

    Pisałem jak można dowiedzieć się gdzie znajduje się plik Hex. Nawet jak nie ustawisz bitów konfiguracyjnych i procek wystartuje na wewnętrznym RC z podzielnikiem 8, to program zadziała tyle, ze wolniej. Wystarczy więc później przestawić bity.

    Dodano po 1 [minuty]:

    DJ_Zientek napisał:
    czy jest ktoś w stanie taki program napisać?

    Setki osób, pytanie jakie wynagrodzenie?

  • #19 15 Sie 2017 13:23
    DJ_Zientek
    Poziom 10  

    znalazłem plik .hex

    ale bascom wywala mi komunikat :

    Detected micro atmaga8a does not match the selected micro AT90S2313

    gdzie przed wgraniem zmienić procesor

    <ciach>

    Moderowany przez dondu:

    Nie tolerujemy wulgaryzmów w żadnej postaci.
    To pierwsze ostrzeżenie, więc tylko na 30 dni.
    3.1.6. Rozpowszechnianie treści sprzecznych z zasadami współżycia społecznego oraz dobrymi obyczajami

  • #20 15 Sie 2017 14:13
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:

    gdzie przed wgraniem zmienić procesor

    Czytałeś help Bascoma?
    Nie!

    Pewnie chcesz instrukcje krok po kroku, ok, napiszę:
    - włącza zasilanie komputera
    - zainstaluj system
    - zainstaluj Bascom
    Pisać dalej? A może bardziej szczegółowo?

  • #22 15 Sie 2017 14:17
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    ustawione wszystko jak trzeba, program wgrany i nadal nie dziala

    Pokaż ustawienie fuses w Mega, który programujesz.

  • #24 15 Sie 2017 14:52
    R-MIK
    Poziom 36  

    DJ_Zientek napisał:
    gdzie to znaleźć ?

    Jak bym szukał w programie, którym wgrywałem soft do procka. Bascom ma dobry help, wystarczy przeczytać.

  • #26 15 Sie 2017 17:02
    R-MIK
    Poziom 36  

    W fuses nic niepokojącego nie znalazłem. Pozostaje plik programu. Skoro programujesz Arduino przez USBASP, to tak samo możesz zaprogramować swój procek. Próbowałeś tak?
    Inna opcja, odczytaj z Arduino program przy użyciu USBASP i wgraj to co odczytasz do swojego procka.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME