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
* サンファウンダーの3-in-1スマートカーアドゥイーノキット
* 📚⬇️ ダウンロードとリソースページ https://robojax.com/RJT588
* 著者: アフマド・シャムシリ
* フルビデオ説明を見る 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の16進数値
Serial.print("0x7E3:");
Serial.println(year);
Serial.println();
}
void loop() {
// ここにメインコードを入力して、繰り返し実行します:
// ロボジャックス ステップバイステップ Arduino コース
}
/*
* レッスン05-データ型02-文字
* サンファウンダーの3-in-1スマートカーアーディーノキット
* 📚⬇️ ダウンロードとリソースページ https://robojax.com/RJT588
* 著者:アフマド・シャムシリ
* 完全なビデオ説明を見る 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");
// ロボジャックス ステップバイステップ Arduino コース http://robojax.com/L/?id=338
Serial.println(grade);
Serial.println(grade2);
}
void loop() {
// ここに主なコードを記入して、繰り返し実行します:
}
/*
* レッスン05-データ型03-クロータ
* サンファウンダーの3-in-1スマートカーアーデュイーノキット
* 📚⬇️ ダウンロードとリソースページ https://robojax.com/RJT588
* 著者: アフマド・シャムシリ
* フルビデオ説明を視聴 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
* 著者:アフマド・シャムシリ
* フルビデオ解説を見る 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");
// ロボジャックス ステップバイステップ 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
* 著者: アフマド・シャムシリ
* フルビデオ解説を視聴 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"); // 2つの文字列を連結する
String string5 = String(13); // 定数整数を使用する
String string6 = String(45, HEX); // 整数と基数(16進数)を使用して
String string7 = String(255, BIN); // 整数と基数(2進数)を使用する
String string8 = String(5.698, 2); // 浮動小数点と小数点以下の桁数を使用する
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// ロボジャックス ステップバイステップ 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
* 著者:アハマド・シャムシリ
* フルビデオ解説を見る https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
Serial.begin(9600);
Serial.println("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() {
// メインコードをここに入力して、繰り返し実行してください。
}
Common Course Links
Common Course Files
リソースと参考文献
まだリソースはありません。
ファイル📁
ファイルは利用できません。