Paul hier, Teensy-Entwickler. Natürlich ist meine Meinung darüber, ob Sie einen Teensy verwenden sollten, voreingenommen, aber in Bezug auf die technische Genauigkeit kenne ich die Details!
Erstens funktioniert Teensy definitiv mit der Arduino IDE, wenn Sie das Teensyduino-Add-On-Paket installieren. Es gibt ein sehr einfach zu bedienendes automatisiertes Installationsprogramm. Dann können Sie einfach Teensy aus dem Menü Extras-> Boards auswählen.
Auf jeden Fall ist Teensy mit dem Chip '168 oder' 328 viel einfacher als Arduino, wenn Sie ein serielles Gerät wie ein GPS mit NEMA 0183-Ausgang, eine SPS mit Modbus oder eine beliebige Anzahl anderer serieller Geräte anschließen möchten.
Arduino verwendet die serielle Schnittstelle zum Herunterladen von Code. Sie benötigen die RXD- und TXD-Pins, die mit dem FTDI USB-Seriell-Konverter-Chip auf dem Arduino verbunden sind, zumindest während Sie neuen Code laden. Ihr erstes Problem ist also, wie Ihr Gerät den RXD-Pin steuert und keine Konflikte verursacht. Sie können den Arduino beispielsweise mit einem DPDT-Kippschalter modifizieren, um die RXD / TXD-Signale zwischen dem USB-Seriell-Konverter und Ihrem Gerät umzuschalten. Dann müssen Sie jedes Mal den Schalter umlegen, es sei denn, Sie haben etwas Automatisierteres gefunden. Es gibt andere Ansätze, aber grundsätzlich verwendet der Arudino die serielle Schnittstelle. Wenn Sie sie also auch verwenden möchten, müssen Sie einige Anstrengungen unternehmen, um sie irgendwie zu teilen.
Bei Teensy gibt es einen direkten USB-Anschluss, der für die gesamte Entwicklung verwendet wird. Sie können eine direkte Verbindung zum seriellen RXD / TXD des Teensy herstellen, da dieser für nichts anderes verwendet wird. Sie verwenden die serielle Schnittstelle in denselben Funktionen (beginnen, verfügbar, lesen, schreiben), müssen jedoch eine Zeile hinzufügen, um den gewünschten Namen zu definieren. Diese Seite enthält die Details:
http://www.pjrc.com/teensy/td_uart.html
Während Ihr Programm ausgeführt wird, können Sie Serial.print () verwenden, das über USB auf den Arduino Serial Monitor druckt. Es funktioniert genau wie Serial.print (), nur dass es bei voller USB-Geschwindigkeit viel schneller ist als Arduinos Serial mit maximal 115,2 kbps. Der USB-Anschluss ist ebenfalls doppelt gepuffert, sodass ein typischer Aufruf von Serial.print () die Steuerung sehr schnell an Ihr Programm zurückgibt, während Arduino wartet (die serielle Schnittstelle puffert 2 Byte).
Der Teensy verfügt über einen echten USB-Anschluss, mit dem theoretisch nahezu alle Arten von Geräten implementiert werden können. In der Praxis sind Sie mit Teensyduino auf die im Menü Extras-> Boards angegebenen Typen beschränkt. Derzeit haben Sie die Wahl zwischen USB Serial (was Ihnen fast genau wie Arduino bietet, aber viel schneller ist) oder USB Keyboard / Mouse. Beide unterstützen Serial.print () für den Serial Monitor. Mit Tastatur / Maus wird der Teensy zu einer Tastatur und Maus, während Ihr Programm ausgeführt wird. Sie können mit Keyboard.print () tippen (Achtung: Speichern Sie zuerst Ihre Arbeit!) Und Funktionen wie Mouse.move (x, y) verwenden. Andere Gerätetypen sind geplant.
Ein Unterschied zwischen dem Teensy und Arudino besteht darin, dass sich der USB-Stick jedes Mal ändert, wenn Sie neuen Code laden und neu starten (Arduino wird immer als serieller USB-Chip angezeigt). Teensyduino ist sehr bemüht, Ihnen eine Erfahrung zu bieten, die einem echten Arduino sehr nahe kommt. Es gibt jedoch kein physikalisches Rücksetzsignal (Arduino verwendet das DTR-Signal von seinem USB-seriellen Chip). Das automatische Zurücksetzen wird in der Software emuliert, sodass Sie in den meisten Fällen einfach auf die Schaltfläche zum Hochladen klicken können. Wenn jedoch kein zuvor geladener Code ausgeführt wird oder der Interrupt mit deaktivierten Interrupts abstürzt, müssen Sie die Reset-Taste am Teensy physisch drücken (ähnlich wie bei den älteren Arduinos, bevor das automatische Zurücksetzen hinzugefügt wurde). Eine Meldung informiert Sie, ob Sie den Knopf drücken müssen.
Wenn Sie planen, vorhandenen Arduino-Code wiederzuverwenden, funktioniert er in den meisten Fällen hervorragend auf dem Teensy. Insbesondere wenn dieser Code die Arduino-Funktionen (Verkabelung) wie PinMode, DigitalWrite usw. verwendet, funktioniert er mit ziemlicher Sicherheit. Der Teensy verfügt über einen sehr ähnlichen Satz von AVR-Timern und Peripheriegeräten, sodass der meiste Code, der direkt auf die Hardware zugreift, mit nur geringen oder keinen Änderungen funktioniert. Einige Arduino-Programme (und sogar einige schlecht gestaltete Bibliotheken) haben jedoch Hardcode-Annahmen, z. B. die RXD- und TXD-Pins, die den Arduino-Pins 0 und 1 entsprechen. Wenn Sie planen, Code wiederzuverwenden oder bestimmte Bibliotheken zu verwenden, ist dies der Fall eine Überprüfung wert.
Teensy arbeitet nicht wirklich unter 2,5 Volt und der USB kann nicht mit weniger als 3 Volt arbeiten. Es kann extern mit Strom versorgt werden, indem einfach die Stifte mit Strom versorgt werden. Diese Leistung muss jedoch reguliert werden.
Ich habe mich bemüht, dies nicht zu einem Verkaufsgespräch zu machen. Ich hoffe, Sie berücksichtigen die technischen Details und treffen die Wahl, die für Ihr Projekt am besten geeignet ist.