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.
/*
* Lezione 05 - Tipi di dati 01
* Kit Arduino Smart Car 3-in-1 di SunFounder
* 📚⬇️ Scarica e pagina delle risorse https://robojax.com/RJT588
* scritto da Ahmad Shamshiri
* guarda la spiegazione completa del video 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; // valore intero binario 45
Serial.print("B101101:");
Serial.println(temperature);
Serial.println();
int year = 0x7E3; // valore esadecimale per il 2019
Serial.print("0x7E3:");
Serial.println(year);
Serial.println();
}
void loop() {
// metti qui il tuo codice principale, da eseguire ripetutamente:
// Corso Arduino Passo dopo Passo di Robojax
}
/*
* Lezione 05-Tipi di dati 02- Char
* Kit Arduino Smart Car 3-in-1 di SunFounder
* 📚⬇️ Scarica e pagina delle risorse https://robojax.com/RJT588
* scritto da Ahmad Shamshiri
* guarda la spiegazione completa del video 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 Corso Arduino Passo dopo Passo http://robojax.com/L/?id=338
Serial.println(grade);
Serial.println(grade2);
}
void loop() {
// metti qui il tuo codice principale, da eseguire ripetutamente:
}
/*
* Lezione 05-Tipi di dati 03- Cloat
* Kit Smart Car Aduino 3-in-1 di SunFounder
* 📚⬇️ Scarica e pagina risorse https://robojax.com/RJT588
* scritto da Ahmad Shamshiri
* guarda la spiegazione video completa 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");
// Corso Arduino Passo Dopo Passo di Robojax 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() {
// metti il tuo codice principale qui, per eseguirlo ripetutamente:
}
/*
* Lezione 05-Tipi di dati 04- booleano
* 📚⬇️ Scarica e pagina delle risorse https://robojax.com/RJT588
* scritto da Ahmad Shamshiri
* guarda la spiegazione video completa 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");
// Corso Arduino Passo dopo Passo di Robojax 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() {
// metti qui il tuo codice principale, da eseguire ripetutamente:
}
/*
* Lezione 05-Tipi di dati 05- Stringa
* 📚⬇️ Scarica e pagina delle risorse https://robojax.com/RJT588
* scritto da Ahmad Shamshiri
* guarda la spiegazione completa del video https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
String string1 = "Hello String"; // utilizzando una String costante
String string2 = String('a'); // convertire un char costante in una Stringa
String string3 = String("This is a string"); // convertire una stringa costante in un oggetto String
String string4 = String(string3 + " with more"); // concatenando due stringhe
String string5 = String(13); // utilizzando un intero costante
String string6 = String(45, HEX); // utilizzando un int e una base (esadecimale)
String string7 = String(255, BIN); // utilizzando un int e una base (binarie)
String string8 = String(5.698, 2); // utilizzando un numero decimale e i posti decimali
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// Corso Arduino Passo Dopo Passo di 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() {
// metti qui il tuo codice principale, per essere eseguito ripetutamente:
}
/*
* Lezione 05-Tipi di dati 04- Intero non firmato
* 📚⬇️ Scarica e pagina delle risorse https://robojax.com/RJT588
* scritto da Ahmad Shamshiri
* guarda l'intera spiegazione video https://youtu.be/xi9Hegk9M9k
* www.robojax.com
*/
void setup() {
Serial.begin(9600);
Serial.println("Robojax Step By Step Arduino Course");
// Corso Arduino Passo dopo Passo di Robojax 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() {
// metti il tuo codice principale qui, per eseguire ripetutamente:
}
Common Course Links
Common Course Files
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
Nessun file disponibile.