Tải bản đầy đủ (.pdf) (12 trang)

Serial Monitor read the character enter in Serial monitor

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (102.44 KB, 12 trang )

SerialMonitor
//readthecharacterenterinSerialmonitorandprintou
t

charsendChar;

voidsetup(){
Serial.begin(9600);

}

voidloop(){
if(Serial.available()){
sendChar=Serial.read();
Serial.println(sendChar);
}
}

Result

Type“HelloWorld”inmonitor,printout:HelloWorld(wordsbywords)

Toprintinserialmonitorinoneline


charsendChar;

voidsetup(){
Serial.begin(9600);

}



voidloop(){
if(Serial.available()){
sendChar=Serial.read();
Serial.print(sendChar);
}
}

Result

type“helloworld”,printout“helloworld”inoneline

Useserialmonitortocontrol
LED
TypeH,Linserialmonitortocontrolled13inarduinoUnoR3

constintledPin=13;
intincomingByte;


voidsetup(){

Serial.begin(9600);

pinMode(ledPin,OUTPUT);
}

voidloop(){

if(Serial.available()>0){


incomingByte=Serial.read();

if(incomingByte=='H'){
digitalWrite(ledPin,HIGH);
}

if(incomingByte=='L'){
digitalWrite(ledPin,LOW);
}
}
}

Reference:Arduinocc,PhysicalPixel

Transmitdatabetween2arduino


Connection

Arduino1

Arduino2

5V
GND

5V
GND


RX

TX

TX

RX

Send9,8turnon/offledinslavearduino

UploadingthefirmwaretotheArduinobeforeconnectingthe2wireTX
RXbetweenthem.Connectingthese2wireduringuploadingtimemight
ledtotheuploadingproblem.

JustpoweroneArduino

Master

voidsetup(){
Serial.begin(9600);
}

voidloop(){
Serial.println(9);
delay(2000);
Serial.println(8);


delay(2000);
}


Slave

charreceived;
voidsetup(){
Serial.begin(9600);
pinMode(16,OUTPUT);
}

voidloop(){

if(Serial.available()){
received=Serial.read()-48;
Serial.println(received);
if(received==9)
{
digitalWrite(16,HIGH);
}
elseif(received==8)
{
digitalWrite(16,LOW);
}
}
}


Controllingbywords

Master


voidsetup(){
Serial.begin(9600);
}

voidloop(){
Serial.println('H');
delay(2000);
Serial.println('L');
delay(2000);
}

Slave

charreceived;
voidsetup(){
Serial.begin(9600);
pinMode(16,OUTPUT);
}

voidloop(){

if(Serial.available()){
received=Serial.read();


Serial.println(received);
if(received=='H')
{
digitalWrite(16,HIGH);
}

elseif(received=='L')
{
digitalWrite(16,LOW);
}
}
}

NOTE
IfinMaster

received=='High'
received=='LOW'

theninSlave

if(received=='High')
{
digitalWrite(16,HIGH);
}
elseif(received=='Low')
{


digitalWrite(16,LOW);
}

InSerialmonitorofmaster:

2835
2647


InSerialmonitorofslave:

2
8
3
5

2
6
4
7

Soitwon’tworkasthereceiveandsendvariablearechar(meanone
character).

Likealltimes,""isforstring,’’isforchar.

ASCII:‘A’=65;‘0’=48’,…


TosendthewholewordstocontrolLED

Master

voidsetup(){
Serial.begin(9600);
}

voidloop(){

Serial.println("High");
delay(2000);
Serial.println("Low");
delay(2000);
}

Slave

Ifyouchangeto

received=Serial.read();
Serial.println(received);
if(received=="High")
{
digitalWrite(16,HIGH);
}
elseif(received=="Low")
{


digitalWrite(16,LOW);
}

YoustillreveivetheASCIInumber

SoftwareSerial
TypeH,LinmasterArduino,,turnon,offledinslave
Arduino

Connection


Master
5V
GND

Slave
5V
GND

2(RX)

TX

3(TX)

RX

Master

#include<SoftwareSerial.h>
SoftwareSerialArduino(2,3);//RX,TX

charsendChar;
voidsetup(){
Serial.begin(9600);


Arduino.begin(9600);
}


voidloop(){

sendChar=Serial.read();
Serial.print(sendChar);
Arduino.println(sendChar);
delay(1000);
}

Slave

charreceived;
voidsetup(){
Serial.begin(9600);
pinMode(16,OUTPUT);
}

voidloop(){

if(Serial.available()){
received=Serial.read();
Serial.println(received);
if(received=='H')
{
digitalWrite(16,HIGH);


}
elseif(received=='L')
{
digitalWrite(16,LOW);

}
}
}



×