Pytanie:
Arduino: czy warto?
Dean
2010-12-20 21:27:06 UTC
view on stackexchange narkive permalink

Grałem już wcześniej z amplitunerami AV z moim zestawem deweloperskim firmy Atel i ostatnio widziałem wzrost wykorzystania Arduino. Mam kilka pytań od użytkowników:

  1. Czy to to samo, co używanie mikrokontrolera?
  2. Czy są jakieś ograniczenia w korzystaniu z Arduino zamiast mikrokontrolera?

Jestem zainteresowany przeprowadzką do nich, ale także to, co powinienem zrobić, ponieważ jest tak wiele do wyboru.

Pięć odpowiedzi:
Leon Heller
2010-12-20 21:36:24 UTC
view on stackexchange narkive permalink

Różne płyty Arduino używają mikrokontrolerów AVR.

Z odpowiednim oprogramowaniem, używanie Arduino jest takie samo, jak używanie każdego innego mikrokontrolera. Jednak oprogramowanie Arduino nie obsługuje debugowania w obwodzie, które jest dostępne z innym oprogramowaniem programistycznym, takim jak AVR Studio firmy Atmel. Możesz używać sprzętu Arduino z narzędziami sprzętowymi AVR Studio i Atmel, takimi jak programator / debugger Dragon. Oprogramowanie Arduino obsługuje pobieranie do celu przez bootloader.

Strona internetowa Arduino i fora są bardzo przydatne, jeśli potrzebujesz pomocy.

Nick T
2010-12-20 21:33:19 UTC
view on stackexchange narkive permalink

Arduino to w zasadzie tania, nieobsługiwana („open-source”) płyta programistyczna. Możesz skorzystać z bibliotek i oprogramowania Arduino, aby delikatnie wprowadzić mikrokontrolery, lub możesz pójść na całość i nie używać żadnego z nich i programować na Atmel AVR bezpośrednio w AVR Studio i WinAVR (zawierający kompilator avr-gcc ).

Nawet jeśli nie używasz oprogramowania Arduino, płyta nadal będzie fizycznie ten sam rozmiar, więc nic nie stoi na przeszkodzie, abyś używał osłon, co jest wygodnym sposobem dla hobbystów na dodawanie sprzętu, jeśli nie chcesz robić dużo montażu komponentów (nie mówiąc już o tworzeniu / wierceniu PCB).

Jeśli chodzi o wartość, trochę podoba mi się koncepcja Arduino, ale użycie C ++ jest nieprzyjemne i nie widzę wartości w ukryciu main (); przed użytkownikiem . Na szczęście to wszystko można zlikwidować.

Określiłbym „nieobsługiwany” jako „nieobsługiwany przez firmę Atmel” - istnieje ogromna i rosnąca społeczność użytkowników Arduino, nie wspominając o obszernych zasobach dostępnych pod adresem http://www.arduino.cc/
@vicatcu, nieobsługiwany przez firmę sugeruje, że warto dodać, że istnieje duża społeczność, ale nie ma zespołu inżynierów aplikacji czekających na Twój telefon, czego firma zwykle potrzebuje do wsparcia.
+1 za bezcelowe używanie C ++ i ukrywanie main (). Rzuciłem okiem na używanie Arduino IDE, kiedy po raz pierwszy dostałem swoje. Potem zdecydowałem, że wolę zrobić to sam i poszedłem prosto do avr-gcc i avrdude do programowania. Należy zauważyć, że biblioteka Wiring może być bardzo łatwo używana również bez Arduino IDE.
vicatcu
2010-12-21 02:29:44 UTC
view on stackexchange narkive permalink

Właściwie avr-gcc jest również pod okładkami w Arduino ... po prostu musisz użyć C ++ - składni ish, jeśli używasz ich bibliotek lub piszesz własną. W przeciwnym razie jedynym ograniczeniem jest to, że jesteś „zmuszony” do użycia wzorca odpowiadającego:

  int main (int argc, char * argv []) {setup (); dla pętli(); } return 0;} 

który jest wzorem pasującym do dużego przekroju (prawdopodobnie całości) projektu osadzonego. Po prostu implementujesz setup () i loop ().

