Para programar el microcontrolador de nuestra placa Arduino se utiliza una versión reducida del lenguaje C / C++, dentro del sitio oficial podemos encontrar toda la documentación de referencia https://www.arduino.cc/reference/en/., aquí te comparto las que yo considero mas importante.
Comentarios
Los comentarios son muy útiles a la hora de interpretar el código, ya que lo podemos usar para describir el propósito general del programa como su funcionamiento.
// Comentarios en una linea
/*
Varias lineas
de comentarios
*/
Estructura inicial
Se basa en dos funciones principales setup()
y loop()
.
/*
* Este espacio se utiliza para comentar la finalidad del programa,
* el autor, descripción, funcionalidad, detalles necesarios.,
* invocar librearías y declarar o inicializar variables.
*/
// Esta linea solo se incluye si usas VSC PlatformIO
#include <Arduino.h>
void setup() {
/*
* Se usa para inicializar variables, funciones, estradas
* y salidas (IO), se ejecuta solo una vez al iniciar.
*/
}
void loop() {
// Función principal, se ejecuta en modo de ciclo infinito.
}
Funciones
Son bloques de código que nos facilitan una tarea repetitiva.
// Definimos o declaramos la función
void nombreFuncion() {
// Código de la función
}
// Llamar o invocar a una función
nombreFuncion();
Funciones simples
void encenderLed(){
digitalWrite(LED, HIGH);
}
void apagarLed(){
digitalWrite(LED, LOW);
}
Funciones que reciben y regresan parámetros
/*
Las variables que reciben se encuentran dentro de los paréntesis y ahí mismo se declaran tipoVariable nomVariable1
*/
void nombreFuncion(tipoVariable nomVariable1, tipoVariable nomVariable2, tipoVariable nomVariableN) {
// return regresa el resultado
return valor;
}
// Invocar a una función e imprimir el resultado que regresa
Serial.println(nombreFuncion(valor1, valor2, valorN));
// O el resultado asignarlo a una variable
tipoVariable resultado;
resultado = nombreFuncion(valor1, valor2, valorN);
Ejemplo función suma
void setup(){
/*
Establecemos la comunicación del puerto serial a 9600 bps
Necesario para usar Serial.println
*/
Serial.begin(9600);
}
void loop() {
// Declaramos la valiable k de tipo enterno (integer)
int k;
// k almacena lo que regresa la función (return)
k = suma(2, 3); // Resultado = 5
// Imprimimos el valor de k que es igual a 5
Serial.println(k);
// Esperamos un tiempo
delay(500);
}
// La función recibe dos valores x, y
int suma(int x, int y){
// Declaramos la variable resultado
int resultado;
// sumamos los dos parametros recibidos
resultado = x + y;
// Retornamos el resultado
return resultado;
}
Buenas practicas
Código estructurado o tabulado
comprenderlo o entenderlo
void setup() {
// Necesario para el puerto serial estableciendo la velocidad de datos 9600 bps
Serial.begin(9600);
}
void loop() {
// Imprimir el mensaje Hola Arduino en el Monitor Serial
Serial.println("Hola Arduino");
}
Menos lineas de codigo mejor