Pasos a Seguir
- Conecte la placa al ordenador por el cable usb.
- Abra el entorno y copiar el siguiente código:
// Esta variable almacenará la cantidad que lleva sumada
int sumaTotal;
void setup() {
// Este método se ejecuta una sola vez (Se ejecuta el primero de todos)
// La siguiente línea indica que la placa se comunicará a una velocidad de 9600 bits por segundo*
Serial.begin(9600);
// A la variable sumaTotal se le dará inicialmente el valor 0
sumaTotal =0;
// La siguiente línea indica cuantos milisegundos esperará o dormirá la placa (1000 milisegundos = 1 segundo)
// Su objetivo es esperar a que esté conectada la placa y el ordenador
delay(2000);
// La siguiente línea escribe una línea en blanco
Serial.println("");
}
void loop() {
// Este método se ejecutará como un bucle de manera infinita
// La siguiente línea enviar un mensaje desde la placa al ordenador
Serial.println("Escribe un número para ir sumandolo:");
// El siguiente conjunto de líneas revisa si hay caracteres disponibles para leer la placa
// desde el ordenador
while(Serial.available() == false){
delay(100);
}
// Lee el número que se ha recibido por el usb (si es texto se devuelve un 0)
int sumando = Serial.parseInt();
// Hace la suma de lo que llevaba y el nuevo valor y lo guarda en la suma total.
sumaTotal = sumaTotal + sumando;
// La siguiente línea enviar un mensaje desde la placa al ordenador
// Hay que destacar que pone print en vez de println (el "ln" significa nueva línea al final del todo)
Serial.print("Suma Total: ");
// La siguiente línea el valor que tiene sumaTotal
Serial.println(sumaTotal);
}
/* * En Internet en algunos tutoriales sobre Arduino y otras placas puede encontrase el término "bits por segundos"
* intercambiado por baudios. En este caso concreto son equivalente dado que en cada estado de la señal se envia
* un único bit pero no tiene porque ser así en todos los casos por lo tanto "bits por segundos" y baudios no
* siempre son equivalentes.
*/
- Pulse el segundo botón del entorno para compilar y subir el código.
- Tras transferir el código abra la consola de monitorización (botón superior derecha en el que aparece una lupa). Cuando lo abra escriba números en el campo y pulse enviar. Podrá ver como va sumando el valor que se envia con todos los anteriores valores enviados.
Explicación del Código de este Ejemplo
Antes de cualquier método podemos ver una variable global (significa que cualquier función podrá hacer uso de ella) denominada sumaTotal. Esta variable será la encargada de llevar el recuento de las sumas.
La función Setup se encarga de indicar la velocidad a la que se comunciará la placa con el ordenador, dar el valor inicial a la variable sumaTotal el valor de 0 y hacer una pequeña espera para que la comunciación entre el ordenador y la placa se inicie (existen formas más elegante de hacer eso, pero el objetivo es el mínimo número de sentencias nuevas).
La función Loop muestra un mensaje solicitando un número, a continuación se inicia un bucle hará dormir/esperar a la placa hasta que reciba algo por el cable serial. Cuando se reciba un número las siguientes líneas lo guardarán en una varible de tipo numérica (int) y realizará la suma de la cantidad anterior más la nueva. Destacar que si lo que se recibe por serial no es un número la función Serial.parseInt() devolverá 0. Por último se muestra la suma total que lleva la placa.