Również nie jest to wybór między Arduino a mikrokontrolerem. Zasadniczo można wyjąć ATMega328P z kontekstu płyty Arduino, zaprogramować za pomocą szkicu i przeszczepić go do ściślej zintegrowanego rozwiązania.

Więc myślę, że nie zgadzam się z sentymentem niektórych innych odpowiedzi sugerujących, że Arduino jest tylko platformą „zabawkową”. Moim zdaniem jest to możliwe do bardziej „poważnego” rozwoju. Po prostu obniża barierę wejścia do wbudowanego świata. Możliwość zaprogramowania go bez osobnego programatora (np.AVRISP mkII, STK500, itp.) To dość duża sprawa w tym względzie.

Nie sądzę, aby wymagało to znaczącego kompromisu od bardziej zaawansowanych użytkowników.

Większość kompilatorów i asemblerów i tak wstawia instrukcję resetowania typu po zakończeniu main, co powoduje, że main efektywnie działa w nieskończonej pętli - jak uruchomienie setup (), a następnie loop () raz, a następnie powrót do początku.
Główny problem, jaki mam z „systemem Arduino” polega na tym, że kiedy wykroczysz poza pojedynczy moduł użytkownika, zarządzanie nim jest mdłe, ponieważ po prostu zrzuca cały kod do jednego pliku, więc nie możesz niczego ukryć. Możesz używać zwykłych plików i `# include`, ale jeśli umieścisz je w IDE, zawiedzie to żałośnie. @Thom, nie znaczy, że należy kiedykolwiek rezygnować z kontroli ... cokolwiek jest po `main` w systemie wbudowanym ... ale spodziewałbym się, że mikro po prostu zaczeka, aż zostanie zresetowane lub przerwane.
@Nick, czy przeczytałeś "jak zrobić samouczek biblioteki Arduino" ... Niedawno zrobiłem mój pierwszy i działał dobrze.
Prawie bym się spierał i powiedział, że wzorzec pętli konfiguracji pasuje do wszystkich programów, osadzonych i innych.
Dave
2010-12-20 21:51:39 UTC
view on stackexchange narkive permalink

Moje pierwsze pytanie do Ciebie brzmi - co zamierzasz z tym zrobić? Chociaż uruchomienie Arduino jest łatwe i dostępnych jest kilka szkiców, programowanie nie jest takie zabawne. IMO, IDE jest trochę dziwaczne, a niektóre skróty klawiaturowe są naprawdę nieprzyjemne dla programistów Visual Studio. :) Jak powiedział Leon, nie będziesz mieć debugowania w obwodzie, ale niektóre inne urządzenia ułatwiające wejście, takie jak mbed, też go nie mają.

Jeśli tylko grasz w pobliżu i walcząc bitami, aby dowiedzieć się o wyświetlaczach LCD, czy chcesz odczytać dane z czujników lub wchodzić w interakcję z urządzeniami szeregowymi, to świetnie. Gdybym jednak decydował się na platformę dla produktu konsumenckiego, wybrałbym coś innego, co zapewnia debugowanie w obwodzie.

Tak, tylko po to, żeby naprawdę grać.
Zgadzam się z dziwactwami IDE. Tworzenie avr-gcc w eclipse sprawia, że ​​programowanie jest o wiele mniej bolesne. Moim zdaniem w szczególności brakuje automatycznego uzupełniania spacji Ctrl.
Arduino ma IDE? lol.
@Nick: haha, tak bardziej jak Notatnik z inną skórką.
Tak - musi ... mieć ... autouzupełnianie
russ_hensel
2011-01-05 00:13:23 UTC
view on stackexchange narkive permalink

Dave Jones prowadził blog wideo na temat Arduino. Jeśli link nie działa, wyszukaj EEVBlog # 45.

@user1498,, proszę, nie zrzucaj po prostu linku, zwłaszcza gdy podajesz linki do blogów. Blogi świetnie niszczą linki, więc jeśli ktoś przyjdzie do Twojej odpowiedzi kilka miesięcy później i okaże się, że link jest martwy, Twoja odpowiedź jest * całkowicie bezwartościowa *, a witryna cierpi na tym. Linki * nie są złe *, ale przynajmniej oferują mały opis.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...