USAart in Arduino uno

USAart in Arduino uno

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.

  • TX PIN zum Übertragen von Daten
  • RX -PIN zum Empfangen von Daten


Einige der wichtigsten technischen Spezifikationen von USAT -Stiften sind in den folgenden erwähnten Punkten hervorgehoben:

  • Im obigen Bild sind zwei LEDs als TX und RX markiert. Diese beiden LEDs beginnen zu blinzeln, wenn der Arduino mithilfe der seriellen Kommunikation der USAT übertragen oder Daten empfängt.
  • Wenn Arduino Daten aus dem PC -RX -LED -Glow empfängt, die angeben.
  • LED -Status von TX und RX Blink entgegen.
  • Arduino unterstützt keine gleichzeitige Kommunikation über USB- und TX- und RX -Pins. Wenn TX- und RX -Stifte, die von einem anderen Gerät verwendet werden, kann Arduino nicht über USB mit PC kommunizieren.
  • TX- und RX -Stifte verwenden die TTL -Logik. Serielle Kommunikation zwischen Arduino und anderen seriellen Geräten wie PC tritt mit der gleichen Baud -Rate auf.

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:

  • USAart ist der vollständige Duplex -Betrieb
  • Sowohl der synchrone als auch der asynchrone Betrieb ist möglich
  • Master- oder Slave -Takt -Synchronbetrieb
  • Kann hochauflösende Baudrate erzeugen
  • Hochgeschwindigkeitskommunikation
  • Mehrprozessor-Kommunikationsprotokoll
  • Asynchroner Doppelgeschwindigkeitsmodus

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
  • Asynchroner Doppelgeschwindigkeitsmodus
  • Synchronmodus

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.