logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

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

aren 22 Maj 2014 14:11 2880 18
  • #1 13624936
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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ć ?
  • #2 13624953
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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/
  • #3 13624971
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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 ?
  • Pomocny post
    #4 13624993
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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/forum373.html
    Tylko nie język BASCOM!!!
    Niech zacznie język C, a w ostateczności C dla Arduino.
  • Pomocny post
    #5 13625072
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    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ść.
  • #6 13625114
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    No proszę - to faktycznie ciekawa alternatywa :)
    Załączniki:
    • Atmel-42250-ATmega168-Xplained-Mini_User-Guide.pdf (2.04 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #7 13625272
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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 ?
  • #8 13625290
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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.
  • #9 13625318
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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.
  • #11 13625648
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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..
  • #12 13625763
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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.
  • #13 13625816
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    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 :)
  • #14 13625858
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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 ...
  • #15 13625960
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    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.
  • #16 13626022
    aren
    Poziom 28  
    Posty: 1465
    Pomógł: 115
    Ocena: 46
    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...
  • #17 13626050
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    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.
  • #18 13626073
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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.
  • #19 13628256
    szymon122
    Poziom 38  
    Posty: 4092
    Pomógł: 302
    Ocena: 757
    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.

Podsumowanie tematu

✨ Użytkownik poszukuje zestawu do nauki programowania dla 13-letniego chrześniaka, który ma podstawową wiedzę z elektroniki. W dyskusji zasugerowano zakup programatora USBasp oraz mikrokontrolera ATmega8, który jest polecany ze względu na dostępność materiałów edukacyjnych. Alternatywnie, rozważano płytkę AVR Xplained Mini, która ma wbudowany programator i debugger, co ułatwia naukę. Użytkownik został również ostrzeżony przed używaniem języka BASCOM, który jest uznawany za nieprzyszłościowy, a zamiast tego zalecano naukę języka C lub C++ w kontekście Arduino. Wskazano na potrzebę posiadania książek i darmowych programów do nauki, a także na znaczenie zrozumienia not katalogowych mikrokontrolerów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA