Comandos Básicos de Arduino
Como todo sistema programable, existen comandos básicos en Arduino que se deben aprender. Este tipo de código nos permitirá solucionar gran cantidad de problemas que deseamos resolver. También podremos plasmar de forma sencilla las ideas que se nos presentan.
Anteriormente te expliqué qué es Arduino y los primeros pasos para programarlo. Vimos la diferencia entre los pines digitales y analógico. También analizamos ejemplos muy sencillos para utilizar este tipo de pines.
A continuación te explicaré algunos comandos básicos de Arduino y sencillos. Es decir, este tipo de código aparece generalmente en cualquier programa de Arduino. Usándolos en conjunto, podemos resolver diversos problemas de forma simple.
Tabla de contenidos
Comandos de Arduino para Pines Digitales
Para comenzar, aunque ya se vieron, como configurar y usar comandos para operaciones con los pines en Arduino.
pinMode
El código pinMode(num_pin, comportamiento);
permite configurar si será usado el pin como entrada o salida. En lugar de num_pin, se coloca el número del pin que se desea configurar. La palabra comportamiento debe de sustituirse por INPUT para usarlo como entrada. Se debe colocar OUTPUT si se desea que funcione como salida.
digitalRead
En segundo lugar, se utiliza la instrucción digitalRead(num_pin);
para leer un pin. Donde dice num_pin se debe indicar el número del pin que se desea leer.
digitalWrite
Finalmente, para activar o desactivar una salida se utiliza la instrucción digitalWrite(num_pin,valor);
.
El término num_pin se sustituye por el número del pin a utilizar. También, donde dice valor se coloca HIGH (alto) si se desea generar un 1. En el caso contrario, si se desea generar un 0, se escribe la palabra LOW (bajo).
Comandos de Arduino para Pines Analógicos
En otro post mencionamos algunos comandos básicos en Arduino para operaciones con pines analógicos.
analogRead
Para leer un pin analógico se utiliza el comando analogRead(pinAnalog);
.
El término pinAnalog se debe sustituir por el pin analógico que se va a utilizar (A0 – A5).
analogWrite
Para la salida “analógica” o PWM se utiliza analogWrite(pinSalida,valorSalida)
;.
Ahora, pinSalida, indica el pin donde se va a generar la señal PWM. El valor del ciclo de trabajo de la señal PWM (0-255), se indica donde está la palabra valorSalida.
Comandos de Arduino para comunicación serial
Puerto serial o UART
Un puerto de comunicación serial o UART permite al Arduino comunicarse con otros dispositivos. Es decir, le ayuda a enviar o recibir información.
A continuación veremos algunos de estos comandos de Arduino.
Serial.begin
Dentro de la función voidsetup(), se coloca la instrucción Serial.begin(velocidad);.
Este comando le indica al Arduino a que velocidad se va a utilizar el puerto serial. Las velocidades (en baudios), pueden ser 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200.
Serial.print
La instrucción Serial.print(texto); envía información con formato ASCII por el puerto serial del Arduino al puerto usb de la computadora donde esté conectado.
El texto que se encuentre dentro de los paréntesis aparecerá en el Monitor Serie, dentro de Arduino IDE. Si en lugar de texto se coloca el nombre de una variable, su valor se mostrará en el mismo Monitor.
Serial.println
En ambos casos el cursor se queda en la misma linea y si se envía texto de nuevo, seguirá en la misma línea.
Finalmente, si se quiere cambiar de línea, es decir que aparezca el siguiente texto o valor debajo del que se acaba de mostrar, se utiliza el comando Serial.println(texto);.
Bus I2C
Para comenzar, mencionaré que I2C significa Inter Integrated Circuit.
Es un bus de comunicación, cuyo ámbito de aplicación es la comunicación entre circuitos integrados. Además define dos señales, aparte del común o tierra, SDA y SCL.
SDA es la línea de datos serie (Serial Data, en inglés).
SCL es la señal de sincronía (Serial Clock en inglés). Esta señal es gobernada única y exclusivamente por el maestro.
Cabe resaltar que este bus permite establecer comunicación, primero entre cualquier microcontrolador o sistema digital que cuente con él. Además, pueden comunicarse otro tipo de circuitos con el microcontrolador.
Un ejemplo de este tipo de circuitos son pantallas LCD, ADCs, DACs, sensores de temperatura, humedad, etc. En donde Arduino utiliza los siguientes comandos para su comunicación:
Wire.begin
Inicialmente, para usar este tipo de comunicación se debe configurar en la función voidsetup() con la instrucción Wire.begin(); Para el caso del microcontrolador Maestro no se coloca nada dentro del paréntesis.
Wire.requestFrom
En el caso de los esclavos de escribe su dirección, dentro de la red que se formará.
La instrucción Wire.requestFrom(dir_esclavo, #bytes); permite solicitar información a otro microcontrolador dentro de la red.
Se debe indicar la dirección del esclavo (dir_esclavo) y el número de bytes que se esperan recibir (#bytes).
Wire.onRequest
Finalmente, para el caso del microcontrolador que responde a la solicitud de información se usa la instrucción Wire.onRequest(FUNCION);.
Esta instrucción se coloca dentro del voidsetup(). Su función es decirle al Arduino a que función (FUNCION) debe de ir cuando se le pida información.
Wire.write
Asimismo, dentro de esta función debe aparecer la instrucción Wire.write(DATO);. Se encarga de enviar la información (DATO), solicitado.
Comandos básicos de Arduino para temporización
Los siguientes comandos de Arduino están enfocados en funciones de temporización.
delay
Esta función permite pausar el programa la cantidad de tiempo indicada (TIEMPO). Su forma de indicarla es delay(TIEMPO);.
La cantidad indicada en TIEMPO de estar en milisegundos. Recuerda, 1 segundo equivale a 1000 milisegundos. Se recomienda para pausas menores a 10 segundos.
millis
Esta función es para medir tiempo. Es decir, regresa un valor que equivale a la cantidad de tiempo que pasó desde que el Arduino comenzó a ejecutar el programa actual, hasta donde aparece esta instrucción.
Simplemente se asigna su valor a una variable previamente declarada. Por ejemplo: tiempo=millis();
Comandos básicos de Arduino – Conclusiones
Se presentaron los comandos, que aunque básicos, son comunes en los programas de Arduino. En consecuencia, estos comandos básicos de Arduino te permitirán resolver gran cantidad de problemas.
Asimismo, con un poco de imaginación y lógica, podrás plasmar esas ideas que se te presentan en tu día a día.
Finalmente, ahora ya puedes comenzar a elaborar programas un poco más complejos, combinando las instrucción que se presentan.
Otros temas interesantes de Arduino
Además de los comandos básicos de Arduino, tal vez te podrían interesar éstos temas para aumentar tus conocimientos sobre la plataforma:
Excelente, muy buena info