Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando
-- Tutorial de iniciación a Arduino --
Volver al índice del tutorial
___________________________
5C.- Introducir datos desde el Monitor Serie.
_______________________________________________________
- Escribe un caracter y pulsa Enter.
- En este ejemplo ejecutamos el programa, nos sale una información y debemos pulsar cualquier tecla. Cuando la pulsemos salimos del bucle y entramos en la parte principal del programa que simplemente muestra números aleatorios del 1 al 20.
Código |
void setup() {
Serial.begin(9600);
Serial.println("Para comenzar: escribe cualquier caracter y pulsa Enter.");
// Bucle esperando que escriba un caracter y pulse Enter.
while (true){if (Serial.available()) break;}
Serial.println("Creacion de numeros aleatorios.");
}
void loop() {
int n = random(1,20);
Serial.println(n);
delay(1000);
}
|
_______________________________________________________
- Escribe una temperatura en Centígrados y la convierte a Fahrenheit.
- En el Monitor Serie escribimos una temperatura en centígrados, por ejemplo: 34.56 y la convierte en Fahrenheit.
- En este caso tanto los dos datos son Flotantes, se pueden poner con decimales.
- Si quisiéramos números enteros cambiaríamos en el código float por int.
Código |
void setup() {
Serial.begin(9600);
Serial.println("Introduce Temperatura en Centigrados.");
}
char rx_byte = 0;
String rx_str = "";
float centigrados;
float fahrenheit;
void loop() {
if (Serial.available() > 0) { // ¿Hay algún caracter?
rx_byte = Serial.read(); // Toma el caracter
rx_str += rx_byte;
if (rx_byte == '\n') {
centigrados = (float) rx_str.toFloat();
fahrenheit = centigrados * 1.8 + 32;
Serial.print("Centigrados = ");
Serial.println(centigrados);
Serial.print("Fahrenheit = ");
Serial.println(fahrenheit);
Serial.println("");
Serial.println("Introduce Temperatura en Centigrados.");
rx_str = "";
}
}
}
|
_______________________________________________________
- Escribe Base y Altura y calcula el área de un triángulo.
- Temporizador.
while(micros() - loop_timer < 4000); //Wait until the loop_timer reaches 4000us (250Hz) before starting the next loop
loop_timer = micros();
Código |
void setup() {
Serial.begin(9600);
Serial.println("Introduce Temperatura en Centigrados.");
}
char rx_byte = 0;
String rx_str = "";
float centigrados;
float fahrenheit;
void loop() {
if (Serial.available() > 0) { // ¿Hay algún caracter?
rx_byte = Serial.read(); // Toma el caracter
rx_str += rx_byte;
if (rx_byte == '\n') {
centigrados = (float) rx_str.toFloat();
fahrenheit = centigrados * 1.8 + 32;
Serial.print("Centigrados = ");
Serial.println(centigrados);
Serial.print("Fahrenheit = ");
Serial.println(fahrenheit);
Serial.println("");
Serial.println("Introduce Temperatura en Centigrados.");
rx_str = "";
}
}
}
|
________________________________
|