Die Arduino-Website geht auf einige dieser Fragen ein, jedoch nicht sehr detailliert.
Was ist also der Unterschied, ob man ein Arduino-Board kauft oder selbst eines herstellt? Welche Vorteile hat der Kauf des Boards gegenüber dem Zusammenbau aus verschiedenen Teilen?
Ich habe gesehen, dass Sie den eigentlichen Mikrocontroller (ATmega328 oder ähnliches) mit und ohne Arduino-Bootloader kaufen können. Was bedeutet das?
Wie würden Sie vorgehen, um ein Board zu programmieren, das separat zusammengebaut wurde (vermutlich ohne Verbindung mit Arduino, dem Bootloader usw.)?
Gibt es Vorteile beim Programmieren eines Arduino über einen AVR gegenüber einer USB-Verbindung? Ist die Programmierung auf diese Weise der Programmierung mit der Arduino IDE ähnlich?
Es ist wahrscheinlicher, dass vorgefertigte Boards sofort einsatzbereit sind. Wenn Sie ein DIY-Steckbrett herstellen, erhalten Sie mehr Einblick.
Ich würde beides tun: einen professionell gebauten Arduino kaufen, die Komponenten kaufen, um einen Steckbrettklon zu machen. Während Sie klonen, können Sie das professionell gebaute Arduino als Referenz verwenden, von dem Sie wissen, dass es funktioniert.
Viel lesen. Mit der Zeit werden mehr Dinge Sinn machen. Zögern Sie nicht, das ATMega-Datenblatt (zumindest überfliegen) und andere Atmel-Papiere zu lesen.
Hier ist eine Seite auf der Arduino-Website, die beschreibt, wie man Arduino als In-System-Programmierer verwendet .
Der praktische Unterschied liegt in den Kosten, der Verarbeitungsqualität und dem Support. Es ist einfacher, einen vorgefertigten zu bekommen, möglicherweise billiger für eine exakte Kopie.
Der Arduino ist ein Ökosystem zwischen den Hardwareplatinen, der Programmierumgebung und dem Bootloader auf dem ATMega-Mikrocontroller. Der Bootloader ist wie Windows auf einem PC.
Wenn Sie Ihren eigenen bauen, müssen Sie einen ATMega328P kaufen, der bereits mit dem Aurduino-Bootloader programmiert ist. Das ist so, dass Sie die Arduino IDE verwenden können, um Programme oder "Skizzen" zu laden, wenn sie aufgerufen werden. Die Programmierung ist identisch mit einem im Laden gekauften Arduino. Wer auch immer Sie den Chip bekommen, wird Ihnen sagen, welche Art von Board Sie auswählen müssen, basierend auf dem Bootloader, den sie darin eingebaut haben. Für einen Chip würde ich VirtualBotix https://www.virtuabotix.com/product-information/?productid=06092245317437 empfehlen, da sie ein Kit mit AtMega328p, Quarzoszillator, Kappen und Spannungsregler haben. Ihre Unterstützung ist großartig, wenn Sie Hilfe brauchen, um loszulegen.
Zum Programmieren benötigen Sie eine FTDI-Schnittstellenkarte. Hier ist einer: https://www.virtuabotix.com/product-information/?productid=6092245318977
Diese beiden Dinge sind rund 23 $. Für 25 bis 30 US-Dollar können Sie auf ein vorgefertigtes (sogar echtes) Arduiono setzen. Wenn Sie weiterhin mit Arduino arbeiten, möchten Sie wahrscheinlich sowieso ein Board zur Hand haben. Lassen Sie mich erklären, echt vs. Klon. Da es sich bei Arduino um Open-Source-Hardware und -Software handelt, sind die Schaltpläne verfügbar und jeder kann sie frei herstellen und verkaufen. Einige Leute sind da draußen auf Klone von geringerer Qualität gestoßen.
Nachdem ich all dies eingegeben habe, ist meine Empfehlung, ein echtes Arduino Uno zu kaufen. Sie können mit verschiedenen Schilden spielen und wenn Sie später Ihr eigenes kleines Brett bauen möchten, haben Sie das Wissen, wie das "Ökosystem" funktioniert.
Es geht um Vorlieben, vorausgesetzt, Sie erhalten alle Vorteile der Arduino-Plattform, wenn Sie sich daran halten. Aber Sie können die Mikrocontroller sicherlich kaufen und sie eigenständig verwenden. Bisher müssen die, die ich verwendet habe, nicht vorprogrammiert werden, sie haben ein paar bis drei verschiedene Methoden zum Programmieren des Teils. Atmegas sind einfacher, Xmega etwas schwieriger, weil das Timing empfindlicher, aber machbar ist. (Sie können ein Xmega-Breakout-Board von Sparkfun bekommen und es selbst ausprobieren, oder einfach ein paar Teile besorgen und Ihr eigenes Breakout machen oder was auch immer. Ich habe gerade oshpark ausprobiert, es ist in vielerlei Hinsicht vernünftig).
Wenn Sie die USB-Schnittstelle zum Programmieren des Teils verwenden möchten, müssen Sie einen Bootloader mit einer der anderen Programmiermethoden installieren.
Die Dokumentation von Atmel enthält die Programmierprotokolle, die sind nicht so schwierig, wenn Sie etwas zu hämmern haben. Ein anderer Mikrocontroller zum Beispiel oder eine Art Ftdi-Board.
Der offensichtliche Vorteil der Programmierung über USB ist, dass es einfacher ist, solange der Bootloader nicht überschrieben/gelöscht wird. Sie müssen einen Bootloader für den Mikrocontroller und ein Programm für den Host und das Betriebssystem usw. besorgen. Dies kann eine große Aufgabe sein. Je nachdem, welchen Mikrocontroller und welches Protokoll Sie wählen, kann das Bit-Banging eines ftdi-Teils der einfachere Weg sein und Ihnen mit weniger Aufwand mehr Hosts (Windows, Linux, Mac) geben.
Die Arduinos haben eine Reihe subtiler Unterschiede zur Programmierung, die das Programmieren echter Arduinos zu einer Herausforderung machen, wenn Sie es direkt versuchen. Sie nehmen immer wieder diese subtilen Änderungen vor und heften ein weiteres Wenn-Dann-Sonst an ihren Lader. Aus welchem Grund auch immer ist ihre Lösung nicht perfekt. Ein serieller Bootloader ist jedoch im Allgemeinen eine gute Idee. Die subtilen Unterschiede haben normalerweise mit der Baudrate und dem Zurücksetzen des Teils zu tun, damit es weiß, dass Sie versuchen, es zu laden, anstatt es die eingebrannte Anwendung ausführen zu lassen.
Atmel macht es auch nicht unbedingt einfacher, jeder Teil oder jede Familie hat oder kann subtile Unterschiede im Spi- oder anderen Bitbang-Protokoll haben, um zu wissen, wo und wie der Flash zu programmieren ist. avrdude ist eine gute Quelle, um Informationen für viele Teile an einem Ort zu finden (anstatt durch Dutzende von Handbüchern zu blättern, müssen Sie wahrscheinlich immer noch die Handbücher durchblättern).
Ein echtes Arduino oder einen der Minis oder ähnliches von Sparkfun oder wo auch immer zu bekommen, ist kein schlechter Ausgangspunkt, Sie können das Board komplett ohne Arduino-Software jeglicher Art betreiben, den Bootloader ersetzen, was immer Sie tun möchten. oder verwenden Sie einfach ihre Sandbox, Ihre Wahl.
Jon Watte