Kann jemand bestätigen, dass ich verstehe, was es ist, bevor ich ein Arduino-Starter-Kit kaufe?
So wie ich es verstehe, kann ich einen Simulator verwenden, um das gewünschte Verhalten zu erstellen. Wenn ich mit dem Code, den ich kompiliere, zufrieden bin, schließe ich den Arduino Uno an meinen Computer an (mit einem "leeren Chip) und flashe den Chip. Dann kann ich den Chip entfernen und auf ein Steckbrett oder einen Matrixstreifen legen oder solche und arbeiten es in ein Projekt.
Ist das richtig?
Antworten:
Nein, du hast es falsch verstanden. Der Chip ist nicht leer (auch Sie setzen den Chip nicht in Arduino ein. Er wird mit dem Arduino geliefert). Es verfügt über einen speziellen Bootloader, der eigentlich den Kern der Arduino-Plattform bildet und es Arduino ermöglicht, keinen speziellen Programmierer zum Programmieren der Chips zu haben. Es wird also überhaupt nicht mit leeren Chips funktionieren. Außerdem sind Sie nur auf Chips beschränkt, die vom Bootloader unterstützt werden oder sehr ähnlich sind.
Soweit ich sehen kann, hat die Arduino IDE keinen Simulator, daher haben Sie in diesem Punkt kein Glück.
Der Hauptpunkt von Arduino ist, dass es den physischen Betrieb des Chips selbst vor dem Programmierer verbirgt, was es für diejenigen einfacher macht, die es zu kompliziert finden, den Chip direkt zu programmieren. Es bietet eine vereinfachte C-ähnliche Programmiersprache und eine große Funktionsbibliothek, mit der verschiedene Peripheriegeräte einfach angeschlossen werden können. Die Leiterplatte selbst ist nützlich, da sie Benutzern eine qualitativ hochwertige Basis für die Herstellung ihrer eigenen Geräte bietet und ihnen die Mühe erspart, eine Leiterplatte herzustellen, die den AVR selbst antreibt oder eine Art Prototyping-Karte verwendet.
Grundsätzlich möchten Sie die reguläre ATMEL-IDE AVR Studio mit einem Simulator (Sie können sie kostenlos herunterladen und prüfen, ob sie Ihren Anforderungen entspricht). Auf der Hardwareseite benötigen Sie entweder einen Programmierer , wenn der Simulator der IDE in Ordnung ist, oder einen In-Circuit-Emulator, mit dem Sie den Code direkt auf dem Chip debuggen können. Der Emulator selbst ist ziemlich teuer, aber es gibt einige andere Produkte, mit denen Sie auch den Code durchgehen können.
Beachten Sie, dass es möglich ist, einen AVR-Programmierer mit Arduino zu erstellen, dies ist jedoch kein großer Vorteil gegenüber anderen im Internet verfügbaren Programmierern oder dem offiziellen Programmierer.
quelle
Nicht ganz, nein.
Das Arduino ist ein ganzes System für sich.
Es ist zwar möglich, den Chip von der Platine zu entfernen und in Ihren eigenen Systemen zu verwenden, dies ist jedoch selten der Fall.
Mit dem Arduino programmieren Sie Ihre "Skizze" (wie sie es nennen) in einer Teilmenge von C ++, die auf einem System namens "Wiring" basiert. Sie laden dies dann auf das Arduino-Board hoch. Auf dem Board befindet sich bereits der Chip, und Sie lassen ihn dort. Auf der Karte befinden sich Verbindungen, um sie mit Ihren anderen Systemen zu verbinden.
Sie können Ihre "Skizze" so oft ändern, wie Sie möchten, und sie erneut auf das Arduino hochladen, bis Sie es richtig verstanden haben.
Es gibt zwar Simulatoren, diese werden jedoch nur selten verwendet, da es am einfachsten ist, sie direkt auf das Arduino hochzuladen und es ordnungsgemäß mit Ihrer externen Hardware interagieren zu lassen.
quelle
Sie können den Chip definitiv vom Arduino entfernen und ihn auf einem bloßen Brett oder in einem anderen Projekt verwenden. Der Chip auf dem Arduino Uno und älteren Versionen des Arduino Duemilanove ist ein atmega328 (einige Versionen haben einen atmega168). Den tatsächlichen Verweis auf den Chip finden Sie auf der atmel-Website (Links können nicht gepostet werden, da nicht genügend Karma vorhanden ist). Die Sache, auf die man achten muss, ist, dass sich die Pin-Nummern tatsächlich stark von denen auf dem Arduino-Board unterscheiden. Hier ist eine Seite mit der tatsächlichen Pinbelegung, falls Sie sie in einem anderen Projekt verwenden oder im Datenblatt nachlesen möchten: http://www.arduino.cc/en/Hacking/PinMapping168Achten Sie beim Entfernen des Chips darauf, die Beine des Chips nicht zu verbiegen. Normalerweise benutze ich einen flachen Schraubendreher, den ich auf einer Seite unter den Chip stecke, und bewege mich vorsichtig zur Hälfte. Dann wiederholen Sie auf der anderen Seite, et voila, sauberes Ziehen des Chips. Seien Sie vorsichtig, wenn Sie es wieder einstecken, da manchmal ein Bein etwas außerhalb des Empfangsschlitzes liegt und sich biegt, wenn Sie es wieder nach unten drücken.
Was Arduino als Entwicklungsboard "besonders" macht, ist die Umgebung, in der es programmiert wird. Ähnlich wie bei der Verarbeitung (es wird dieselbe Codebasis verwendet) handelt es sich um eine Art vereinfachtes Frontend für die C ++ - Sprache. Der Code, den Sie im Arduino-Editor schreiben, wird vorne und hinten mit einigen Dingen versehen und mit avr-g ++ zu einer funktionierenden ausführbaren Datei kompiliert. Es wird auch mit dem sogenannten "Kern" verknüpft, der sich im Ordner hardware / cores / arduino im Ordner Arduino befindet. Es initialisiert einige Dinge (wie Timer und serielle Schnittstelle) und implementiert die Hilfsfunktionen, die wir alle kennen und lieben: digitalWrite, analogRead usw. Falls Sie mehr über die avr-gcc-Programmierung im Allgemeinen erfahren möchten, gibt es eine viele Tutorials herum. Ich kann die Website http://www.avrfreaks.net/ empfehlen., die viele Links und Tutorials hat.
Diese Binärdatei wird dann mit einem Programm namens avrdude auf den Chip auf dem Arduino hochgeladen, das wiederum von der Verarbeitung wie der GUI automatisch aufgerufen wird. Dieses Programm lädt die Binärdatei über die serielle Schnittstelle in einen sogenannten Bootloader auf dem atmega328 hoch. Ein Bootloader ist ein kleines Programm (normalerweise 2 KB oder 4 KB), das permanent auf dem Chip gespeichert ist. Wenn Sie es entfernen, in einer anderen Karte verwenden und wieder einstecken, können Sie die Arduino-Software wieder verwenden. Der Arduino-Chip verwendet eine leicht modifizierte Version des stk500-Protokolls und benötigt einen Patch zum Avrduden. Es braucht ein wenig Willen, um den Bootloader tatsächlich zu überschreiben, aber das ist durchaus möglich. Sie können dann entweder einen Standardprogrammierer verwenden, um das Arduino erneut zu flashen. Sie können tatsächlich ein anderes Arduino als Flash-Programmierer verwenden: Google for Arduino ISP
quelle
Sie können das Arduino tatsächlich verwenden, um sich mithilfe der ArduinoISP-Skizze in einen bloßen ATMEGA-Chip zu klonen. Einige halten dies möglicherweise für eine obskure Fähigkeit, andere verwenden sie routinemäßig.
Die Arduino-Idee bringt Ihnen in erster Linie zwei Dinge: einen Bootloader im Chip, mit dem Sie Funktionsprogramme über eine serielle Schnittstelle anstatt über ein spezielles Programmierwerkzeug laden können (die meisten aktuellen Karten verfügen über einen integrierten USB-Seriell-Konverter). Zweitens gibt es eine IDE und eine Reihe von Bibliotheken, die Neulingen die eingebettete Entwicklung erleichtern sollen. Es ist erwähnenswert, dass nicht jeder, der die Hardware und den Bootloader verwendet, die IDE und die Bibliotheken verwendet. Einige bevorzugen es, direkt für den AVR-Chip zu codieren.
Darüber hinaus gibt es ein physikalisch-elektrisches Schnittstellendesign für Zubehör- "Abschirmungen", die auf der Hauptplatine gestapelt sind und eine breite Palette von Add-Ons bieten (obwohl diese im Allgemeinen nicht kostengünstig mit anderen Mikrocontrollern / Platinen sind, auf denen solche Peripheriegeräte gebaut sind -im)
Sie können Arduino-kompatible Boards aus vielen Quellen kaufen und in vielen Formfaktoren, entweder zusammengebaut oder als Kits, können Sie auch Atmega-Chips kaufen, die mit einem Arduino oder einem ähnlichen Bootloader vorinstalliert sind.
quelle
Der Propeller-Mikrocontroller von parallax.com passt zu Ihrer Beschreibung. Das "Propeller Educational Kit" besteht aus dem Propeller-Chip, einem EEPROM, einem USB-zu-Seriell-Stecker, einem Steckbrett und anderen wenigen diskreten Komponenten sowie einem gut geschriebenen und leicht lesbaren Handbuch. Es dauert einige Minuten, um die Schaltung auf dem Steckbrett aufzubauen, und Sie können Programme schreiben und in das EEPROM herunterladen. Sie programmieren es in einer leicht zu erlernenden Sprache namens SPIN sowie in PASM (Propeller Assembly).
Der Propeller ist der allererste Mikrocontroller, mit dem ich "gespielt" habe. Ich benutze das Kit, um ein EEPROM zu programmieren, und setze das EEPROM dann in eine andere "eigenständige" Propeller-basierte Schaltung ein, die ich auf einem Stripboard aufgebaut habe. Stand Alone bedeutet, dass der USB-zu-Seriell-Stecker nicht vorhanden ist.
quelle