Search Code

Lesson 5/31: Introduction to Arduino Data Types SunFounder Learning Kit

Lesson 5/31: Introduction to Arduino Data Types SunFounder Learning Kit

In this tutorial, we will explore the various data types available in Arduino programming, such as integers, floats, characters, and strings. Understanding these data types is essential for effective programming in Arduino, as they determine how data is stored and manipulated in memory. By the end of this lesson, you will have a solid grasp of how to use these data types in your projects.

To illustrate these concepts, we will be using the SunFounder 3-in-1 Arduino kit, which comes with a variety of components and projects. This lesson will not only cover the theoretical aspects of data types but also provide practical examples through code snippets. For a visual explanation, be sure to check out the accompanying video (in video at 00:00).

Code Examples & Walkthrough

Now, let's delve into the code snippets that demonstrate the usage of various data types. In the setup function, we declare an integer variable age and calculate days based on the age:

int age = 36;
int days = age * 365;

This snippet showcases how we can use integers to store whole numbers and perform calculations. The variable days is derived from multiplying age by 365, demonstrating basic arithmetic operations.

Next, we explore binary and hexadecimal representations. The following code stores a binary value in temperature and a hexadecimal value in year:

int temperature = B101101; // binary integer value 45
int year = 0x7E3; // hex value for 2019

In this example, temperature is assigned a binary value using the B prefix, while year is defined with the 0x prefix to indicate it is in hexadecimal format. This illustrates how different bases can be used to represent the same numerical value.

Demonstration / What to Expect

After uploading the code to your Arduino, you can expect to see the printed output on the Serial Monitor. The output will display the age, days, temperature, and year in their respective formats. Make sure to set the baud rate to match the one defined in the code (9600 baud) for proper communication (in video at 14:30).

Common pitfalls include incorrect wiring that can lead to no output or unexpected results. Ensure all connections are secure, and double-check that the correct pins are used as per the code. If you see garbled characters in the Serial Monitor, verify the baud rate settings.

860-Lesson 5/30: SunFounder's 3-in-1 Smart Card Arduino kit code Data Types -1
Language: C++
/*
Lesson 05-Data types 01
SunFounder's 3-in-1 Smart Car Aduino kit
📚⬇️ Download and resource page https://robojax.com/RJT588
written by Ahmad Shamshiri
watch full video explanation https://youtu.be/xi9Hegk9M9k
www.robojax.com

*/

void setup() {
int age = 36;
int days = age * 365;

	
 Serial.begin(9600);
 Serial.println("Robojax Step By Step Arduino Course");
 	//Robojax https://robojax.com/RJT588

 Serial.print("Age:");
 Serial.println(age);
 Serial.print("Days:"); 
 Serial.println(days);
 Serial.println();



int temperature = B101101; // binary integer value 45
 Serial.print("B101101:"); 
 Serial.println(temperature);
 Serial.println();


int year = 0x7E3;// hex value for 2019
 Serial.print("0x7E3:"); 
 Serial.println(year);
 Serial.println();

}

void loop() {
  // put your main code here, to run repeatedly:
  //Robojax Step By Step Arduino Course 

}
861-Lesson 5/30: SunFounder's 3-in-1 Smart Car Arduino kit code Data Types -2 char
Language: C++
/*
Lesson 05-Data types 02- Char
SunFounder's 3-in-1 Smart Car Aduino kit
📚⬇️ Download and resource page https://robojax.com/RJT588
written by Ahmad Shamshiri
watch full video explanation https://youtu.be/xi9Hegk9M9k
www.robojax.com

*/

void setup() {
 char grade = 'A';
 char grade2 = 65; 

	
 Serial.begin(9600);
 Serial.println("Robojax Step By Step Arduino Course");
 	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338
 Serial.println(grade);
 Serial.println(grade2);


}

