Frage:
Arduino: Lohnt es sich?
Dean
2010-12-20 21:27:06 UTC
view on stackexchange narkive permalink

Ich habe bereits mit meinem atmel-Entwicklungskit mit AVRs gespielt und in letzter Zeit immer mehr Arduinos eingesetzt. Ich habe einige Fragen von Benutzern:

  1. Entspricht dies der Verwendung eines Mikrocontrollers?
  2. Gibt es Einschränkungen bei der Verwendung des Arduino anstelle der Verwendung des Mikrocontrollers?
  3. ol>

    Ich bin daran interessiert, zu ihnen zu ziehen, aber auch welche sollte ich bekommen, da so viele zur Auswahl stehen.

Fünf antworten:
#1
+10
Leon Heller
2010-12-20 21:36:24 UTC
view on stackexchange narkive permalink

Die verschiedenen Arduino-Karten verwenden AVR-Mikrocontroller.

Mit der entsprechenden Software entspricht die Verwendung des Arduino der Verwendung eines anderen Mikrocontrollers. Die Arduino-Software unterstützt jedoch kein In-Circuit-Debugging, das mit anderen Entwicklungssoftware wie ATMels AVR Studio verfügbar ist. Sie können die Arduino-Hardware mit AVR Studio- und Atmel-Hardware-Tools wie dem Dragon-Programmierer / Debugger verwenden. Die Arduino-Software unterstützt das Herunterladen auf das Ziel über einen Bootloader.

Die Arduino-Website und -Foren sind sehr nützlich, wenn Sie Hilfe benötigen.

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

Ein Arduino ist im Grunde ein billiges, nicht unterstütztes ("Open Source") Entwicklungsboard. Sie können die Arduino-Bibliotheken und -Software für eine sanfte Einführung in MCUs verwenden, oder Sie können alles daran setzen und nichts davon verwenden und auf dem Atmel AVR direkt mit AVR Studio entwickeln und WinAVR (enthält den Compiler avr-gcc ).

Auch wenn Sie keine Arduino-Software verwenden, wird die Karte physisch sein Die gleiche Größe, sodass Sie nichts daran hindert, Abschirmungen zu verwenden. Dies ist eine bequeme Möglichkeit für Bastler, Hardware hinzuzufügen, wenn Sie nicht viel Komponenten zusammenbauen möchten (geschweige denn Leiterplatten herstellen / bohren).

Für das, was es wert ist, mag ich das Arduino-Konzept etwas, aber die Verwendung von C ++ ist unerträglich, und ich sehe den Wert nicht darin, main (); vor dem Benutzer zu verbergen . Glücklicherweise kann das alles beseitigt werden.

Ich würde "nicht unterstützt" als "nicht unterstützt von Atmel" qualifizieren - es gibt eine große und wachsende Community von Arduino-Benutzern, ganz zu schweigen von den umfangreichen Ressourcen, die unter http://www.arduino.cc/ verfügbar sind.
@vicatcu, wird vom Unternehmen nicht unterstützt. Es kann sinnvoll sein, hinzuzufügen, dass es eine große Community gibt, aber kein Team von Anwendungsingenieuren auf Ihren Anruf wartet, was ein Unternehmen normalerweise für den Support benötigt.
+1 für die sinnlose Verwendung von C ++ und das Ausblenden von main (). Ich habe mir die Verwendung der Arduino IDE angesehen, als ich meine zum ersten Mal bekam. Dann entschied ich mich, es lieber alleine zu machen und ging direkt zu avr-gcc und avrdude zum Programmieren. Es ist zu beachten, dass die Wiring-Bibliothek auch ohne die Arduino IDE sehr einfach verwendet werden kann.
#3
+5
vicatcu
2010-12-21 02:29:44 UTC
view on stackexchange narkive permalink

Eigentlich ist avr-gcc auch in Arduino unter der Decke ... Sie müssen nur die C ++ - ish-Syntax verwenden, wenn Sie deren Bibliotheken verwenden oder Ihre eigenen schreiben. Andernfalls besteht die einzige Einschränkung darin, dass Sie gezwungen sind, das Muster zu verwenden, das entspricht:

  int main (int argc, char * argv []) {setup (); für (;;) {loop (); } return 0;}  

Dies ist ein Muster, das zu einem großen Querschnitt (wahrscheinlich der Gesamtheit) des eingebetteten Designs passt. Sie implementieren einfach setup () und loop ().

