Skocz do zawartości

Wybór języka po raz kolejny


amon

Pomocna odpowiedź

Są różne produkty takie jak Arduino Uno czy Arduino Duemilanove. Jakie są między nimi różnice?
Jedyną znaczącą różnicą pomiędzy Uno a Duemillanove i jego klonami (np DFrduino w moim sklepie), jest sposób komunikacji przez USB. UNO może być hostem USB, co oznacza, że można do niego podłączyć mysz, klawiaturę, pendrive, cokolwiek. Nie są to jednak rzeczy, od których będziesz zaczynał. UNO ma też o ile dobrze pamiętam większą wydajność prądową wyjścia 3,3V.
Link do komentarza
Share on other sites

Witam, mam do Was pytanko:

Mianowicie jestem po technikum elektronicznym i miałem już do czynienia z micro kontrolerem 8051 (nie mylić z 'opanowałem') programowaliśmy go assemblerem. Z tego co wyczytałem we wcześniejszych postach jest to bardzo dobry język na rozpoczęcie przygody z programowaniem i pozwala on dobrze poznać architekturę micro klocka, ale na dłuższą metę jest zły. Na studiach liznąłem troszkę C.

I zastanawiam się teraz jakich klocków używać przy moich przyszłych zabawach z robotami i w jakim języku je programować??

Słyszałem, że 8051 to przeżytek i warto się przerzucić na coś lepszego.

Oczywiście chce się rozwijać i nie chciałbym aby technika mnie wyprzedziła.

Widzę, że dużą popularnością cieszą się klocuszki z rodziny AVR dlatego myślę, aby właśnie ich używać i programować je w C. Czy to dobry pomysł? I jakie konkretne AVR mi polecicie? Dobrze by było, gdyby w budowie były dość podobne do 8051

Z góry dziękuję za odowiedź

Link do komentarza
Share on other sites

AVR'y - atmega8, 16, 32 a w zasadzie wszystkie, różnią się tylko parametrami np. ilość pamięci różnego typu ilość we/wy, pwmy, adc itd. programuje się wszystkie tak samo,

polecam C, ja sam od niego zacząłem i uważam to za najlepszy wybór, daje większą kontrolę niż bascom a jest łatwiejszy do pisania niż asm

jak masz dużo kasy to możesz wskoczyć od razu na ARM'y

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

Każdy poleci Coś innego 🙂 AVRy są proste, ARM7 są trochę trudniejsze (ale trochę), Cortex są jeszcze trudniejsze. Cenowo to nie jest takie oczywiste. Zestaw Discovery dla STM32 (cortex) z programatorem to koszt 50zł, płytka z jtagiem i lpc13xx (Cortex) to koszt 90zł, płytka z LPC2103 to 100zł (ARM7)(programowanie po RS232).

A do AVRów:

- programator: 30-40zł jeśli się nie ma LPT

- płytka z samym tylko prockiem atmega16: 60zł i jeszcze ją trzeba podłączać

Ew. Arduino za 100zł (ale to już coś nieco innego)

Jak widać koszt wszędzie jest podobny. Koszty samych procesorów też są zbliżone.

Co innego jeśli się samemu robi - czyli posiada się dostęp do drukarki laserowej. Wtedy kosztem czasu można zrobic pod AVRy dość tanio i do tego się nauczyć projektowania płytek PCB.

Link do komentarza
Share on other sites

Osobiście polecam procki z rodziny Cortex-M3 a dokładnie ten układ http://kamami.pl/index.php?ukey=product&productID=136174. Za niecałe 100zł dostajesz układ procesora razem z programatorem. Płytka jest bardzo sprytnie pomyślana, możesz odczepić od niej programator, a płytkę wykorzystać w robocie. Ma wyprowadzenia dipowe, co ułatwi lutowanie.

W podobnej cenie możesz kupić w miarę mocnego AVRa z programatorem LPT, albo ISP. Ale na pokazanej wyżej płytce masz pełnego JTAGa, czyli możliwość debugowania. A wiadomo że mając debugera dużo łatwiej nauczysz się procka. AVRa niestety nie podebagujesz, bo jtagi do AVRów są bardzo drogie.

Dodatkowo Cortex jest procesorem znacznie mocniejszym od AVR. Jeżeli miałbyś iść w AVR to powinieneś wybrać coś z serii XMega, które są dość drogie. W ogóle AVR od jakiegoś czasu mocno podrożały, przekraczając cenę słabszych ARM-7 czy cortexów. Jest to dla mnie dziwna sytuacja, ale nie wnikam.

Kolejnym plusem na rzecz Cortexów jest napięcie zasilania wynoszące w ich przypadku 3,3V. ATMega do pracy na pełnej prędkości potrzebuje 5V. Projektowanie układów z 3,3V prockiem uczy poprawnych nawyków, bo wszystkie nowoczesne procesory pracują na takim napięciu (lub niższym). Większość nowych układów np. pamięci flash pracuje na 3,3V lub niższych. Mając 5V procka pojawia się dodatkowy problem.

Jeżeli chodzi o zastosowania komercyjne to oczywiście popularniejsze są procki ARMowe. U przyszłego pracodawcy wiedza na temat procków 32-bitowych będzie bardziej ceniona, niż wiedza na temat 8-16 bitowych hybryd jakimi są ATMegi (choć w specyficznych sytuacjach mogę się mylić).

Trochę tendencyjnie się rozpisałem, ale naprawdę nie widzę żadnej linii obrony dla układów ATMega. Nie wiem jak jest z XMega, pewnie lepiej. Mimo wszystko w przyszłym projekcie (jeżeli będzie) zamierzam zastosować jakiegoś cortexa.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.