Introducción
Arduino es una de las plataformas más populares para aprender electrónica y programación. Para crear proyectos con Arduino es necesario conocer los comandos y funciones que permiten controlar pines, leer sensores, comunicarse con el monitor serial y realizar cálculos dentro del programa.
En esta guía encontrarás primero una lista de comandos rápidos y despues una lista de 50 comandos básicos de Arduino, con una breve explicación y ejemplos simples. Esta lista funciona como una referencia rápida para estudiantes, principiantes y profesores que desean aprender o enseñar programación con Arduino de forma práctica.
Lista rápida de los 50 comandos básicos de Arduino
| # | Comando | Descripción |
|---|---|---|
| 1 | pinMode() | Configura un pin como entrada o salida |
| 2 | digitalWrite() | Enciende o apaga un pin digital |
| 3 | digitalRead() | Lee el estado de un pin digital |
| 4 | analogWrite() | Escribe un valor PWM en un pin |
| 5 | analogRead() | Lee el valor de un pin analógico |
| 6 | delay() | Pausa el programa por un tiempo |
| 7 | millis() | Tiempo en milisegundos desde que inició el programa |
| 8 | micros() | Tiempo en microsegundos desde que inició el programa |
| 9 | Serial.begin() | Inicia la comunicación serial |
| 10 | Serial.print() | Imprime datos en el monitor serial |
| 11 | Serial.println() | Imprime datos con salto de línea |
| 12 | Serial.read() | Lee datos desde el puerto serial |
| 13 | Serial.available() | Verifica datos disponibles en el puerto serial |
| 14 | random() | Genera números aleatorios |
| 15 | map() | Convierte un valor de un rango a otro |
| 16 | constrain() | Limita un valor dentro de un rango |
| 17 | abs() | Obtiene el valor absoluto |
| 18 | sq() | Calcula el cuadrado de un número |
| 19 | sqrt() | Calcula la raíz cuadrada |
| 20 | pow() | Calcula una potencia |
| 21 | sin() | Calcula el seno |
| 22 | cos() | Calcula el coseno |
| 23 | tan() | Calcula la tangente |
| 24 | HIGH | Valor lógico alto (5V) |
| 25 | LOW | Valor lógico bajo (0V) |
| 26 | INPUT | Define un pin como entrada |
| 27 | OUTPUT | Define un pin como salida |
| 28 | INPUT_PULLUP | Activa resistencia pull-up interna |
| 29 | attachInterrupt() | Activa una interrupción externa |
| 30 | detachInterrupt() | Desactiva una interrupción |
| 31 | noTone() | Detiene una señal de tono |
| 32 | tone() | Genera una señal de tono |
| 33 | tone(pin,frec,duracion) | Genera tono con duración definida |
| 34 | shiftOut() | Envía datos en serie |
| 35 | shiftIn() | Recibe datos en serie |
| 36 | bitRead() | Lee un bit específico |
| 37 | bitWrite() | Escribe un bit específico |
| 38 | bitSet() | Activa un bit |
| 39 | bitClear() | Apaga un bit |
| 40 | word() | Convierte un número a 16 bits |
| 41 | lowByte() | Obtiene el byte bajo |
| 42 | highByte() | Obtiene el byte alto |
| 43 | isAlpha() | Verifica si un carácter es una letra |
| 44 | isDigit() | Verifica si un carácter es un número |
| 45 | delayMicroseconds() | Pausa en microsegundos |
| 46 | detach() | Desconecta un servo |
| 47 | EEPROM.write() | Escribe en memoria EEPROM |
| 48 | EEPROM.read() | Lee desde memoria EEPROM |
| 49 | pulseIn() | Mide la duración de un pulso |
| 50 | interrupts() | Habilita interrupciones |
Lista de 50 comandos básicos de Arduino, con una breve explicación y ejemplos simples
1. pinMode(pin, modo)
- Configura un pin como entrada (INPUT) o salida (OUTPUT).
- Ejemplo: pinMode(13, OUTPUT);
2. digitalWrite(pin, valor)
- Enciende (HIGH) o apaga (LOW) un pin de salida digital.
- Ejemplo: digitalWrite(13, HIGH);
3. digitalRead(pin)
- Lee el estado de un pin digital (HIGH o LOW).
- Ejemplo: int estado = digitalRead(2);
4. analogWrite(pin, valor)
- Escribe un valor PWM (0-255) en un pin analógico.
- Ejemplo: analogWrite(9, 128);
5. analogRead(pin)
- Lee un valor de un pin analógico (0-1023).
- Ejemplo: int sensor = analogRead(A0);
6. delay(ms)
- Pausa el programa por una cantidad de milisegundos.
- Ejemplo: delay(1000); // 1 segundo
7. millis()
- Retorna el tiempo en milisegundos desde que Arduino comenzó a ejecutarse.
- Ejemplo: long tiempo = millis();
8. micros()
- Similar a millis(), pero en microsegundos.
- Ejemplo: long tiempo = micros();
9. Serial.begin(velocidad)
- Inicializa la comunicación serial.
- Ejemplo: Serial.begin(9600);
10. Serial.print(valor)
- Imprime valores en el monitor serie sin salto de línea.
- Ejemplo: Serial.print(“Hola Mundo”);
11. Serial.println(valor)
- Imprime valores en el monitor serie con salto de línea.
- Ejemplo: Serial.println(123);
12. Serial.read()
- Lee un byte desde el puerto serie.
- Ejemplo: char dato = Serial.read();
13. Serial.available()
- Retorna la cantidad de bytes disponibles en el puerto serie.
- Ejemplo: if (Serial.available() > 0) { … }
14. random(min, max)
- Genera un número aleatorio entre un rango.
- Ejemplo: int num = random(1, 100);
15. map(valor, inMin, inMax, outMin, outMax)
- Convierte un valor de un rango a otro.
- Ejemplo: int nuevoValor = map(sensor, 0, 1023, 0, 255);
16. constrain(valor, min, max)
- Limita un valor dentro de un rango.
- Ejemplo: valor = constrain(valor, 10, 100);
17. abs(valor)
- Devuelve el valor absoluto de un número.
- Ejemplo: int absoluto = abs(-5);
18. sq(valor)
- Retorna el cuadrado de un número.
- Ejemplo: int cuadrado = sq(4); // 16
19. sqrt(valor)
- Retorna la raíz cuadrada de un número.
- Ejemplo: float raiz = sqrt(25.0); // 5.0
20. pow(base, exponente)
- Calcula una potencia.
- Ejemplo: float resultado = pow(2, 3); // 8.0
21. sin(ángulo)
- Retorna el seno de un ángulo en radianes.
- Ejemplo: float seno = sin(PI / 2); // 1.0
22. cos(ángulo)
- Retorna el coseno de un ángulo en radianes.
- Ejemplo: float coseno = cos(PI); // -1.0
23. tan(ángulo)
- Retorna la tangente de un ángulo en radianes.
- Ejemplo: float tangente = tan(PI / 4); // 1.0
24. HIGH
- Valor lógico de 5V para activar una salida digital.
- Ejemplo: digitalWrite(13, HIGH);
25. LOW
- Valor lógico de 0V para desactivar una salida digital.
- Ejemplo: digitalWrite(13, LOW);
26. INPUT
- Define un pin como entrada.
- Ejemplo: pinMode(2, INPUT);
27. OUTPUT
- Define un pin como salida.
- Ejemplo: pinMode(13, OUTPUT);
28. INPUT_PULLUP
- Activa una resistencia pull-up interna en un pin de entrada.
- Ejemplo: pinMode(2, INPUT_PULLUP);
29. attachInterrupt(interrupt, función, modo)
- Activa una interrupción externa en un pin.
- Ejemplo: attachInterrupt(digitalPinToInterrupt(2), miFuncion, RISING);
30. detachInterrupt(interrupt)
- Desactiva una interrupción externa.
- Ejemplo: detachInterrupt(digitalPinToInterrupt(2));
31. noTone(pin)
- Detiene la generación de una señal en un pin.
- Ejemplo: noTone(8);
32. tone(pin, frecuencia)
- Genera una onda cuadrada en un pin a una frecuencia específica.
- Ejemplo: tone(8, 1000); // 1kHz en el pin 8
33. tone(pin, frecuencia, duración)
- Genera una onda cuadrada por un tiempo determinado.
- Ejemplo: tone(8, 1000, 500); // 1kHz por 500ms
34. shiftOut(dataPin, clockPin, bitOrder, value)
- Envía datos en serie a un dispositivo externo.
- Ejemplo: shiftOut(2, 3, MSBFIRST, 0b10101010);
35. shiftIn(dataPin, clockPin, bitOrder)
- Recibe datos en serie desde un dispositivo externo.
- Ejemplo: byte data = shiftIn(4, 5, LSBFIRST);
36. bitRead(valor, bit)
- Lee un bit específico de un número.
- Ejemplo: int bit3 = bitRead(0b10101010, 3);
37. bitWrite(valor, bit, estado)
- Escribe un valor (1 o 0) en un bit específico de un número.
- Ejemplo: bitWrite(variable, 2, 1);
38. bitSet(valor, bit)
- Establece un bit en 1.
- Ejemplo: bitSet(variable, 4);
39. bitClear(valor, bit)
- Establece un bit en 0.
- Ejemplo: bitClear(variable, 4);
40. word(valor)
- Convierte un número en un tipo de dato de 16 bits.
- Ejemplo: word numero = word(1025);
41. lowByte(valor)
- Obtiene el byte menos significativo de un número de 16 bits.
- Ejemplo: byte lb = lowByte(1025);
42. highByte(valor)
- Obtiene el byte más significativo de un número de 16 bits.
- Ejemplo: byte hb = highByte(1025);
43. isAlpha(caracter)
- Verifica si un carácter es una letra (A-Z o a-z).
- Ejemplo: if (isAlpha(‘B’)) { … }
44. isDigit(caracter)
- Verifica si un carácter es un número (0-9).
- Ejemplo: if (isDigit(‘7’)) { … }
45. delayMicroseconds(us)
- Pausa el programa por microsegundos.
- Ejemplo: delayMicroseconds(500);
46. detachServo()
- Desconecta un servo de un pin para liberar recursos.
- Ejemplo: servoMotor.detach();
47. EEPROM.write(direccion, valor)
- Guarda un valor en la memoria EEPROM.
- Ejemplo: EEPROM.write(0, 25);
48. EEPROM.read(direccion)
- Lee un valor de la memoria EEPROM.
- Ejemplo: int dato = EEPROM.read(0);
49. pulseIn(pin, estado)
- Mide la duración de un pulso (HIGH o LOW).
- Ejemplo: long duracion = pulseIn(7, HIGH);
50. interrupts()
- Habilita las interrupciones.
Ejemplo: interrupts();
Conclusión
Conocer estos 50 comandos básicos de Arduino es un paso fundamental para comenzar a programar y desarrollar proyectos electrónicos. Estos comandos permiten controlar entradas y salidas digitales, trabajar con sensores, realizar cálculos y comunicarse con otros dispositivos.
A medida que practiques con estos comandos podrás crear proyectos cada vez más avanzados, desde circuitos simples con LEDs hasta sistemas de automatización, robótica y monitoreo con sensores. Esta lista puede servirte como guía de referencia rápida mientras aprendes y desarrollas nuevos proyectos con Arduino.
