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

Czy możecie doradzić co kupić dziecku do nauki programowania ?

aren 22 Maj 2014 14:11 2187 18
  • #1 22 Maj 2014 14:11
    aren
    Poziom 28  

    Witajcie.

    Chciałem się Was poradzić. Chcę kupić chrześniakowi jakiś "zestaw" do nauki programowania. Ja się kompletnie na tym nie znam - ale może on mnie czegoś później nauczy :)

    W szufladzie mam zdobyczne ATMEGA8. Nie wiem czy na początek nie są za "skoplikowane". Dlaczego do Was pytanie. Jaki programator mam kupic (czy ten USBASP za 20 zł jest dobry) , jakie mikrokontrolery kupić (może jakieś Attiny13), jaki program do pisania kodu, oraz jaką ksiązkę ? Młody ma 13 lat i troche zna już elementy elektroniczne, ma płtyki stykowe i całą szufladę drobiazgów typu rezystory, kondensatory itp.

    Pozdrawiam.

    Aha. Co chwile pojawia mi się zdanie typu "zablokowałem mikrokontroler". Co mam młodemu powiedzieć, żeby nie zablokował sobie tych scalakow ? Czy przez źle napisany program można zablokować ten scalak, czy trzeba gdzieś głębiej specjalnie pogrzebać ?

    0 18
  • #2 22 Maj 2014 14:18
    dondu
    Moderator Mikrokontrolery Projektowanie

    Witaj.

    USBasp za 20 zł jest programatorem o najlepszym współczynniku ceny do jakości.
    Warto oczywiście mieć programator z debbugerem, ale to już znacznie większa cena.

    Zestawów jest sporo więc zacząć należy od podania budżetu :)

    Rozważ jednak inne podejście - zakupienie mu za tę samą kwotę, znacznej ilości przeróżnych elementów elektronicznych, co mu da większe pole manewru i większe możliwości zabawy, bo zestaw jest tylko jeden i w dodatku łatwo go uszkodzić na początku drogi.

    A jak z przyrządami pomiarowymi - posiada?

    Zrobi sobie Fusebit Doctora i nie będzie problemu blokowania mikrokontrolerów: http://mdiy.pl/atmega-fusebit-doctor-hvpp/

    0
  • #3 22 Maj 2014 14:29
    aren
    Poziom 28  

    Z przyrządów ma multimetr i zasilacz warsztatowy. Mając na myśli zestaw chodzi mi o scalak, programator, książka i program do komputera. Gdzieś czytałem, że najlepiej zacząć od najmniejszych scalaków a ta atmega8 to chyba duża jest :)

    A to całe arduino to jest coś fajnego czy raczej nie zawracać sobie tym głowy ?

    0
  • Pomocny post
    #4 22 Maj 2014 14:37
    dondu
    Moderator Mikrokontrolery Projektowanie

    Atmega8 to najlepszy mikrokontroler na start, ponieważ dla niego jest najwięcej materiałów w sieci (programy, schematy, itp. w tym także w języku polskim), jest w miarę tani, dość odporny na nowicjuszy i zawiera najważniejsze wewnętrzne bebechy, które należy sukcesywnie poznawać. Jeżeli będziesz kupował, to kupuj wersję ATmega8A.

    Arduino - super sprawa bo można dokupywać dużo dodatkowych modułów. Będzie drożej, ale łatwiej. Z drugiej strony, bawienie się płytką stykową i elementami uczy także elektroniki, a nie tylko programowania. No i Arduino na początku także łatwo popsuć można :)

    Książek jest sporo, do Arduino także. O książkach jest osobny podwieszony temat w dziale: https://www.elektroda.pl/rtvforum/viewforum.php?f=373
    Tylko nie język BASCOM!!!
    Niech zacznie język C, a w ostateczności C dla Arduino.

    0
  • Pomocny post
    #5 22 Maj 2014 15:12
    tmf
    Moderator Mikrokontrolery Projektowanie

    dondu napisał:
    Witaj.

    USBasp za 20 zł jest programatorem o najlepszym współczynniku ceny do jakości.


    To już nie jest prawdą :)
    Od kiedy Atmel wypuścił ATmega168 Xplained Mini (np. w Farnellu za 38 zł, na Atmel Store $8), mamy za grosze programator + debugger współpracujący bezpośrednio z Atmel Studio. IMHO taka płyteczka (kompatybilna też z Arduino) na początek jest bardzo fajna - prosty procek, wszystko na pokładzie, zasilanie z USB, tylko podłączyć do kompa, odpalić Atmel Studio i rozpocząć działalność.

    0
  • #7 22 Maj 2014 16:30
    aren
    Poziom 28  

    Dzięki za odpowiedzi. Jestem zadowolony bo coś mi już rozjaśniliście. Mam już uC, programator (chyba skusze się na ten USBasp, bo do programów typu migająca dioda wystarczy).
    Co do ksiązki to powiem szczerze, że zacząłem szukać ksiązek z BASCOM w tytule ponieważ to słowo najczęściej się tu przewija. Jeśli dobrze rozumiem to z tym bascomem źle trafiłem ?
    Powinienem szukać książek pt: programowanie uC w C ?

    A jeszcze został program. Czy to są darmowe programy czy trzeba coś kupić ? Nie chce i nie wypada dawać komuś pirata ...
    Chodzi mi o to, żeby miał jak najprostrzy start i jak najwięcej przykładów w necie żeby się nie zniechęcił jak mu dioda nie zacznie migać :)


    Aha. Czy ten język C dla aruino jest inny i się w przyszłości mu do niczego nie przyda ?

    0
  • #8 22 Maj 2014 16:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Co do C dla Arduino, to jest to można ją określić jako "łatwiejsza wersja C".
    Na pewno łatwiej będzie mu się przesiąść z Arduino na "czyste C" niż z BASCOM.
    Ale z naszą pomocą C opanuje raz, dwa :)

    Przeczytaj może część artykułów z działu "Jak zacząć": http://mikrokontrolery.blogspot.com/p/spis-tresci.html#dzial_jak_zaczac
    a sporo się wyjaśni - darmowe oprogramowanie i recenzje książek także znajdziesz.

    0
  • #9 22 Maj 2014 16:56
    aren
    Poziom 28  

    Znam tą stronę - dwa dni już ją przeglądam, jednak jest zdecydowanie za dużo informacji na raz do przyswojenia, bo nie wiem czym się mam kierować. Ale zaczyna mi się to podobać i może sam się za to wezmę, żeby młodemu trochę pomóc na starcie.

    0
  • #11 22 Maj 2014 19:31
    aren
    Poziom 28  

    Jako, że kompletnie nie znam się na programowaniu porównałem sobie ten sam program (migająca dioda) w trzech wersjach. Dla mnie najbardziej zrozumiały i przejrzysty był program dla arduino, następnie program BASCOM, a na końcu C. Przejrzałem trochę internet i widzę, że też jest dużo materiałów do arduino dlatego postawię na ten zestaw.

    Przejrzałem na helionie książkę autorstwa TMF i na pewno nie nadaje się na zieloną łączkę dla 13 latka.
    Być może zrobie mu pod górkę kupując arduino bo nie nauczy się C ale jak mu się spodoba to na pewno przejdzie kolejną ścieżkę edukacji i zacznie się uczyć typowego C albo BASCOMA..

    0
  • #12 22 Maj 2014 20:04
    dondu
    Moderator Mikrokontrolery Projektowanie

    Zostań więc przy Arduino, a w przyszłości naturanie C opanuje.
    BASCOMa absolutnie nie ruszajcie - zapomnijcie, że w ogóle istnieje :)

    Książek o Arduino jest sporo a oficjalna strona także jest super:
    http://arduino.cc/en/Reference/HomePage
    http://arduino.cc/en/Tutorial/HomePage

    A na tym forum mamy od niedawna także dział Arduino, jest więc kogo poprosić o pomoc.

    0
  • #13 22 Maj 2014 20:22
    tmf
    Moderator Mikrokontrolery Projektowanie

    Problem w tym, że Adruino programuje się w C++ - język podobny, ale jednak zupełnie inny. Pozornie takie miganie diodą jest w Arduino przejrzyste, co wynika z posiadania gotowej klasy. Problem w tym, że mikrokontrolery programuje się nieco inaczej - bez znajomości hardware daleko się nie zajdzie. Dopóki masz odpowiednie klasy do Arduino wszystko pozornie jest proste i łatwe, ale jak przyjdzie ci napisać coś samemu - będzie koszmar. Nie mniej na zachętę jest ok. Druga sprawa - ten framework doskonale sprawdza się z prostymi procesorami, niestety próba jego przeniesienia na coś co ma bardziej wypasione peryferia szybko staje się koszmarem. Dlatego, podobnie jak Dondu zachęcałbym jednak do C, nawet jeśli na pierwszy rzut oka wydaje się dziwny (jak ponad 20 lat temu przesiadałem się z Pascala na C to kod C wydawał mi się wyjątkowo pokręcony), szybko da się to opanować i przekonasz się, że zapis C jest relatywnie prosty i zrozumiały. C ma też inną poważna zaletę - nie wiąże cię na stałe z AVR (a konkretnie z niektórymi ATMega jak to jest w przypadku Arduino). Po przejściu przez podstawy łatwo można przejść np. na XMEGA, ARM, czy AVR32.
    BTW, zgodnie z twoimi odczuciami moje książki istotnie nie są dla zupełnie początkujących (chyba, że mają dużo zapału), dlatego jest świetny blog kolegi Dondu, z artykułami dla początkujących i kursami. Warto przed podjęciem decyzji co do języka, go przetrawić przez kilka dni, przejrzeć różne artykuły, poanalizować kody. Masz tam wiele rzeczy dla zupełnie początkujących i wiele artykułów raczej dla zaawansowanych czytelników, te drugie sobie na razie odpuść. No i nie niedoceniaj 13-latków. Zapał takiej osoby doskonale nadrabia początkowe braki wiedzy :)
    IMHO zapomnij też o tym USBAsp - to raczej zmarnowane pieniądze. Arduino, wiele płytek rozwojowych można programować przez bootloader, bez programatora - o tyle jest to lepszy pomysł, że nie przestawisz fusebitów, blokując procesor, co jest zmorą początkujących. Z kolei debugger zawarty w zestawie Xplained Mini, który proponowałem daje sam w sobie sporo zabawy, bo masz na żywo podgląd w to jak działa procesor i we wszystkie jego bebechy. Poza tym na tej płytce oprócz ATmega168 masz drugi procek - ATMega32U4. Dzięi debuggerowi, proste zabawy typu miganie diodą możesz zrobić bez jakiegokolwiek programu - sterując bezpośrednio pinami IO klikając myszą na odpowiednie checkboxy w Atmel Studio. To dopiero jest frajda :)

    0
  • #14 22 Maj 2014 20:34
    aren
    Poziom 28  

    dondu A o co chodzi z tym bascomem ? Dlaczego mam o nim zapomnieć ? To jest jakiś przestarzały i nieprzyszłościowy język czy co ?

    tmf Nie wiem czy dobrze to porównam ale nie chciałbym mu dać na początek linuxa w którym, żeby coś zadziałało wszystko trzeba dogrywać, szukać w necie, prosić o pomoc itp. Z kolei jak ten linux jest już dopieszczony to praca na nim jest bardzo fajna.

    Tak samo pewnie jest z tym czystym C, że trzeba szukać informacji, noty katalogowej itp a to na początek może go zniechęcić...

    Nie wiem czy dobrze to sobie porównałem ...

    Ps. Ten cały debugger to właściwie do czego służy ? Pozwoli on bardziej zrozumieć dzieciakowi co się dzieje w uC ?


    Kurczę nie mogę się zdecydować co w końcu kupić. Mam 400 zł. 100 zł chciałem przeznaczyć na porządną książkę, a za 300 kupić elektronikę skoro programy są za darmo. To by pasowało na arduino + jakieś dodatkowe czujniki itp ...

    0
  • #15 22 Maj 2014 21:13
    tmf
    Moderator Mikrokontrolery Projektowanie

    W przypadku mikrokontrolerów bez czytania not i tak się nie obejdzie. Debugger właśnie pozwala zajrzeć w to co się dzieje w procku i przejąć nad nim kontrolę. Możesz przerwać wykonywanie programu i sprawdzić co robi procek, możesz zmienić jego stan niezależnie od programu, możesz podglądnąć zmienne, kolejność wywołania funkcji itd. Skoro masz budżet 400zł to wydanie 38 zł na xplained mini nie wydaje się być problemem. Do tego kupić czujniki z Arduino (które przecież działają z dowolnym prockiem) i można zacząć zabawę.
    Bascom jest przede wszystkim nieprzyszłościowy, ograniczony do AVR i '51, uczy złych nawyków, a przede wszystkim jest to język, który nic nie daje, w sensie nie ułatwia przejścia na C/C++, które i tak prędzej czy później musi nastąpić. Mniej więcej tak, jakby zamiast uczyć się alfabetu łacińskiego, zacząć od nauki hieroglifów. Niby zapisać nimi można to samo, ale jakoś nikt ich już nie używa.

    0
  • #16 22 Maj 2014 21:33
    aren
    Poziom 28  

    Co do xplained mini. Oczywiście, że nie chodzi o kase tylko zastanawiam się czy jest to na start potrzebne. Liczę się z tym, że te całe 400 zł trafi do szuflady i w ogóle nie zostanie wykorzystane. Ale możesz mi jeszcze powiedzieć do czego są te wszystkie otwory ?
    http://iotinsights.bwiegmann.de/wp-content/uploads/2014/03/AVR-Xplained-mini1.jpg

    Ten programator wygląda zupełnie inaczej niż ten USBasp...

    0
  • #17 22 Maj 2014 21:40
    tmf
    Moderator Mikrokontrolery Projektowanie

    Bo to nie jest programator, tylko płytka rozwojowa z wbudowanym programatorem i debuggerem. Te otwory służą do prototypowania - można do niech przylutować elementy, przewody, a najlepiej listwy kołkowe, dzięki czemu taką płytkę można wetknąć np. w płytkę stykową lub połączyć z jakimś układem przeznaczonym pod Arduino. Na tych otworach wyrowadzone są sygnały z wyprowadzeń procesora/ów.

    0
  • #18 22 Maj 2014 21:46
    dondu
    Moderator Mikrokontrolery Projektowanie

    aren napisał:
    dondu A o co chodzi z tym bascomem ? Dlaczego mam o nim zapomnieć ? To jest jakiś przestarzały i nieprzyszłościowy język czy co ?

    Wskazałem Ci dział, w którym jest artykuł na ten temat.

    aren napisał:
    Kurczę nie mogę się zdecydować co w końcu kupić. Mam 400 zł. 100 zł chciałem przeznaczyć na porządną książkę, a za 300 kupić elektronikę skoro programy są za darmo. To by pasowało na arduino + jakieś dodatkowe czujniki itp ...

    To może jeszcze inaczej: Jak sądzisz, jakie projekty będzie chciał wykonywać?
    Jeżeli np. robota, to odpowiednie moduły Arduino lub elementy elektroniczne się przydadzą.
    Jeżeli coś innego, to inne.

    0
  • #19 23 Maj 2014 20:23
    szymon122
    Poziom 37  

    Może teraz ja dodam swoje trzy grosze. Sam jestem niewiele starszy (17 lat) i również zaczynałem od arduino duemilanowe i wcale nie żałuję. Pozwala bardzo szybko nauczyć się języka podobnego do czystego C, zmiany są ale dosyć niewielkie. Osobiście proponowałbym Ci ten zestaw AVR Xplained mini z powodu ogromnych możliwości i niskiej ceny. Po za tym o ile się nie mylę to można tutaj wgrać bootloader arduino gdyby młody sobie nie radził z czystym C, bo to w końcu AtMega168. Z dodatków to obowiązkowo wyświetlacz LCD 16x2 (20zł), dwa albo trzy serwa (3x15zł), czujnik odległości np SR04 (13zł) i na prostego robota starczy którym się pobawi wiele dni jak nie miesięcy.

    0