Elektroda.pl
Elektroda.pl
X
Szkolenia elektronika Udemy
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR - pierwsze kroki w programowaniu

klimaspawel 01 Gru 2014 13:08 1509 14
  • #1 01 Gru 2014 13:08
    klimaspawel
    Poziom 9  

    Witam wszystkich!
    Zgłaszam się do Was z prośbą o pomoc! Mianowicie chciałbym zacząć przygodę z programowaniem uC, ale nie wiem od czego zacząć. Przekopałem forum jak i wujka gogle, ale nigdzie nie mogłem znaleźć nic od podstaw... Nie katujcie mnie za bardzo, bo naprawdę długo szukałem.
    Zakupiłem płytkę stykową, programator ISP USBasp ATMEL AVR, Mikrokontroler ATTINY2313A-PU DIP-14 oraz atmege328P-PU, zestaw kondensatorów mam również różne rezystory switche ledy itp. itd., ale bardzo chciałbym by ktoś nakierował mnie na dobrą drogę tzn. wskazał jakiś poradnik, najlepiej pdf. Po prostu potrzebuję chętnego, który pomógłby mi zrozumieć podstawy programowania. Na początek chociaż migającą diodę. Naprawdę taki układ to już byłby sukces i na pewno dałby mi motywację do dalszej edukacji oraz pracy nad różnymi projektami z elektroniki nie jestem aż tak strasznie zielony, ale z programowaniem nie miałem nigdy styczności. Posiadam program BASCOM i tym językiem (basic o ile dobrze pamiętam, jak nie to proszę poprawić) chciałbym się posługiwać przynajmniej na początek, bo ponoć jest dobry dla amatorów (?). Proszę, nie katujcie mnie. Po prostu chciałbym nauczyć się czegoś nowego w moim życiu. :) Z góry bardzo dziękuję.

    0 14
  • Szkolenia elektronika Udemy
  • Pomocny post
    #2 01 Gru 2014 13:34
    dondu
    Moderator Mikrokontrolery Projektowanie

    klimaspawel napisał:
    Przekopałem forum jak i wujka gogle ale nigdzie nie mogłem znaleść nic od podstaw.. nie katujcie mnie za bardzo bo na prawdę długo szukałem.

    Wystarczyło wpisać słowo "mikrokontroler" i już na samym początku wyników miałbyś na przykład: http://mikrokontrolery.blogspot.com/p/spis-tresci.html
    a tam wszystko co niezbędne na początek w szczególności dział: Jak zacząć?
    Poczytaj ... wiele się wyjaśni i wtedy zadaj konkretne pytania jeszcze raz :)

    A o BASCOM od razu zapomnij ... dobra rada, a dlaczego dowiesz się pod wskazanym linkiem.


    EDIT.
    Szkoda, że nie kupiłeś ATmega8 - najwięcej materiałów znajdziesz właśnie na ten mikrokontroler.

    0
  • Szkolenia elektronika Udemy
  • Pomocny post
    #3 02 Gru 2014 10:25
    gumiss88
    Poziom 9  

    Trochę wysiłku i wszystko można ;) stronę którą podał kolega wyżej bardzo polecam, sam się uczę dzięki niej, dużo przydatnej wiedzy oraz kursów i materiałów. Polecam również http://hobby.abxyz.bplaced.net/index.php?pid=4 na sam star też dobra strona ( takie podstawy ). Polecam ATmega8, na start wystarczy, naprawdę dużo można dzięki niej zrobić a i również jest bardzo wytrzymała :D. Dokup jeszcze diody oraz rezystory a na sam początek zupełnie wystarczy.

    BASCOM również nie polecam, osobiście używam C ( jak dla mnie jest łatwy, prosty i przejrzysty ) jeśli tylko masz chęci i ochotę do nauki to bardzo polecam ten język.

    0
  • Pomocny post
    #4 02 Gru 2014 23:59
    emarcus
    Poziom 35  

    gumiss88 napisał:
    Trochę wysiłku i wszystko można ;)..........

    BASCOM również nie polecam, osobiście używam C ( jak dla mnie jest łatwy, prosty i przejrzysty ) jeśli tylko masz chęci i ochotę do nauki to bardzo polecam ten język.

    Dokłdnie.....(!???)
    Najlepszym przykładem jest wątek:https://www.elektroda.pl/rtvforum/viewtopic.php?p=14186392#14186392
    problem z którym autor ma kłopoty;
    - pisząc to w Bascom zajęłoby nie więcej niż 10 linijek kodu, a czas pisania programu łącznie z testowaniem w symulatorze nie przekroczy 5 min.

    Należy zacząc od stwierdzenia że BASCOM to NIE jest język (!), jest to Compiler zorientowany pod język BASIC, a właściwie jest określany raczej jako IDE (Integrated Development Environment_) Na polski; mniej/więcej - Zintegrowane Środowisko Programistyczne, zawierające: Edytor, kompilator , symulator oraz Soft programujący, czyli wszystko co potrzeba.
    Język programowania to tylko narzędzia służące do zapisu programu w postaci określonego ciągu umownych sformuowań (kodu); programu który powstał w umyśle programisty, i w następnej kolejności zostaje przekształcony przez kompilator w kod maszynowy zrozumiały dla processora.
    Dla abstrakcji rzucę pytanie: Czy A. Mickiewicz gdyby urodził się np. w Stratfort lub Cambridge (UK) musiałby emigrowac do Polski aby rozpocząc swoją twórczośc, czy byłby tam też twórcą na miarę Szekspira?

    Jeżeli autor tego wątku chce pozostac w tej dziedzinie w roli entuzjasty/amatora-programisty to Bascom mu z pewnością wystarczy na długo. Jeżeli jednak ma inne aspiracje i zechce w przyszłości pozostac "Pro" i zarabiac na życie w tej dziedzinie, to będzie musiał poznac trochę więcej niż 'programowanie AVR w C'.

    e marcus

    0
  • #5 03 Gru 2014 00:08
    dondu
    Moderator Mikrokontrolery Projektowanie

    emarcus napisał:
    Jeżeli autor tego wątku chce pozostac w tej dziedzinie w roli entuzjasty/amatora-programisty to Bascom mu z pewnością wystarczy na długo. Jeżeli jednak ma inne aspiracje i zechce w przyszłości pozostac "Pro" i zarabiac na życie w tej dziedzinie, to będzie musiał poznac trochę więcej niż 'programowanie AVR w C'.

    Pozwól nam jednak pokazywać początkującym inną drogę niż BASCOM, gdyż wielu ludzi nam dziękowało, że przekonaliśmy ich do C otwierając im oczy na świat, którego nie mogli realizować w BASCOM. C nie jest dla pro jak to sugerujesz - jest przeciętnym językiem równie dobrym dla początkujących, lecz pozbawionym ograniczeń BASCOM i w dodatku w pełni darmowy.

    BTW. Może także zrobisz pierwszy krok w tym kierunku? :)

    A dla autora tematu: http://mikrokontrolery.blogspot.com/2011/04/jaki-jezyk-wybrac.html

    0
  • #6 03 Gru 2014 08:11
    klimaspawel
    Poziom 9  

    Witam przepraszam że odzywam się dopiero po paru dniach ale byłem bardzo zapracowany. Widzę że jest spory odzew z Waszej strony bardzo mnie to cieszy szczerze to nie spodziewałem się aż takiego zainteresowania:) wszystkie sugestie wziąłem sobie do serca i czytam strony które podaliście w linkach faktycznie jest tam bardzo dużo informacji i porad co nie zmienia faktu że pewnie nie raz jeszcze będę w tym temacie o coś pytał. Będę uczył się pisać w C dlatego że tak czy siak muszę się uczyć wiec lepiej od razu C:) Jeżeli chodzi i ATmege8 to już ja zamówiłem czekam tylko aż dojdzie:) cala resztę na początek mam. Jeszcze raz Panowie dziękuję za okazaną pomoc! niedługo pewnie napotkam jakąś niezrozumiała czynność i odezwę się w tym wątku.

    0
  • #8 20 Sty 2015 20:57
    klimaspawel
    Poziom 9  

    Witam długo się nie odzywałem ale nie miałem czasu praca.. rodzina:) otóż jednak wybór padł na bascom wygląda jakoś bardziej łopatologicznie dziś probóbowałem wgrać swój pierwszy program polegał on na tym że jak nacisnę przycisk pinb.1
    to diody pind.0 powinna się zaświecić po chwili zgasnąć w tym samym czasie powinna zaświecić się dioda 2 pind.1 po chwili zgasnąć itd aż do diody 4 pind.3 lecz tak się nie dzieje.. program sie wgrywa i ok diody działają tak jak chce ale odrazu bez użycia przycisku. moim celem jest zrobienie układu który ma działać tak: po naciśnięciu przycisku ma zapalić się dioda1 niech świeci np 30s zgasnac zaświeca się dioda2 30s gaśnie zaświeca dioda3 30s gaśnie zaświeca dioda4 30s gaśnie koniec programu aby ponownie diody się zaświecały powinienem nacisnąć przycisk.
    zamieszę tu mój program może jakaś dobra duszka pomoże?

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod




    odrazu mowię ze przycisk jest podcianiety do masy a ledy z uC do VCC. POMOCY:)


    ewentualnie jutro podeślę schemat??

    0
  • #9 20 Sty 2015 21:37
    sp3ots
    Poziom 35  

    Witam !
    Sprawdź jak teraz działa program:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #10 21 Sty 2015 07:39
    yokoon
    Poziom 28  

    dondu napisał:
    emarcus napisał:
    Jeżeli autor tego wątku chce pozostac w tej dziedzinie w roli entuzjasty/amatora-programisty to Bascom mu z pewnością wystarczy na długo. Jeżeli jednak ma inne aspiracje i zechce w przyszłości pozostac "Pro" i zarabiac na życie w tej dziedzinie, to będzie musiał poznac trochę więcej niż 'programowanie AVR w C'.

    Pozwól nam jednak pokazywać początkującym inną drogę niż BASCOM, gdyż wielu ludzi nam dziękowało, że przekonaliśmy ich do C otwierając im oczy na świat, którego nie mogli realizować w BASCOM. C nie jest dla pro jak to sugerujesz - jest przeciętnym językiem równie dobrym dla początkujących, lecz pozbawionym ograniczeń BASCOM i w dodatku w pełni darmowy.

    BTW. Może także zrobisz pierwszy krok w tym kierunku? :)

    A dla autora tematu: http://mikrokontrolery.blogspot.com/2011/04/jaki-jezyk-wybrac.html


    Witam.
    A w jakiej cenie jest literatura (książki) do C ?
    Odpowiedź: od 100 - 200 zł.

    0
  • #11 21 Sty 2015 13:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    yokoon napisał:
    A w jakiej cenie jest literatura (książki) do C ?
    Odpowiedź: od 100 - 200 zł.

    lub za darmo kurs z kompilatorem online: http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html
    do tego masę kursów AVR w sieci np:
    http://mikrokontrolery.blogspot.com/2011/03/drzaskowy-pamietnik-wstep.html
    http://hobby.abxyz.bplaced.net/index.php?pid=4&cid=1

    BTW: eBooki są znacznie tańsze, a jeśli są promocje, to bywają te eBooki o połowę tańsze, a raz w roku (2 stycznia) nawet w cenie 9,90zł :)

    0
  • #12 23 Sty 2015 19:22
    treker
    Poziom 25  

    klimaspawel napisał:
    otóż jednak wybór padł na bascom wygląda jakoś bardziej łopatologicznie dziś probóbowałem wgrać swój pierwszy program


    Szkoda wybierać w tych czasach Bascoma, zdecydowanie lepiej wybrać Arduino.

    dondu napisał:
    BTW: eBooki są znacznie tańsze, a jeśli są promocje, to bywają te eBooki o połowę tańsze, a raz w roku (2 stycznia) nawet w cenie 9,90zł


    2 stycznia był dość dawno, więc kolega pewnie nie da rady skorzystać. Aktualnie w Helionie można kupić wersje papierowe dobrych książek o elektronice i programowaniu z rabatem 25%. Może znajdziesz coś dla siebie. Szczególnie warto zwrócić uwagę np.: na "Język C dla mikrokontrolerów AVR", Tomasza Francuza.

    0
  • #13 26 Sty 2015 10:30
    klimaspawel
    Poziom 9  

    witam Panowie uporałem się z kodem wyglada on teraz tak:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    układ działa tak że po naciśnięciu przycisku zapalane są diody od pierwszej do czwartej co 2 sekundy gdy już wszystkie się zapala świecą 10s po czym zaczynają gasnąć rownież co 2s. wszystko działa ładnie ale teraz pytanie jeżeli np chciałbym zamiast diód led podpiąć przekaźnik co by np zaświecać metrowe odcinki paska ledowego jak to zrobić? próbuje z BC547 ale nie bardzo mi to wychodzi.. korzystam z tego scematu:
    jest on tylko poglądowy bo zamiast silnika jest przekaźnik zabezpieczony dioda 1N4148. co mam źle? może coś w programie? bardzo proszę Was o pomoc moim celem jest zrobienie układu który po naciśnięciu przycisku będzie co 2s załączać kilka przekaźników a po pewnym czasie rozłączać.

    0
  • #14 26 Sty 2015 12:19
    BlueDraco
    Specjalista - Mikrokontrolery

    Do diod świecących na taśmach to raczej małe tranzystory NMOS (TSM2302CX, IRLML6344), a nie przekaźniki.

    0
  • #15 26 Sty 2015 12:49
    klimaspawel
    Poziom 9  

    dobra ale tak czy siak do przekaźnika jeszcze nic nie jest podpięte a i tak nie działa.. coś w programie nie tak? czy podłączenie? przypominam ze jestem amatorem dopiero się uczę.

    0