arduino commands
arduino commands

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

#ComandoDescripción
1pinMode()Configura un pin como entrada o salida
2digitalWrite()Enciende o apaga un pin digital
3digitalRead()Lee el estado de un pin digital
4analogWrite()Escribe un valor PWM en un pin
5analogRead()Lee el valor de un pin analógico
6delay()Pausa el programa por un tiempo
7millis()Tiempo en milisegundos desde que inició el programa
8micros()Tiempo en microsegundos desde que inició el programa
9Serial.begin()Inicia la comunicación serial
10Serial.print()Imprime datos en el monitor serial
11Serial.println()Imprime datos con salto de línea
12Serial.read()Lee datos desde el puerto serial
13Serial.available()Verifica datos disponibles en el puerto serial
14random()Genera números aleatorios
15map()Convierte un valor de un rango a otro
16constrain()Limita un valor dentro de un rango
17abs()Obtiene el valor absoluto
18sq()Calcula el cuadrado de un número
19sqrt()Calcula la raíz cuadrada
20pow()Calcula una potencia
21sin()Calcula el seno
22cos()Calcula el coseno
23tan()Calcula la tangente
24HIGHValor lógico alto (5V)
25LOWValor lógico bajo (0V)
26INPUTDefine un pin como entrada
27OUTPUTDefine un pin como salida
28INPUT_PULLUPActiva resistencia pull-up interna
29attachInterrupt()Activa una interrupción externa
30detachInterrupt()Desactiva una interrupción
31noTone()Detiene una señal de tono
32tone()Genera una señal de tono
33tone(pin,frec,duracion)Genera tono con duración definida
34shiftOut()Envía datos en serie
35shiftIn()Recibe datos en serie
36bitRead()Lee un bit específico
37bitWrite()Escribe un bit específico
38bitSet()Activa un bit
39bitClear()Apaga un bit
40word()Convierte un número a 16 bits
41lowByte()Obtiene el byte bajo
42highByte()Obtiene el byte alto
43isAlpha()Verifica si un carácter es una letra
44isDigit()Verifica si un carácter es un número
45delayMicroseconds()Pausa en microsegundos
46detach()Desconecta un servo
47EEPROM.write()Escribe en memoria EEPROM
48EEPROM.read()Lee desde memoria EEPROM
49pulseIn()Mide la duración de un pulso
50interrupts()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.

Proyectos de Arduino para practicar