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.
/*
* Leçon 05 - Types de données 01
* Kit Arduino Smart Car 3-en-1 de SunFounder
* 📚⬇️ Page de téléchargement et de ressources https://robojax.com/RJT588
* écrit par Ahmad Shamshiri
* regardez l'explication vidéo complète 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; // valeur binaire entière 45
Serial.print("B101101:");
Serial.println(temperature);
Serial.println();
int year = 0x7E3; // valeur hexadécimale pour 2019
Serial.print("0x7E3:");
Serial.println(year);
Serial.println();
}
void loop() {
// mettez votre code principal ici, pour qu'il s'exécute en boucle :
// Cours Arduino étape par étape Robojax
}
/*
* Leçon 05 - Types de données 02 - Char
* Kit Arduino Smart Car 3-en-1 de SunFounder
* 📚⬇️ Téléchargez et accédez à la page des ressources https://robojax.com/RJT588
* écrit par Ahmad Shamshiri
* regardez l'explication vidéo complète 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 Cours Arduino Étape par Étape http://robojax.com/L/?id=338
Serial.println(grade);
Serial.println(grade2);
}
void loop() {
// mettez votre code principal ici, pour l'exécuter en boucle :
}
/*
* Leçon 05 - Types de données 03 - Cloat
* Kit Arduino Smart Car 3-en-1 de SunFounder
* 📚⬇️ Page de téléchargement et de ressources https://robojax.com/RJT588
* écrit par Ahmad Shamshiri
* regarder l'explication complète en vidéo 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 Cours Arduino Étape par Étape 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() {
// mettez votre code principal ici, pour exécuter de manière répétée :
}
/*
* Leçon 05 - Types de données 04 - Booléen
* 📚⬇️ Télécharger et page de ressources https://robojax.com/RJT588
* écrit par Ahmad Shamshiri
* regarder l'explication vidéo complète 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 Cours Arduino Étape par Étape 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() {
// mettez votre code principal ici, pour l'exécuter plusieurs fois :
}
/*
* Leçon 05 - Types de données 05 - Chaîne
* 📚⬇️ Page de téléchargement et de ressources https://robojax.com/RJT588
* écrit par Ahmad Shamshiri
* regardez l'explication vidéo complète https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
String string1 = "Hello String"; // utilisant une chaîne constante
String string2 = String('a'); // convertir un caractère constant en une chaîne
String string3 = String("This is a string"); // convertir une chaîne constante en un objet String
String string4 = String(string3 + " with more"); // concaténer deux chaînes
String string5 = String(13); // utilisant un entier constant
String string6 = String(45, HEX); // utiliser un int et une base (hexadécimale)
String string7 = String(255, BIN); // utilisant un entier et une base (binaire)
String string8 = String(5.698, 2); // utiliser un flottant et les décimales
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// Cours Arduino Étape par Étape Robojax 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() {
// Mettez votre code principal ici, pour l'exécuter plusieurs fois :
}
/*
* Leçon 05 - Types de données 04 - Entier non signé
* 📚⬇️ Téléchargez la page de ressources https://robojax.com/RJT588
* écrit par Ahmad Shamshiri
* regardez l'explication complète en vidéo https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// Robojax Cours Arduino étape par étape 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() {
// mettez votre code principal ici, pour être exécuté à plusieurs reprises :
}
Common Course Links
Common Course Files
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Aucun fichier disponible.