Arduino hat eine flexible Möglichkeit, Daten zwischen Geräten und PCs zu übertragen. Arduino verwendet ein serielles Protokoll, das als USAT bekannt ist, um zwischen diesen Geräten zu kommunizieren. Die Verwendung von USAart Arduino kann Eingang und Ausgänge von Sensoren wie GPS, GSM, RFID und anderen Sensoren empfangen. Alle Geräte, die serielle Kommunikation unterstützen.
USAart in Arduino uno
USAart ist auch als universeller synchroner/asynchroner Empfängertransmitter bekannt; USAart ist ein serielles Kommunikationsprotokoll, das in AVR ATMEGA -Mikrocontrollern verwendet wird. Arduino verwendet dieses Protokoll, um Daten von Geräten, Sensoren und PCs zu übertragen und zu empfangen. UART überträgt und empfängt Daten in Form von Bits in Bezug auf den Taktpuls. Es kann jeweils ein Bit auf einem einzigen Draht übertragen.
Arduino USAart Pins
Die meisten Arduino -Boards haben zwei Pins TX und RX, die für serielle Kommunikationsgeräte verwendet werden.
Einige der wichtigsten technischen Spezifikationen von USAT -Stiften sind in den folgenden erwähnten Punkten hervorgehoben:
USAart -Funktionen auf ATMega328
Universeller synchroner und asynchroner Empfänger und Sender ist eine hoch kompatible und flexible Art der seriellen Kommunikation zwischen verschiedenen Geräten. Hauptmerkmale von USAArT sind:
ATMega328p Chip | Arduino Uno Pin Name | Arduino Beschreibung | Funktionen |
PD0 | RX/D0 | Digitaler IO Pin 0 | Serien -RX -Pin |
PD1 | TX/D1 | Digitaler IO Pin 1 | Serien -TX -Pin |
PD4 | D4 | Digitaler IO Pin 4 | Timer (T0/Xck) |
Betriebsmodi
Arduino AVR Microcontroller arbeitet in drei Modi:
Asynchroner normaler Modus
Während dieses Modus verwendet Arduino vordefinierte Baudrate, um Daten ohne Taktimpulse in Form von Stück für Stück zu empfangen und zu übertragen.
Asynchroner Doppelgeschwindigkeitsmodus
Während dieses Modus wird die Übertragungsgeschwindigkeit der Daten doppelt so. Diese Baudrate wird im UBBR -Register festgelegt. Dies ist eine Hochgeschwindigkeitskommunikation, bei der genaue und schnelle Datenübertragung und Empfangen erforderlich sind.
Synchronmodus
Wie der Name synchron zeigt, bedeutet dies, dass Daten mit Taktimpulsen synchronisiert werden. Während dieses Modus werden Daten übertragen oder empfangen, wobei die Taktimpulse im UCSRC -Register definiert sind.
Daten mit USART übertragen
Zeichenfolge Name;
void setup ()
Serie.Beginnen Sie (9600);
Verzögerung (1000);
Serie.println ("Wie heißt Ihr Name?");
void Loop ()
if (seriell.verfügbar())
Name = Serie.ReadStringuntil ('\ n');
Serie.println ("Schön dich kennenzulernen" + Name + "!");
Im obigen Code haben wir eine Zeichenfolge initialisiert "Name" Dadurch werden Benutzereingaben gespeichert und auf Serienmonitor angezeigt.
Serie.Beginn (9600) initialisieren die USAArT -Kommunikation mit einer definierten Baudrate. Zwei wichtige Funktionen Serie.verfügbar() Und Serie.ReadStringuntil () werden im obigen Programm verwendet.
Serie.Verfügbar werden mehrere Zeichen in Form von Bytes zurückgegeben, die gelesen wurden. Der Serie.ReadStringuntil Die Funktion ermöglicht es, alle Eingangszeichen des Benutzers zu kombinieren, und die Ausgabe wird auf wichtigere Weise angezeigt.
Serienmonitorausgang
Steuerung der LED mit USAT
Mit der seriellen Kommunikation werden wir eine LED über einen seriellen Monitor kontrollieren. Schließen Sie die Arduino -Board mit dem USB -B -Kabel mit dem PC an und laden Sie den folgenden Code an die Arduino Board hoch.
char InputState;
void setup ()
Serie.Beginnen Sie (9600);
PinMode (13, Ausgabe);
void Loop ()
if (seriell.Verfügbar ()> 0)
InputState = (char) serial.lesen(); // Seriendaten lesen
if (InputState == '1') // nach empfangenen Eingaben prüfen
DigitalWrite (13, hoch); // Wenn die Eingabe 1 LED ist, wird eingeschaltet
Serie.print ("empfangene Eingabedaten sind:");
Serie.println (InputState);
sonst if (InputState == '0')
DigitalWrite (13, niedrig); // Wenn die Eingabe 0 ist, wird die LED ausgeschaltet
Serie.print ("empfangene Eingabedaten sind:");
Serie.println (InputState);
Zu Beginn des Code haben wir a eingeleitet verkohlen Variable Eingabestatus Dadurch werden Eingaben vom Serienmonitor gespeichert.
Serie.Beginnen Sie (9600);
Diese Funktion wird die serielle Kommunikation zwischen Arduino Board und PC initialisieren.
Serie.verfügbar()
Der Serie.verfügbar() Die Funktion wird nach der Anzahl der zum Lesen verfügbaren Bytes suchen. Wir haben eine benutzt If-Kondition Hier prüft die seriellen Daten Eingabe, wenn die seriellen Eingabedaten 1 sind. 1 Arduino wird LED auf Pin 13 als hoch eingestellt und LED wird eingeschaltet. Wenn der Eingang 0 ist, wird Arduino LED auf Pin 13 als niedrig eingestellt und LED wird ausgeschaltet.
Serienmonitorausgang
LED -Ausgabe
LED wird bei Eingabe 1 eingeschaltet und bei Eingabe 0 ausgeschaltet.
Daher haben wir die LED mit der USAart -Kommunikation zwischen Arduino und PC kontrolliert.
Abschluss
USAart kann in Arduino -Projekten sehr nützlich sein. Es ermöglicht Arduino, mehrere Geräte zu interpretieren. Das Wissen über USAart wird bei der Kommunikation zwischen Arduino und mehreren Geräten helfen. In diesem Artikel haben wir zwei Arduino -Codes abgeschlossen. Zunächst haben wir eine Zeichenfolge an den Arduino gesendet und sie über den seriellen Monitor angezeigt und im zweiten Code haben wir eine SteuerlED mithilfe der Serienkommunikation USAart.