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.
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
Equivalencia con Arduino estándar
- Cod-ES
- 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óntono() 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 archivonotas.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]: