The for and while loops in Arduino follow the C language syntax.The syntax for the for loop is −Syntaxfor(iterator initialization; stop condition; increment instruction){ //Do something }Examplefor(int i = 0; i< 50; i++){ //Do something }Similarly, the syntax for the while loop is −Syntaxwhile(condition){ //Do something }Exampleint i = 0 while(i < 50){ //Do something i = i+1; }The following example will illustrate the working of for and while loops in an Arduino program.Examplevoid setup() { Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: int i ... Read More
The Arduino Code has a very simple structure. If you open a new project in the Arduino IDE, you will see the following template prepared for you −Examplevoid setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }The comments here explain it well. The setup function contains code that will be executed once. This function is executed first when your board reboots. The loop function contains code that will run repeatedly. In other words, if you write 5 lines of code within loop, ... Read More
If you are familiar with the C language and would like to use the formatting options provided by C language in the Arduino print statements, then there's an easy way to do it. All you need to do is define a character array, and populate it using sprintf(). Within sprintf, you can use the C language formatting. Later, you can simply print out that buffer. The following example code demonstrates how this is done −Examplechar print_buf[100]; void setup() { Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: for(int i = 0; ... Read More
Suppose you have a code like the one below −Examplevoid setup() { Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: Serial.println(analogRead(A0)); }As you can see, it is continuously printing the results of ADC conversion on A0 pin. Such programs can fill up the Serial Terminal quickly, faster than your eyes can register. For such cases, you may want to simply stop the scrolling in the Serial Monitor. You can do that by unchecking the Autoscroll checkbox at the left bottom of the Serial Monitor Window.OutputOnce that is done, you can read ... Read More
In order to print a newline, you can either introduce the '' character in your text, or use Serial.println() instead of Serial.print()An example code is given below −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); Serial.print("This is line1This is line2"); Serial.println("This is line3"); Serial.println("This is line4"); } void loop() { // put your main code here, to run repeatedly: }The Serial Monitor output for the above code is −OutputIn order to add a tab space, you can introduce '\t' in your code.An example code is ... Read More
Often some functions can output really long floating-point numbers, with several decimal digits. Several times, we are just interested in the first couple of decimal digits, and the remaining digits just reduce the readability and make the Serial Monitor window cluttered.In order to round of floating-point numbers when printing to the Serial Monitor, you can just add the number of decimal places required as the second argument to serial.print.An example is shown below −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println("Printing decimals"); Serial.println(9.6745, 0); //This prints 10 Serial.println(9.6745, 1); ... Read More
In order to print binary representation of numbers/ characters in Arduino, you can add 'BIN' as the second argument of your Serial.print() function. Example is shown below −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); Serial.println(75); Serial.println(75, BIN); Serial.println('A'); Serial.println('A', BIN); Serial.println(1.912, BIN); } void loop() { // put your main code here, to run repeatedly: }The Serial Monitor output for the above code can be seen below −As you can see, this works only for integers and characters, and not for floating-point ... Read More
In order to print hexadecimal equivalents of numbers or characters, adding 'HEX' as the second argument of Serial.print() will be sufficient.The following code demonstrates this −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); Serial.println(75); Serial.println(75, HEX); Serial.println('A'); Serial.println('A', HEX); } void loop() { // put your main code here, to run repeatedly: }The corresponding Serial monitor output is −Now, the conversion of the decimal number 75 to a hexadecimal value is straightforward and you can even verify that 0x4B is the correct hexadecimal representation ... Read More
To print plain text on the Serial Monitor, the Serial.print() function can be used.In order to use this function, Serial needs to be initialized first (in the setup preferably). A typical implementation is shown below −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: Serial.print("Hello!"); delay(100); }Note that the argument of Serial.begin() indicates the baud rate. You need to set the baud rate of your serial monitor to this value in order to read the printed messages properly. ... Read More
In order to add time delays in Arduino, you can use the delay() function. It takes as an argument the value of the delay in milliseconds. An example execution is given below −Examplevoid setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: Serial.print("Hello!"); delay(2000); }The above code prints "Hello!" every 2 seconds. As you may have guessed, the minimum delay you can introduce using the delay function is 1 milli-second. What if you want an even shorted delay? Arduino ... Read More