Was ist der Unterschied zwischen einem Arduino, einem Mikroprozessor und einem Mikrocontroller? Ich versuche herauszufinden, was am besten ist, um einen billigen resistiven Touchscreen zu bedienen.
ist typischerweise in einem Desktop-PC oder Laptop zu finden und enthält eine CPU und eine externe Speicherschnittstelle sowie verschiedene E/A-Busse zur Verbindung mit der Außenwelt wie SPI, I2C, UART, USB, LCD und andere. Ein Mikroprozessor hat auch einen externen Kristall, um eine Uhr bereitzustellen.
Die meisten Mikroprozessoren haben keinen Nur-Lese-Speicher auf dem Chip; Stattdessen befindet sich auf dem Motherboard ein externer Chip, auf dem sich der anfängliche Boot-Code befindet. Auf Intel-basierten PCs wird dies als Basic Input/Output System (BIOS) bezeichnet und enthält neben dem anfänglichen Boot-Code auch E/A-Routinen. Der Boot-Code beginnt mit einem Power-On Self Test (POST) und schaut dann, wo die nächste Stufe des Boot-Codes geladen werden soll – von einer Festplatte, CD (oder in alten Zeiten) einer Diskette. Dieser Second-Level-Boot lädt dann das Betriebssystem. (In manchen Systemen kann es sogar drei Boot-Code-Ebenen geben.)
Einige Mikroprozessoren (normalerweise solche, die für Smartphones und Tablets bestimmt sind, die begrenzte Boot-Optionen haben) haben eine kleine Menge an Nur-Lese-Speicher, der den anfänglichen Boot-Code enthält.
Ich bezeichne den Boot-Code als schreibgeschützt; Tatsächlich kann es auf einigen Systemen aktualisiert werden. Dies ist jedoch ziemlich riskant; Wenn etwas schief geht, bootet das System möglicherweise nicht mehr.
Im Gegensatz zu Mikrocontrollern, die ihre Programme aus dem Nur-Lese-Speicher ausführen, laden Mikroprozessoren ihre Programme nach dem Booten in einen externen RAM und führen sie von dort aus aus.
Andererseits ist es ein eigenständiger Einzelchip-IC, der eine CPU, einen Nur-Lese-Speicher zum Speichern des Programms, einen RAM zum Speichern von Variablen, die bei der Ausführung des Programms verwendet werden, und verschiedene E/A-Busse zum Verbinden mit der Außenwelt enthält, wie z wie SPI, I2C, UART und andere. Es kann selbst keine Programme ausführen, ohne über eine externe Schnittstelle zu einem PC programmiert zu werden. Ein Mikrocontroller benötigt möglicherweise auch einen externen Kristall, um eine Uhr bereitzustellen, einige haben jedoch eine interne Uhr.
Einige Mikrocontroller (wie der PIC32 von Microchip) haben zwei Bereiche des Flash-Speichers; einer für den Initialisierungscode (Bootcode) und der andere für die Speicherung der Anwendung. Dadurch wird es einfacher, den Anwendungscode direkt zu aktualisieren.
Für Ihren Zweck möchten Sie einen Mikrocontroller verwenden, keinen Mikroprozessor. Um einen Mikrocontroller zu verwenden, müssten Sie entweder Ihr eigenes Board entwerfen oder eine Art Entwicklungsboard kaufen.
ist eine solche Platine und enthält einen Mikrocontroller, typischerweise einen 8-Bit-AVR wie ATmega8, ATmega168, ATmega328, ATmega1280 und ATmega2560, plus Netzteile, Kristall und Buchsenleisten zur Verbindung mit verschiedenen Peripherieplatinen.
Diese Peripherieplatinen werden Shields genannt und sind so konzipiert, dass sie übereinander gestapelt werden können (es gibt männliche Stifte auf der Unterseite der Platinen, um sie mit dem Arduino selbst oder einer anderen Abschirmung zu verbinden, und Buchsenleisten auf der Oberseite, um die männlichen Pins von aufzunehmen ein darauf gestapelter Schild).
Beispiele für Abschirmungen sind Motorsteuerplatinen, allgemeine E/A-Platinen, Relaisplatinen, Ethernet-Platinen und LCDs, typischerweise mit einem Touchscreen. Ich kenne jedoch keine resistiven Touchscreens, die nur zur Erkennung verwendet würden (ohne LCD).
Zusätzlich zu der oben beschriebenen Hardware verfügt Arduino auch über eine plattformübergreifende integrierte Entwicklungsumgebung (Integrated Development Environment, IDE), die in Java geschrieben ist. Es wurde entwickelt, um Künstlern und anderen Anfängern das Programmieren näher zu bringen, ähnlich wie es die BASIC-Sprache vor 50 Jahren tat. Ein Programm für Arduino heißt Sketch .
Arduino-Programme sind in C oder C++ geschrieben, viele Details bleiben dem Benutzer jedoch verborgen: Es müssen nur zwei Funktionen (vom System aufgerufen) definiert werden, um ein Programm zu erstellen, das sich kontinuierlich wiederholt (was normalerweise für eingebettete Programme gilt).
setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off
Die IDE wird mit einer Softwarebibliothek namens "Wiring" geliefert, die für allgemeine Eingabe-/Ausgabeoperationen verwendet werden kann.
Ein Arduino ist eine Leiterplatte, die einen Atmel AVR-Mikrocontroller enthält und normalerweise eine Reihe von Anschlüssen in einem Standardmuster bereitstellt. Der Mikrocontroller ist typischerweise mit einem „Bootloader“-Programm vorprogrammiert, das es ermöglicht, ein Programm (als „Sketch“ bezeichnet) über eine serielle TTY-Verbindung (oder eine virtuelle serielle über eine USB-Verbindung) von einem PC in den Mikrocontroller zu laden.
Ein Mikroprozessor ist ein IC, der nur eine zentrale Verarbeitungseinheit (CPU) enthält. Der IC enthält kein RAM, ROM oder andere Peripheriegeräte. Der IC kann einen Cache-Speicher enthalten, ist aber nicht dafür ausgelegt, ohne externen Speicher verwendbar zu sein.
Mikroprozessoren können keine Programme intern speichern und laden daher normalerweise Software, wenn sie eingeschaltet werden. Dies beinhaltet normalerweise einen komplexen mehrstufigen "Boot" -Prozess, bei dem "Firmware" von einem externen ROM geladen wird und schließlich ein Betriebssystem von anderen Speichermedien (z. B. Festplatte) geladen wird ).
Es ist normalerweise in einem Personal Computer zu finden.
Ein Mikrocontroller ist ein IC, der eine CPU sowie eine gewisse Menge an RAM, ROM und andere Peripheriegeräte enthält. Mikrocontroller können ohne externen Speicher oder Speicher funktionieren.
Normalerweise werden Mikrocontroller entweder programmiert, bevor sie auf eine Leiterplatte gelötet werden, oder sie sind unter Verwendung von In-System-Programming-Anschlüssen (ISP oder ICSP) über ein spezielles "Programmiergerät", das an einen Personal Computer angeschlossen ist, programmierbar.
Typische Mikrocontroller sind viel einfacher und langsamer als typische Mikroprozessoren, aber ich glaube, dass der Unterschied hauptsächlich in Größe und Anwendung liegt.
Es findet sich beispielsweise in einfachen Geräten wie einfachen Waschmaschinen.
"Arduino" ist eine Softwareentwicklungsumgebung und eine von mehreren Mikrocontroller-Platinen, für die die Softwareumgebung Programme entwickeln kann. Die meisten Boards verwenden Atmel AVR-Mikrocontroller.
Arduino ist eine auf Mikrocontrollern basierende Plattform (ATMEGA 328 für UNO). Im Allgemeinen ist ein Mikrocontroller besser geeignet als ein Mikroprozessor für alles, was die Erfassung von Eingängen erfordert. Das liegt daran, dass Mikrocontroller wie der ATMEGA 328 über Analog-Digital-Wandler (ADCs) zum Erfassen von Spannungen verfügen und außerdem über PWM-Ausgänge sowie digitale I/Os verfügen.
Mit Arduino haben Sie auch das Arduino Dev-System, das für Anfänger einfacher zu programmieren ist und eine gute Community für Support und Bibliotheken hat.
Ein resistiver Touchscreen verhält sich wie Potentiometer; eine für x und eine für y. Sie können diese also in Arduino-Analogeingänge stecken. Einzelheiten finden Sie hier .
Eine andere Möglichkeit besteht darin , mit so etwas in SPI oder I2C zu konvertieren und mit Arduino zu lesen.
In jedem Fall halte ich Arduino für eine gute Wahl.
Der Arduino besteht aus einem Mikrocontroller (dem ATmega328 auf der UNO-Version). Der Arduino ist also eine Platine mit den sauber getrennten Pins des Mikrocontrollers, einer Stromversorgung, einem Kristall und dem FTDI für die USB-Verbindung mit einer integrierten Firmware, sodass Sie ihn einfach mit einer eigenen IDE programmieren können. Hier ist eine Liste über die Arduino-Komponenten: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq
rauben
trosley