Skocz do zawartości

W którą stronę iść? AVR, Arduino, czy STM32?


g0raj

Pomocna odpowiedź

Cześć,

Chciałbym wejść "głębiej" w tematykę mikrokontrolerów. Konkretniej chciałbym zacząć aktywnie używać ich w moich hobbystycznych projektach.

Założenia:

  • Mam solidne umiejętności programistyczne. Chociaż akurat C/C++ ostatni raz widziałem na studiach.
  • Zależy mi na jak najniższym koszcie - nie uśmiecha mi się wydawać kiladziesiąt złotych na płytkę Arduino za każdym razem jak chcę coś zbudować.

Czytając różne treści, mój wybór padnie zapewne na jedną z  trzech opcji:

  • Arduino - Ale chyba tylko bazując na klonach, ze względu na koszt oryginalnych płytek. Czy to ma sens? Korzystanie z klonów?
  • AVR (ATmega) - Z jednej strony wydaje się to oczywistym wyborem. Mikrokontroler można mieć za kilka-kilkanaście złotych. Do tego znalazłem sobie taką pozycję do nauki na początek: https://helion.pl/ksiazki/jezyk-c-dla-mikrokontrolerow-avr-od-podstaw-do-zaawansowanych-aplikacji-wydanie-ii-tomasz-francuz,jcmika.htm#format/d
    Z drugiej strony czy to nie jest już trochę "archaiczny" kierunek w obecnych czasach? Nie chciałbym marnować czasu na naukę czegoś co jest lub niedługo będzie przestarzałe, z lepszymi, nowszymi alternatywami..
  • STM32 - A to z kolei wydaje się właśnie ciekawą alternatywą dla AVR. Moje rozpoznanie tematu jest dość mgliste, natomiast z tego co czytam, to jest to trochę wyższa szkoła jazdy. I niekoniecznie odpowiednia do amatorskich zastowań? Ciężko mi też ocenić koszt - przykładowo na Botlandzie w ogólnie nie widzę takich mikrokontrolerów..

Zdaję sobie sprawę, że takich porównań w internecie w tym również na tym forum trochę już było. Natomiast sięgają one przynajmniej kilka lat wstecz, a w tej dziedzinie pewnie fakty dość szybko ulegają przeterminowaniu. Poza tym chciałem też spojrzeć na temat szczególnie przez pryzmat kosztów, o których już pisałem.

Będę wdzięczny za wszelkie sugestie :)

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)
1 godzinę temu, ethanak napisał:

O STM-ach się nie wypowiem bo po prostu nie jestem w temacie.

Potrzebujesz dobrych układów analogowych - ADC lub DAC - STM32 😄 Jedynie Pi Pico ma jakieś porównanie (jakościowe) do tego, ale nadal STM32 jest znacznie lepsze w tej kwestii... 😉 

Potrzebujesz łatwej obsługi CAN/LIN/UART/USART i miliarda innych magistrali w jednym chipie? - STM32 😄 

W większości też oprogramujesz w Arduino IDE (albo Platform IO, które jest nieznacznie bardziej skomplikowane).

Edytowano przez H1M4W4R1
  • Lubię! 2
Link do komentarza
Share on other sites

1 minutę temu, ethanak napisał:

Gdzie w Pico jest DAC? Coś przeoczyłem?

(nie obraź się) Umiejętność czytania kontekstowego. Wyrażenie "jakieś porównanie" nie oznacza, że Pico ma DAC, tylko, że jakość jego układu analogowego (ADC) jest porównywalna do STM32, podczas gdy Arduino czy ESP znacznie odbiegają od tych dwóch.

  • Lubię! 1
Link do komentarza
Share on other sites

Hm... "jakieś porównanie" oznacza dla mnie, że X można porównać z Y, a nie że X można porównać z brakiem X. Strasznie często stosujesz tego typu sobie tylko zrozumiałe skróty myślowe (vide chat)... a zawsze myślałem że informatyka wymaga precyzji wyrażania się... nie obraź się oczywiście 😉

BTW jeśli chcesz porównać STM-a do czegoś wyżej wymienionego to raczej ESP32 a nie Pico - choćby z tego powodu że ma i ADC i DAC. I tu możesz dywagować który jest lepszy.

Link do komentarza
Share on other sites

(edytowany)

Wow, dzięki za tak szybki feedback 🙂 

Nie spodziewałem się też, że najbardziej spodoba mi się opcja, której wcześniej nawet nie rozważałem, a mianowicie Pi Pico.

