Serial Communication
Serial communication is used to transfer data between two devices.
Image Removed
...
Data passes between the computer and Arduino through the USB cable. Data is transmitted as zeros (‘0’) and ones (‘1’) sequentially.
...
For this reason, we typically do not use Digital I/O 0 or 1 for anything in our designs.
Using Serial
Sending a Message
language | cpp |
---|
theme | Confluence |
---|
|
// initialize serial to a baud rate of 9600.
|
|
// Ensure that the same baud rate is set in the serial monitor.
|
|
} Serial.print("Hands on ") ;
|
|
// does not insert a newline at the end;
|
|
// next message continues on the same line
|
|
Serial.print("Learning ") ;
|
|
// does not insert a newline at the end;
|
|
// next message continues on the same line
|
|
Serial.println("is Fun!!!") ;
|
|
// inserts a newline at the end;
|
|
// next message is printed on a new line
} |
|
]] ></ac:plain-text-body></ac:structured-macro></div></td><td><div class="content-wrapper"><p><ac:image ac:width="370"><ri:attachment ri:filename="image2020-1-21_21-43-17.png" /></ac:image></p><p>Note: Blocks allow only 9600 as baud rate; there is no baud rate setting.</p></div></td></tr><tr><td><p>Try the example above for the following two cases</p><p>(i) Serial.println for all three messages</p><p>(ii) Serial.print for all three messages</p></td><td><p>Try the example above for the following two cases</p><p>(i) with newline for all three messages</p><p>(ii) without newline for all three messages</p></td></tr></tbody></table><p>If you see strange-looking characters in the serial monitor, your bit / baud rate set in the Serial Monitor most likely does not match the one used in your Arduino sketch.</p><h3><strong>analogRead() </strong><strong>Serial Example</strong></h3><p>Printing to Serial console is a very effective mechanism in debugging your code. You can print out the values of variables at different points in your code, which can then be compared with the expected values. This might be of help in identifying logical issues with your code.</p><p>It is also useful in monitoring the readings from various sensors so that you can decide on the thresholds etc, i.e., to fine-tune your design / code. The following example prints out the reading obtained from the analog sensor connected to pin A0 (for example, an LDR connected to pin A0 as is the case in the <ac:link><ri:page ri:content-title="Analog Input" /></ac:link> page).</p><table class="wrapped"><colgroup><col /><col /></colgroup><tbody><tr><th>C++</th><th>Blocks</th></tr><tr><td><div class="content-wrapper"><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="831e9a20-21bc-43d0-8771-c29edaf2eb6a"><ac:parameter ac:name="language">cpp</ac:parameter><ac:parameter ac:name="theme">Confluence</ac:parameter><ac:plain-text-body><![CDATA[ | Image Added Note: Blocks allow only 9600 as baud rate; there is no baud rate setting. |
Try the example above for the following two cases (i) Serial.println for all three messages (ii) Serial.print for all three messages | Try the example above for the following two cases (i) with newline for all three messages (ii) without newline for all three messages |
If you see strange-looking characters in the serial monitor, your bit / baud rate set in the Serial Monitor most likely does not match the one used in your Arduino sketch.
analogRead() Serial Example
Printing to Serial console is a very effective mechanism in debugging your code. You can print out the values of variables at different points in your code, which can then be compared with the expected values. This might be of help in identifying logical issues with your code.
It is also useful in monitoring the readings from various sensors so that you can decide on the thresholds etc, i.e., to fine-tune your design / code. The following example prints out the reading obtained from the analog sensor connected to pin A0 (for example, an LDR connected to pin A0 as is the case in the Analog Input page).
C++ | Blocks |
---|
Code Block |
---|
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(analogRead(A0));
delay(500);
|
|
// Read and print the value 2 times in a second.
} |
|
]] ></ac:plain-text-body></ac:structured-macro></div></td><td><div class="content-wrapper"><p><ac:image ac:width="400"><ri:attachment ri:filename="image2020-1-21_23-6-43.png" /></ac:image></p></div></td></tr></tbody></table><p><br /></p><p><br /></p> | Image Added |