Usart à Arduino Uno

Usart à Arduino Uno

Arduino a un moyen flexible de transférer des données entre les appareils et les PC. Arduino utilise un protocole de série connu sous le nom de USART pour communiquer entre ces appareils. L'utilisation de l'USART Arduino peut recevoir des entrées et des sorties de capteurs comme GPS, GSM, RFID et d'autres capteurs. Tous les appareils qui prennent en charge la communication série peuvent être connectés à Arduino, ce qui améliore la compatibilité globale de l'Arduino et une utilisation étendue dans les projets électroniques.

Usart à Arduino Uno

L'USART est également connu sous le nom de récepteur de récepteur synchrone / asynchrone universel; USART est un protocole de communication en série utilisé dans les microcontrôleurs AVR ATMEGA. Arduino utilise ce protocole pour transmettre et recevoir des données des appareils, des capteurs et des PC. UART transmet et reçoit des données sous forme de bits en référence à une impulsion d'horloge. Il peut transférer un bit à la fois sur un seul fil.

Épingles arduino usart

La plupart des tableaux Arduino ont deux broches TX et RX qui sont utilisées pour les dispositifs de communication en série.

  • PIN TX pour transmettre des données
  • PIN RX pour recevoir des données


Certaines des principales spécifications techniques des broches USART sont mises en évidence dans les points mentionnés ci-dessous:

  • Dans l'image ci-dessus, deux LED sont marquées en TX et Rx. Ces deux LED commencent à clignoter lorsque l'Arduino transmet ou reçoit des données en utilisant une communication série USART.
  • Lorsque Arduino reçoit des données de PC Rx LED Glow qui indique que les données sont reçues par Arduino de la même manière lorsque Arduino transmet des données à PC Tx LED Glow qui indique la transmission de données sur PC à l'aide du câble USB.
  • Statut LED de TX et RX clignote de manière opposée lorsque Arduino établit une communication série avec du matériel externe, des appareils ou des modules utilisant TX à D1 et Rx à D0 broches.
  • Arduino ne prend pas en charge la communication simultanée sur les broches USB et TX et RX. Si les broches TX et RX utilisées par tout autre appareil, Arduino ne peut communiquer avec PC sur USB.
  • Les broches TX et RX utilisent la logique TTL. La communication en série entre Arduino et d'autres dispositifs série comme PC se produit au même taux de bauds.

Fonctionnalités USART sur atmega328

Récepteur et émetteur synchrone et asynchrone universels est un moyen très compatible et flexible de communication série entre différents appareils. Les principales caractéristiques de l'USART sont:

  • USART est une opération duplex complète
  • Un fonctionnement synchrone et asynchrone est possible
  • Opération synchrone maître ou esclave
  • Peut générer un taux de bauds à haute résolution
  • Communication à grande vitesse
  • Protocole de communication multiprocesseur
  • Mode asynchrone à double vitesse

Puce atmega328p

Nom de la broche Arduino Uno

Description Arduino

Les fonctions

Pd0 Rx / d0 PIN IO numérique 0 Broche Rx en série
Pd1 TX / D1 PIN IO numérique 1 Broche en série TX
Pd4 D4 PIN IO numérique 4 Minuterie (t0 / xck)

Modes de fonctionnement

Le microcontrôleur Arduino AVR fonctionne en trois modes:

  • Mode normal asynchrone
  • Mode asynchrone à double vitesse
  • Mode synchrone

Mode normal asynchrone

Pendant ce mode, Arduino utilise le taux de bauds prédéfini pour recevoir et transmettre des données sans impulsions d'horloge sous forme.

Mode asynchrone à double vitesse

Pendant ce mode, la vitesse de transfert de données devient double le taux de bauds. Ce taux en bauds est fixé dans le registre UBBR. Il s'agit d'une communication à grande vitesse utilisée lors de la transmission et de la réception de données précises et rapides est requise.

Mode synchrone

Comme son nom montre synchrone, ce qui signifie que les données sont synchronisées avec des impulsions d'horloge. Pendant ce mode, les données sont transmises ou reçues avec les impulsions d'horloge définies dans le registre UCSRC.

Transmettre des données à l'aide de l'USART

Nom de chaîne;
void setup()
En série.commencer (9600);
retard (1000);
En série.println ("quel est votre nom?");

VOID LOOP ()
si (série.disponible())
name = série.ReadStringuntil ('\ n');
En série.println ("Ravi de vous rencontrer", + nom + "!");


Dans le code ci-dessus, nous avons initialisé une chaîne "nom" qui stockera la saisie des utilisateurs et le montrera sur le moniteur en série.

En série.Begin (9600) Initialisera la communication USART avec un taux de bauds défini. Deux fonctions importantes En série.disponible() et En série.ReadStringuntil () sont utilisés dans le programme ci-dessus.

En série.Disponible retournera plusieurs caractères sous la forme d'octets qui ont été lus. Le En série.Readstringuntil La fonction permettra de combiner tous les caractères d'entrée de l'utilisateur et la sortie sera affichée de manière plus importante.


Sortie de moniteur en série

Contrôle LED à l'aide de l'USART

Utilisant maintenant la communication en série, nous contrôlerons une LED via un moniteur en série. Connectez la carte Arduino avec PC à l'aide du câble USB B et téléchargez le code ci-dessous sur la carte Arduino.

CHAR InputState;
void setup()
En série.commencer (9600);
PinMode (13, sortie);

VOID LOOP ()
si (série.disponible ()> 0)
InputState = (char) Serial.lire(); // Lire les données série
if (inputState == '1') // Vérifiez l'entrée reçue
DigitalWrite (13, haut); // Si l'entrée est 1 LED
En série.print ("Les données d'entrée reçues sont:");
En série.println (inputState);

else if (inputstate == '0')
DigitalWrite (13, bas); // Si l'entrée est 0 LED sera désactivée
En série.print ("Les données d'entrée reçues sont:");
En série.println (inputState);



Au début du code, nous avons initié un carboniser variable état d'entrée qui stockera les commentaires du moniteur série.

En série.commencer (9600);


Cette fonction initialisera la communication série entre Arduino Board et PC.

En série.disponible()


Le En série.disponible() La fonction recherchera le nombre d'octets disponibles à lire. Nous avons utilisé un si-condition Ici, qui vérifiera les données de série d'entrée si les données de série d'entrée sont 1 Arduino définira la LED à la broche 13 en haut et que LED s'allumera. Si l'entrée est 0 Arduino définira la LED à la broche 13 comme bas et que la LED s'éteindra.


Sortie de moniteur en série


Sortie LED

LED s'allumera à l'entrée 1 et s'éteint à l'entrée 0.


Par conséquent, nous avons contrôlé la LED en utilisant la communication USART entre Arduino et PC.

Conclusion

USART peut être très utile dans les projets Arduino. Il permet à Arduino d'interfacer plusieurs appareils. Connaître USART aidera à la communication entre Arduino et plusieurs appareils. Dans cet article, nous avons terminé deux codes Arduino. Tout d'abord, nous avons envoyé une chaîne à l'Arduino et l'avons affichée sur le moniteur en série et dans le deuxième code, nous avons contrôlé LED en utilisant la communication série USART.