Es ist auch keine Wahl zwischen Arduino und einem Mikrocontroller. Im Prinzip können Sie den ATMega328P aus einem mit einer Skizze programmierten Arduino-Board-Kontext herausnehmen und in eine engere integrierte Lösung umwandeln.

Ich glaube, ich bin mit der Meinung einiger anderer Antworten hier nicht einverstanden, die darauf hindeuten, dass Arduino nur eine "Spielzeug" -Plattform ist. Meiner Meinung nach ist es für eine "ernstere" Entwicklung sinnvoll. Es senkt nur die Eintrittsbarriere in die eingebettete Welt. Die Möglichkeit, es ohne einen separaten Programmierer (z. B. AVRISP mkII, STK500 usw.) zu programmieren, ist in dieser Hinsicht eine große Sache.

Ich glaube nicht, dass dies von fortgeschrittenen Benutzern erhebliche Kompromisse erfordert.

Die meisten Compiler und Assembler fügen ohnehin nach dem Ende von main einen Befehl zum Zurücksetzen ein, wodurch main effektiv in einer Endlosschleife ausgeführt wird - wie beim einmaligen Ausführen von setup (), dann loop () und dann wieder beim Start.
Das Hauptproblem, das ich mit dem "Arduino-System" habe, ist, dass es unerträglich ist, es zu verwalten, wenn Sie über ein einzelnes Benutzermodul hinauswachsen, da es nur den gesamten Code in eine einzelne Datei kopiert, sodass Sie nichts verbergen können. Sie können normale Dateien und "# include" verwenden, aber wenn Sie sie in die IDE bringen, schlägt dies kläglich fehl. @Thom, nicht, dass man jemals die Kontrolle an ... was auch immer nach "main" in einem eingebetteten System ist ... abgeben sollte, aber ich würde erwarten, dass das Mikro nur wartet, bis es zurückgesetzt oder unterbrochen wird.
@Nick, haben Sie das "Wie erstelle ich ein Tutorial für eine Arduino-Bibliothek?" Gelesen ... Ich habe gerade mein erstes gemacht und es hat gut für mich funktioniert.
Ich würde fast argumentieren und sagen, dass das Setup-Loop-Muster für alle Programme geeignet ist, eingebettet und auf andere Weise.
#4
+4
Dave
2010-12-20 21:51:39 UTC
view on stackexchange narkive permalink

Meine erste Frage an Sie lautet: Was machen Sie damit? Während es einfach ist, Arduino zum Laufen zu bringen und es gibt einige Skizzen, mit denen man spielen kann, macht die Entwicklung nicht allzu viel Spaß. IMO, die IDE ist etwas eigenartig und einige der Tastaturkürzel sind für Visual Studio-Entwickler wirklich unangenehm. :) Wie Leon sagte, werden Sie kein In-Circuit-Debugging haben, aber einige der anderen Geräte mit einfacher Eingabe wie mbed haben es auch nicht.

Wenn Sie nur spielen herum und Bitbangen, um mehr über LCDs zu erfahren, Sensordaten zu lesen oder mit seriellen Geräten zu interagieren, ist großartig. Wenn ich mich jedoch für eine Plattform für ein verbraucherorientiertes Produkt entscheiden würde, würde ich etwas anderes wählen, das das Debuggen im Schaltkreis ermöglicht.

Ja, nur um wirklich zu spielen.
Ich stimme den IDE-Macken zu. Die Entwicklung von avr-gcc in Eclipse macht das Programmieren viel weniger schmerzhaft. Insbesondere die automatische Vervollständigung von Strg-Leerzeichen fehlt meiner Meinung nach.
Arduino hat eine IDE? lol.
@Nick: haha, ja eher wie Notepad mit einer anderen Haut.
Ja - muss ... automatisch vervollständigt haben
#5
+1
russ_hensel
2011-01-05 00:13:23 UTC
view on stackexchange narkive permalink

Dave Jones hat einen Videoblog auf dem Arduino gemacht. Wenn der Link nicht funktioniert, suchen Sie nach dem EEVBlog # 45.

@user1498, bitte nicht nur einen Link sichern, besonders wenn Sie auf Blogs verlinken. Blogs können Links hervorragend zerstören. Wenn also einige Monate später jemand zu Ihrer Antwort kommt und der Link zufällig tot ist, ist Ihre Antwort * völlig wertlos * und die Website leidet darunter. Links * sind nicht schlecht *, bieten aber zumindest eine kleine Beschreibung.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...