Skip to main content

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.

Tu primer programa: parpadeo de LED

El ejemplo más clásico de Arduino es hacer parpadear el LED integrado en la placa. A continuación se muestra el mismo programa escrito en Arduino estándar (C++) y en Cod-ES, para que puedas comparar la sintaxis.
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

Qué hace cada palabra clave

Cod-ESEquivalente en ArduinoDescripción
iniciovoid setup() {Define el bloque de configuración inicial, que se ejecuta una sola vez.
buclevoid loop() {Define el bloque principal que se repite continuamente.
fin}Cierra cualquier bloque de código.
configurarSalida(pin)pinMode(pin, OUTPUT)Configura un pin como salida digital.
LED_INTERNOLED_BUILTINReferencia al pin del LED integrado en la placa.
salidaDigital(pin, valor)digitalWrite(pin, valor)Establece el nivel de voltaje (alto o bajo) en un pin de salida.
ALTOHIGHNivel alto (5 V o 3.3 V según la placa).
BAJOLOWNivel bajo (0 V).
esperar(tiempo, unidad)delay(ms) / delayMicroseconds()Pausa la ejecución durante el tiempo indicado en la unidad elegida.
SEGUNDOS(conversión interna a ms)Unidad de tiempo en segundos. También existen MILISEGUNDOS y MICROSEGUNDOS.
La función esperar acepta tres unidades de tiempo: MILISEGUNDOS, SEGUNDOS y MICROSEGUNDOS. Esto evita tener que convertir manualmente los valores al llamar a delay.

Ejemplo con comunicación serie

Para enviar mensajes al monitor serie del IDE, activa el módulo INCLUIR_SERIE antes de incluir la librería. Esto habilita el objeto Serie, equivalente en español de Serial.
#define INCLUIR_SERIE
#include <Cod-ES.h>

inicio
  Serie.iniciar(9600);
fin

bucle
  salidaDigital(LED_INTERNO, ALTO);
  Serie.imprimirEnNuevaLinea("LED encendido");
  esperar(1, SEGUNDOS);

  salidaDigital(LED_INTERNO, BAJO);
  Serie.imprimirEnNuevaLinea("LED apagado");
  esperar(1, SEGUNDOS);
fin
La directiva #define INCLUIR_SERIE debe aparecer antes de #include <Cod-ES.h>. Si se coloca después, el módulo no se cargará y el programa no compilará.

Funciones del objeto Serie

MétodoEquivalente en ArduinoDescripción
Serie.iniciar(baudRate)Serial.begin(baudRate)Inicia la comunicación serie con la velocidad indicada.
Serie.imprimir(valor)Serial.print(valor)Imprime un valor sin salto de línea al final.
Serie.imprimirEnNuevaLinea(valor)Serial.println(valor)Imprime un valor seguido de un salto de línea.
Serie.leer()Serial.read()Lee un byte del buffer de entrada.
Serie.disponible()Serial.available()Devuelve la cantidad de bytes disponibles para leer.
Serie.leerCadena()Serial.readString()Lee una cadena de texto completa desde el buffer.
Serie.terminar()Serial.end()Finaliza la comunicación serie.

Estructuras de control

Cod-ES también traduce las estructuras de control de flujo más comunes de C++:
#include <Cod-ES.h>

int contador = 0;

inicio
  configurarSalida(LED_INTERNO);
fin

bucle
  si (contador < 5) entonces
    salidaDigital(LED_INTERNO, ALTO);
    esperar(200, MILISEGUNDOS);
    salidaDigital(LED_INTERNO, BAJO);
    esperar(200, MILISEGUNDOS);
    contador = contador + 1;
  si_no
    salidaDigital(LED_INTERNO, BAJO);
  fin
fin
Cod-ESEquivalente en C++Descripción
siif (Inicio de una condición.
entonces) {Abre el bloque que se ejecuta si la condición se cumple.
si_no} else {Bloque alternativo si la condición es falsa.
si_no_si} else if (Condición alternativa adicional.
mientraswhile (Bucle que se repite mientras la condición sea verdadera.
repetirfor (Bucle con variable, condición e intervalo.
romperbreakSale del bucle o del bloque elegir.
devolverreturnDevuelve un valor desde una función.
continuarcontinueSalta a la siguiente iteración del bucle.

Próximos pasos

Referencia del lenguaje

Consulta todas las funciones, constantes y estructuras de control disponibles en Cod-ES.

Instalación

Revisa cómo instalar la librería y activar módulos opcionales.

Build docs developers (and LLMs) love