¡Bienvenido a tu glosario de bolsillo, ingeniero! Aquí encontrarás la sintaxis exacta y el resumen de todos los comandos, símbolos y operadores que necesitas para que tu código de Arduino funcione a la perfección. Úsalo como referencia rápida mientras armas tus proyectos en el taller.
⚠️ 🚨 Las Reglas de Oro de la Sintaxis
Si tu programa no compila y se pinta de rojo, revisa a estos sospechosos comunes:
- El punto y coma (;): Cada instrucción individual debe terminar obligatoriamente con un punto y coma.
- Las Llaves ({ }): Todo lo que abre debe cerrar. Las funciones (
setup,loop) y los condicionales (if,for) encierran sus bloques de código entre llaves. - Mayúsculas y Minúsculas: Arduino es "Case Sensitive". No es lo mismo
pinModequePinmode. ¡Escribe exacto!
📌 1. Comandos de Hardware y Control
| Comando | ¿Para qué sirve? | Ejemplo de Uso |
|---|---|---|
pinMode() |
Configura un pin como Entrada (INPUT) o Salida (OUTPUT). Va en el setup. | pinMode(13, OUTPUT); |
digitalWrite() |
Envía 5V (HIGH) o 0V (LOW) a un pin digital. Sirve para encender/apagar. | digitalWrite(8, HIGH); |
digitalRead() |
Lee el estado de un pin digital (sabe si está en HIGH o LOW). | int boton = digitalRead(2); |
delay() |
Pausa el programa por un tiempo específico en milisegundos (1000 = 1 seg). | delay(500); |
tone() |
Genera una onda de sonido en un buzzer especificando el Pin, la Frecuencia (Hz) y la Duración (ms). | tone(7, 1000, 200); |
📦 2. Tipos de Variables (Las Cajas de Memoria)
| Tipo | ¿Qué guarda? | Ejemplo |
|---|---|---|
int |
Números enteros (sin decimales). Rango de -32,768 a 32,767. | int edad = 16; |
float |
Números con decimales. Ideal para mediciones precisas de sensores. | float temperatura = 24.5; |
bool |
Variables booleanas que solo pueden ser Verdadero (true) o Falso (false). | bool encendido = true; |
String |
Cadenas de texto o palabras. Siempre se escriben entre comillas dobles. | String saludo = "Hola"; |
⚖️ 3. Operadores Lógicos y de Comparación
Estos símbolos son fundamentales para construir tus condiciones dentro de un if o un bucle for.
| Símbolo | Significado | Uso en Condición |
|---|---|---|
== |
Igual a (¡Ojo! Dos signos iguales para comparar) | if (luz == 100) |
!= |
Diferente de (No es igual a) | if (estado != LOW) |
> y < |
Mayor que / Menor que | if (temp > 30) |
>= y <= |
Mayor o igual que / Menor o igual que | if (valor <= 400) |
&& |
Lógico AND (Y). Ambas condiciones deben cumplirse. | if (luz < 400 && mov == HIGH) |
|| |
Lógico OR (O). Basta con que una condición se cumpla. | if (bot1 == LOW || bot2 == LOW) |
📐 4. El Gran Dilema Analógico: 1023 vs 255
Confundir estos dos números es el error más común al conectar sensores analógicos y motores. ¡Esta es la regla definitiva!
- 📥 analogRead() → El Filtro de Entrada (0 a 1023): Cuando el Arduino LEE el mundo exterior (ej. Sensor LDR en pines A0-A5), convierte ese voltaje en un número. Oscuridad total =
0, Luz máxima =1023. - 📤 analogWrite() → El Filtro de Salida PWM (0 a 255): Cuando el Arduino ESCRIBE hacia afuera para controlar intensidad (ej. brillo de un LED o velocidad de un motor en pines con ~), solo acepta números hasta el 255. Apagado =
0, Máxima potencia =255.
🗺️ El Traductor Automático: La función map()
Si quieres controlar un motor usando un sensor, necesitas traducir de la escala 1023 a la escala 255. Para eso usamos el comando map:
Código Arduino
// Sintaxis: map(variable, min_actual, max_actual, min_nuevo, max_nuevo);
int velocidad = map(lecturaLuz, 0, 1023, 0, 255);