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.
/*
* 课程 05-数据类型 01
* SunFounder 的 3 合 1 智能车 Arduino 套件
* 📚⬇️ 下载和资源页面 https://robojax.com/RJT588
* 作者:Ahmad Shamshiri
* 观看完整视频讲解 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");
// 机器人杰克 https://robojax.com/RJT588
Serial.print("Age:");
Serial.println(age);
Serial.print("Days:");
Serial.println(days);
Serial.println();
int temperature = B101101; // 二进制整数值 45
Serial.print("B101101:");
Serial.println(temperature);
Serial.println();
int year = 0x7E3; // 2019的十六进制值
Serial.print("0x7E3:");
Serial.println(year);
Serial.println();
}
void loop() {
// 在这里放置你的主要代码,以便重复运行:
// Robojax逐步Arduino课程
}
/*
* 课程 05-数据类型 02- 字符
* SunFounder 的 3 合 1 智能车 Arduino 套件
* 📚⬇️ 下载和资源页面 https://robojax.com/RJT588
* 作者:Ahmad Shamshiri
* 观看完整视频说明 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 一步一步的 Arduino 课程 http://robojax.com/L/?id=338
Serial.println(grade);
Serial.println(grade2);
}
void loop() {
// 将您的主要代码放在这里,以便重复运行:
}
/*
* 课程 05- 数据类型 03- Cloat
* SunFounder 的 3合1 智能车 Arduino 套件
* 📚⬇️ 下载和资源页面 https://robojax.com/RJT588
* 编写者:Ahmad Shamshiri
* 观看完整视频讲解 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逐步Arduino课程 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() {
// 将你的主要代码放在这里,以便重复运行:
}
/*
* 课程 05-数据类型 04- 布尔值
* 📚⬇️ 下载和资源页面 https://robojax.com/RJT588
* 作者:Ahmad Shamshiri
* 观看完整视频说明 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逐步Arduino课程 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() {
// 将您的主要代码放在这里,以便反复运行:
}
/*
* 第05课-数据类型 05- 字符串
* 📚⬇️ 下载和资源页面 https://robojax.com/RJT588
* 作者:Ahmad Shamshiri
* 观看完整视频讲解 https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
String string1 = "Hello String"; // 使用常量字符串
String string2 = String('a'); // 将常量字符转换为字符串
String string3 = String("This is a string"); // 将常量字符串转换为String对象
String string4 = String(string3 + " with more"); // 连接两个字符串
String string5 = String(13); // 使用一个常量整数
String string6 = String(45, HEX); // 使用一个整数和一个基数(十六进制)
String string7 = String(255, BIN); // 使用一个整数和一个基数(二进制)
String string8 = String(5.698, 2); // 使用浮点数和小数位数
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// Robojax 逐步 Arduino 课程 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() {
// 在这里放置您的主代码,以便重复运行:
}
/*
* 课程 05-数据类型 04- 无符号整数
* 📚⬇️ 下载和资源页面 https://robojax.com/RJT588
* 作者:Ahmad Shamshiri
* 观看完整视频讲解 https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// Robojax逐步Arduino课程 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() {
// 在此处输入您的主要代码,以便重复运行:
}
Common Course Links
Common Course Files
资源与参考
尚无可用资源。
文件📁
没有可用的文件。