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.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/FrancoMartino/cod-es/llms.txt
Use this file to discover all available pages before exploring further.
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
Explicación línea por línea
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).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.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.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.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
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).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).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.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.
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.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.
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]:
| Constante | Frecuencia (Hz) | Nota musical |
|---|---|---|
NOTA_DO4 | 262 Hz | Do central (C4) |
NOTA_RE4 | 294 Hz | Re (D4) |
NOTA_MI4 | 330 Hz | Mi (E4) |
NOTA_FA4 | 349 Hz | Fa (F4) |
NOTA_SOL4 | 392 Hz | Sol (G4) |
NOTA_LA4 | 440 Hz | La (A4) |
NOTA_SI4 | 494 Hz | Si (B4) |
Referencia rápida de palabras clave usadas
| Cod-ES | Arduino estándar | Descripción |
|---|---|---|
configurarEntrada(pin, pullup) | pinMode(pin, INPUT_PULLUP) | Configura un pin como entrada, con pull-up opcional |
leerPin(pin, DIGITAL) | digitalRead(pin) | Lee el valor digital de un pin |
encender(pin) | digitalWrite(pin, HIGH) | Pone un pin en nivel alto |
apagar(pin) | digitalWrite(pin, LOW) | Pone un pin en nivel bajo |
tono(pin, freq, dur) | tone(pin, freq, dur) | Genera un tono en un pin |
apagarTono(pin) | noTone(pin) | Detiene el tono en un pin |
si … entonces | if ( … ) { | Estructura condicional |
si_no | } else { | Bloque alternativo |
es_igual | == | Operador de igualdad |
Serie.iniciar(baud) | Serial.begin(baud) | Inicia la comunicación serie |
Serie.imprimirEnNuevaLinea(x) | Serial.println(x) | Imprime con salto de línea |
DIGITAL | — | Argumento de modo para leerPin() |
VERDADERO | true | Constante booleana verdadero |