Do tej pory zawsze kojarzyłem malinę z innymi zastosowaniami. A to do czego potrzebuje uC to głównie diody, silniki, serwa, czujniki i takie tam.. 🙂 Natomiast z tego co widzę, to Pi Pico również idealnie się do tego nadaje. Dodatkowo koszt "oficjalny" a nie jakiegoś klona to faktycznie jedyne 20 zł - w zupełności akceptowalny przeze mnie.

Możlwość pisania w Pythonie - rewelacja! Jest mi zdecydowanie bliższy niż C/C++.

Także chyba polecę w tę stronę na początek. I na ten początek chyba nic innego nie potrzbuję jak:

Lutowanie szczególnie mnie nie przeraża, wręcz mi się podoba (kończę właśnie kurs forbota w tym temacie).

Czy widzicie może jednak jakiś argument, żeby zostać przy klonach Arduino Nano, zamiast iść w Pi Pico?

Edytowano przez g0raj
Link do komentarza
Share on other sites

1 minutę temu, g0raj napisał:

Czy widzicie może jednak jakiś argument, żeby zostać przy klonach Arduino Nano, zamiast iść w Pi Pico?

Może nie tyle "zostać" co po prostu nie zapomnieć że istnieją - czasem rozmiary płytki mają duże znaczenie, a taki Pro Mini czy Pro Micro jest dużo mniejszy od Pico.

Link do komentarza
Share on other sites

(edytowany)
27 minut temu, ethanak napisał:

Strasznie często stosujesz tego typu sobie tylko zrozumiałe skróty myślowe (vide chat)...

Ta treść akurat wynika z prawidłowej interpretacji gramatycznej tych dwóch zdań, ale to zostawmy, co by już nie zaśmiecać wątku...
Ogólnie chodzi o to, że spójnik i jest w mowie uproszczonej/potocznej często stosowany zamiast spójnika lub, przez co powstają właśnie takie problemy... Język niestety się zmienia i właśnie widzimy tego efekty... Jak coś poprawiłem zdanie 😉   

25 minut temu, g0raj napisał:

Alternatywnie możesz skorzystać tutaj: https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico/1

25 minut temu, g0raj napisał:

Lutowanie szczególnie mnie nie przeraża, wręcz mi się podoba (kończę właśnie kurs forbota w tym temacie).

Taniej wyjdzie cię kupić wersję bez pinów i je wlutować... 😉 Nie warto przepłacać 6zł za lutowanie złącz...

Edytowano przez H1M4W4R1
  • Lubię! 1
Link do komentarza
Share on other sites

25 minut temu, g0raj napisał:

Pico (chyba z pinami od razu)

Jak to się ma do

 

26 minut temu, g0raj napisał:

Lutowanie szczególnie mnie nie przeraża

? 🙂

Jakoś mnie te sterczące trzy piny nie przekonują...

  • Lubię! 1
Link do komentarza
Share on other sites

Haha, chyba miałem chwilowe zaćmienie z tą wersją z pinami - słuszna uwaga 🙂 Właśnie zamówiłem sobie z pinami osobno 😎

Link do komentarza
Share on other sites

No

8 minut temu, g0raj napisał:

Właśnie zamówiłem sobie z pinami osobno

No to jak się nie boisz lutowania to od razy przyklej tam jakiegoś microswitcha między RUN i GND - bo bez resetu to się dość ciężko programuje (chyba że jakimś większym RPi albo picoprobe).

Link do komentarza
Share on other sites

21 godzin temu, opp34 napisał:

uczysz się nie tyle samego sprzętu, co programowania, podejścia i sposobu myślenia.

@g0raj Arduino IDE jest dobre na start, tak jak w samym programowaniu startujesz od notatnika i kompilatora w wierszu poleceń. Ale to siermiężne narzędzie w końcu przestaje bawić. Porządne IDE to duża pomoc w zrozumieniu API i tu może przydać się np. Platformio. Tylko jak chcesz już robić coś więcej, zrozumieć szczegóły (to tak powiedzmy za pół roku nauki) to przyda się coś lepszego od printa i LEDa podłączonego do wolnego wyprowadzenia. Wtedy potrzeba debuggera, którym podejrzysz jak twoje dane wyglądają i co tam się dzieje bez ciągłego wypisywania na port szeregowy wszystkiego co chcesz zobaczyć. I tu moim zdaniem warto sięgnąć po STM32. Kiedyś programowanie było bardzo trudne, środowiska straszyły - pewnie sporo osób przerabiało darmowe środowiska jak np. CooIDE od CooCox... ja nie mam z tym dobrych wspomnień. Jak wgrałeś hello world to był już sukces. Teraz to jest bardzo proste no i też masz kursy, stacki i dokumentację. Pytanie tylko do czego to ma prowadzić, jak daleko chcesz zajść 😉 

  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.