Skip to main content
Los ejemplos digitales muestran cómo leer señales de entrada (botones, interruptores) y generar señales de salida (tonos de audio). Ambos usan pines en modo completamente digital.

Entrada polarizada

Lee el estado de un botón conectado con resistencia pull-up interna. Cuando el botón se presiona, el LED interno se enciende y el estado se envía por el puerto serie.
Conecta un interruptor sin retención (pulsador momentáneo) entre el pin D2 y GND. No se necesita resistencia externa: el ejemplo activa la resistencia pull-up interna del microcontrolador.
Este ejemplo requiere activar el módulo Serie. Agrega #define INCLUIR_SERIE antes de #include <Cod-ES.h>.
EntradaPolarizada.ino

Diagrama de conexión

1

Pin D2 → pata 1 del pulsador

Un extremo del pulsador va al pin digital 2 de la placa Arduino.
2

GND → pata 2 del pulsador

El otro extremo del pulsador se conecta directamente a GND. No se necesita resistencia externa.

Explicación línea por línea

1

configurarEntrada(2, VERDADERO)

Llama a pinMode(2, INPUT_PULLUP). El segundo argumento VERDADERO activa la resistencia pull-up interna. Esto hace que el pin lea ALTO en reposo y BAJO cuando el botón se presiona (ya que el botón conecta el pin a GND).
2

leerPin(2, DIGITAL)

Llama a digitalRead(2). El segundo argumento DIGITAL indica que se trata de una lectura digital (0 o 1). Compara con ANALOGICO para lecturas de 0 a 1023.
3

si estadoBoton es_igual ALTO entonces

Equivale a if (estadoBoton == HIGH) {. es_igual es el operador == en Cod-ES. entonces reemplaza la apertura ){ del bloque condicional.
4

apagar(LED_INTERNO) / encender(LED_INTERNO)

Atajos de Cod-ES que equivalen a digitalWrite(LED_BUILTIN, LOW) y digitalWrite(LED_BUILTIN, HIGH) respectivamente. Simplifican el control de pines de salida.
5

si_no

Equivale a } else {. Ejecuta el bloque alternativo cuando la condición del si no se cumple.
6

Serie.imprimirEnNuevaLinea(estadoBoton)

Equivale a Serial.println(estadoBoton). Envía el valor leído por el puerto serie seguido de un salto de línea. Visible en el Monitor Serie del IDE de Arduino a 9600 baudios.

Lógica invertida con pull-up

Al usar configurarEntrada(pin, VERDADERO) la lógica del botón es invertida: el pin lee ALTO (1) cuando el botón no está presionado, y BAJO (0) cuando sí está presionado (porque conecta el pin a GND). Por eso el ejemplo apaga el LED cuando lee ALTO y lo enciende cuando lee BAJO.

Equivalencia con Arduino estándar

EntradaPolarizada.ino

Melodía

Reproduce una melodía corta al iniciar la placa usando un buzzer pasivo. Cada nota se genera con la función tono() especificando el pin, la frecuencia y la duración.
Conecta un buzzer pasivo al pin 8. Un extremo al pin 8 y el otro a GND. Los buzzers activos no son compatibles ya que no responden a señales de frecuencia variable.

Explicación línea por línea

1

entero melodia[]

Array de enteros que almacena las frecuencias en Hz de cada nota de la melodía. Los valores provienen de las constantes definidas en notas.h. El valor 0 representa una pausa (silencio).
2

entero duraciones[]

Array de enteros que define la duración de cada nota usando denominadores de nota musical: 4 es negra (un cuarto), 8 es corchea (un octavo).
3

repetir (entero nota = 0, nota < 8, nota++)

Equivale a for (int nota = 0; nota < 8; nota++). Itera sobre cada una de las 8 notas de la melodía.
4

entero duracion = 1000 / duraciones[nota]

Convierte el denominador de nota en milisegundos. Una negra (4) resulta en 250 ms; una corchea (8) en 125 ms.
5

tono(8, melodia[nota], duracion)

Equivale a tone(8, melodia[nota], duracion). Genera una onda cuadrada en el pin 8 a la frecuencia indicada durante la duración especificada en milisegundos.
6

esperar(duracion * 1.30, MILISEGUNDOS)

Agrega un 30 % extra de tiempo al de la nota para que haya una pequeña separación audible entre notas consecutivas.
7

apagarTono(8)

Equivale a noTone(8). Detiene la generación del tono en el pin 8.

Notas disponibles en notas.h

El archivo notas.h define constantes para todas las notas musicales desde la octava 0 hasta la 8, con sostenidos incluidos. El formato del nombre es NOTA_[NOMBRE][OCTAVA]:

Referencia rápida de palabras clave usadas