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.
Video: comandos básicos de Arduino para principiantes
Antes de consultar la lista completa de 50 comandos, te recomiendo ver este video donde explico de forma práctica algunos de los comandos básicos más utilizados en Arduino, como pinMode(), digitalWrite(), digitalRead(), analogRead(), delay() y Serial.print().
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.