void loop() {
  // put your main code here, to run repeatedly:

}
862-Lesson 5/30: SunFounder's 3-in-1 Smart Car Arduino kit code Data Types -3 float
Language: C++
/*
Lesson 05-Data types 03- Cloat
SunFounder's 3-in-1 Smart Car Aduino kit
📚⬇️ Download and resource page https://robojax.com/RJT588
written by Ahmad Shamshiri
watch full video explanation https://youtu.be/xi9Hegk9M9k
www.robojax.com

*/
void setup() {
float price= 4.35;
float quantity = 8;
float cost = price * quantity;

	
 Serial.begin(9600);
 Serial.println("Robojax Step By Step Arduino Course");
 	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338

 Serial.print("Price:");
 Serial.println(price); 
 Serial.println(price, 4);
 
 Serial.print("Quantity:"); 
 Serial.println(quantity);
 
 Serial.print("Cost:"); 
 Serial.println(cost); 

}

void loop() {
  // put your main code here, to run repeatedly:

}
863-Lesson 5/30: SunFounder's 3-in-1 Smart Car Arduino kit code Data Types -4 Boolean
Language: C++
/*
Lesson 05-Data types 04- boolean
📚⬇️ Download and resource page https://robojax.com/RJT588
written by Ahmad Shamshiri
watch full video explanation https://youtu.be/xi9Hegk9M9k
www.robojax.com

*/
void setup() {
float price= 4.35;
float quantity = 8;
float cost = price * quantity;

	
 Serial.begin(9600);
 Serial.println("Robojax Step By Step Arduino Course");
 	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338

 Serial.print("Price:");
 Serial.println(price); 
 Serial.println(price, 4);
 
 Serial.print("Quantity:"); 
 Serial.println(quantity);
 
 Serial.print("Cost:"); 
 Serial.println(cost); 


}

void loop() {
  // put your main code here, to run repeatedly:

}
864-Lesson 5/30: SunFounder's 3-in-1 Smart Car Arduino kit code Data Types -5 String
Language: C++
/*
Lesson 05-Data types 05- String
📚⬇️ Download and resource page https://robojax.com/RJT588
written by Ahmad Shamshiri
watch full video explanation https://youtu.be/xi9Hegk9M9k
www.robojax.com

*/
void setup() {

String string1 = "Hello String";                        // using a constant String
String string2 =  String('a');                          // converting a constant char into a String
String string3 =  String("This is a string");           // converting a constant string into a String object
String string4 =  String(string3 + " with more");     // concatenating two strings
String string5 =  String(13);                           // using a constant integer
String string6 =  String(45, HEX);                      // using an int and a base (hexadecimal)
String string7 =  String(255, BIN);                     // using an int and a base (binary)
String string8 =  String(5.698, 2);                     // using a float and the decimal places
	
 Serial.begin(9600);
 Serial.println("Robojax Step By Step Arduino Course");
 	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338

 Serial.print("String1:");
 Serial.println(string1);
 Serial.println();
  
 Serial.print("String2:");
 Serial.println(String('a'));
 Serial.println();

 Serial.print("string3:");
 Serial.println(string3);
 Serial.println();

 Serial.print("string3 + \" with more\":");
 Serial.println(string4);
 Serial.println();

 Serial.print("string5:");
 Serial.println(string5);
 Serial.println();

 Serial.print("String(45, HEX):");
 Serial.println(string6);
 Serial.println();

 Serial.print("String(255, BIN):");
 Serial.println(string7);
 Serial.println();

 Serial.print("String(5.698, 3):");
 Serial.println(string8);
 Serial.println(); 
}

void loop() {
  // put your main code here, to run repeatedly:

}
865-Lesson 5/30: SunFounder's 3-in-1 Smart Car Arduino kit code Data Types -6 unsigned integer
Language: C++
/*
Lesson 05-Data types 04- Unsigned integer
📚⬇️ Download and resource page https://robojax.com/RJT588
written by Ahmad Shamshiri
watch full video explanation https://youtu.be/xi9Hegk9M9k
www.robojax.com

*/
void setup() {
	
 Serial.begin(9600);
 Serial.println("Robojax Step By Step Arduino Course");
 	//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338

 unsigned int x = 456;


 Serial.print("x: ");
 Serial.println(x);
 Serial.print("size of x (bytes): ");
 Serial.println(  sizeof(x)  ); 


}

void loop() {
  // put your main code here, to run repeatedly:

}

Resources & references

No resources yet.

Files📁

No files available.