Arduino RS422

In deze gids duiken we in hoe u RS422-communicatie opzet met Arduino. We behandelen de volgende stappen grondig:

De tutorial geeft instructies voor zowel Hardware Serial als SoftwareSerial.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×TTL naar RS422 Module
1×Jumperdraden
1×(Optioneel) RS422 naar USB Kabel
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de TTL naar RS422 Module

Wanneer u seriële communicatie op Arduino gebruikt via functies zoals Serial.print(), Serial.read(), en Serial.write(), verstuurt de Arduino data via de TX-pin en ontvangt data via de RX-pin. Deze pinnen werken op TTL-niveau, wat betekent dat de signalen die ze verwerken een beperkte afstand hebben. Voor seriële communicatie over langere afstanden is het daarom noodzakelijk het TTL-signaal om te zetten naar RS232, RS422 of RS485 signaal standaarden.

In deze tutorial bekijken we het gebruik van RS422 (ook bekend als RS-422) met Arduino door een TTL naar RS422 module te gebruiken. Deze module maakt het mogelijk TTL-signalen om te zetten naar RS422-signalen en omgekeerd.

Pinout

De RS422 naar TTL module heeft twee interfaces:

  • De TTL-interface (verbonden met Arduino) bevat 4 pinnen:
    • VCC pin: voedingspin, moet verbonden zijn met VCC (5V, of 3.3V)
    • GND pin: aarde, moet verbonden zijn met GND (0V)
    • RXD pin: datapin, moet verbonden zijn met een TX-pin van de Arduino
    • TXD pin: datapin, moet verbonden zijn met een RX-pin van de Arduino
  • De RS422-interface bestaat uit de volgende pinnen:
    • A (R+) pin: RX+ pin van de module, verbind deze met TX+ pin (T+ of Y pin) van het andere RS422-apparaat.
    • B (R-) pin: RX- pin van de module, verbind deze met TX- pin (T- of Z pin) van het andere RS422-apparaat.
    • Y (T+) pin: TX+ pin van de module, verbind deze met RX+ pin (R+ of A pin) van het andere RS422-apparaat.
    • Z (T-) pin: TX- pin van de module, verbind deze met RX- pin (R- of B pin) van het andere RS422-apparaat.
    RS-422 module Pinout
    image source: diyables.io

Bedradingsschema

  • Bedradingsschema bij gebruik van hardware serial
Arduino TTL naar RS422 Bedradingsschema

This image is created using Fritzing. Click to enlarge image

  • Bedradingsschema bij gebruik van software serial
Arduino RS-422 naar TTL Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Hoe Arduino te Programmeren voor gebruik van de RS422 module

  • Initialiseer de Serial interface:
Serial.begin(9600);
  • Als u SoftwareSerial gebruikt, moet u de library includen en een SoftwareSerial object declareren:
#include <SoftwareSerial.h> // Definieer de SoftwareSerial objecten en hun pinnen SoftwareSerial rs422(6, 7); // RX: 6, TX: 7

Arduino Code voor Hardware Serial

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-rs422 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial.available()) { char data = Serial.read(); // read the received character Serial.print(data); // echo back to data to the sender } }

Arduino Code voor Software Serial

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-rs422 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial rs422(6, 7); // RX: 6, TX: 7 void setup() { // start communication with baud rate 9600 rs422.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs422 if (rs422.available()) { char data = rs422.read(); // read the received character rs422.print(data); // echo back to data to the sender } }

Testen

U kunt een test doen door data te verzenden van uw PC naar Arduino via RS-422 en andersom. Volg daarvoor de onderstaande stappen:

  • Verbind Arduino met uw PC via een RS422-naar-USB kabel zoals hieronder:
Arduino RS422 naar PC communicatie
  • Installeer een seriële terminalprogramma zoals Tera Term of PuTTY
  • Open het seriële terminalprogramma en stel de seriële parameters in (COM-poort, baudrate, etc.)
  • Typ wat data in de seriële terminal om te verzenden naar Arduino.
  • Als het succesvol is, ziet u de echo van de data in de seriële terminal.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u het proces gemakkelijker te volgen.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!