Seriële communicatie
De seriële communicatie is een eenvoudig schema dat gebruik maakt van de UART (Universele asynchrone ontvanger/zender) op de microcontroller. Het gebruikt,
Voor een 3,3V-bord gebruikt het
Elk bericht dat via de UART wordt verzonden, heeft de vorm van 8 bits of 1 byte 1 byte = 8 bits.
De berichten die vanuit Arduino naar de computer worden verzonden, zijn verzonden vanaf PIN 1 van het Arduino-bord, genaamd Tx (zender) . De berichten die vanaf de computer naar de Arduino worden verzonden, zijn ontvangen op PIN 0, genaamd Rx ( Ontvanger ).
Deze twee pinnen op het Arduino UNO-bord zien eruit als de onderstaande afbeelding:
Wanneer we de pinnen voor seriële communicatie in onze code initialiseren, kunnen we deze twee pinnen (Rx en Tx) voor geen enkel doel gebruiken. De Tx- en Rx-pinnen zijn ook rechtstreeks op de computer aangesloten.
De pinnen zijn verbonden met de seriële Tx- en Rx-chip, die fungeert als een serieel-naar-USB-vertaler. Het fungeert als medium voor de computer om met de microcontroller te praten.
De chip op het bord ziet eruit als de onderstaande afbeelding:
Het object kan een willekeurig aantal gegevensleden (informatie) en lidfuncties (om acties aan te roepen) bevatten.
De Serieel.begin( ) is een onderdeel van het seriële object in de Arduino. Het vertelt het seriële object om initialisatiestappen uit te voeren om gegevens te verzenden en te ontvangen op de Rx en Tx (pinnen 1 en 0).
uitzonderingen die Java afhandelen
Laten we Serial.begin( ) in detail bespreken.
Arduino Mega heeft vier seriële poorten. De Tx-pinnen op het Mega-bord staan hieronder vermeld:
- 1 (TX)
- 18 (TX)
- 16 (TX)
- 14 (TX)
De Rx-pinnen op de Mega-poort worden hieronder vermeld:
- 0 (RX)
- 19 (RX)
- 17 (RX)
- 15 (RX)
De communicatie met de Tx- en Rx-pinnen zou interferentie en mislukte uploads naar het betreffende bord veroorzaken.
Als we een seriële poort nodig hebben voor communicatie, moeten we een USB-naar-serieel adapter . Het is een mini-USB-connector, die de USB-verbinding omzet naar seriële RX en TX. We kunnen de adapter rechtstreeks op het bord aansluiten.
Er zijn vijf pinnen aanwezig op de USB-naar-serieel-adapter, waaronder RX, TX, resetknop en GND (aarde).
Serieel.begin ( )
De serial.begin() stelt de baudrate in voor seriële datacommunicatie . De baal snelheid geeft de datasnelheid in bits per seconde aan.
De standaard baudrate in Arduino is 9600 bps (bits per seconde ). We kunnen ook andere baudrates opgeven, zoals 4800, 14400, 38400, 28800, enz.
De Serial.begin( ) wordt gedeclareerd in twee formaten, die hieronder worden weergegeven:
- begin(snelheid)
- begin(snelheid, configuratie)
Waar,
serieel : Het duidt het seriële poortobject aan.
snelheid : Dit geeft de baudsnelheid of bps (bits per seconde) aan. Het staat toe lang gegevenstypen.
configuratie : Hiermee worden de stop-, pariteits- en databits ingesteld.
Voorbeeld 1:
void setup ( ) { Serial.begin(4800); } void loop ( ) { }
De serial.begin (4800) opent de seriële poort en stelt de bits per snelheid in op 4800. De berichten in Arduino worden uitgewisseld met de seriële monitor met een snelheid van 4800 bits per seconde.
Laten we een ander voorbeeld bekijken.
Voorbeeld 2:
Het wordt hieronder weergegeven: