Librería (más bien conjunto de macros) para facilitar el uso de Arduino en castellano para principiantes
Clone or download
Sindormir.net
Sindormir.net Merge pull request #2 from tallerinventores/master
Actualizado para especificaciones de library manager
Latest commit eeaf8c6 Feb 26, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples añadidos modulos May 9, 2015
src colocados archivos segun especificaciones Feb 25, 2016
LICENSE Initial commit Jan 16, 2015
README.md actualizado README Feb 25, 2016
keywords.txt modificado 'creaVariable' añadido 'repetirMientrasQue' Jun 7, 2015
library.properties Especificaciones de librería segun 1.5++ Feb 25, 2016

README.md

ArduinoFacil

Librería (más bien conjunto de macros) para facilitar el uso de Arduino en castellano para principiantes.

Extensión de librerías

Esta librería permite manejar otras librerías siguiendo la misma filosofía de ArduinoFacil.
ArduinoFacil está creado en módulos, de forma que puede decidir qué otras librerías añadir o quitar con sólo un comentario en el archivo de cabecera de la presente librería.
Por defecto, ArduinoFacil sólo trae habilitadas las funciones propias de Arduino, con el fin de reducir problemas de compilación (si usted no tiene estas librerías externas) y minimizar el código generado.

Directrices usadas

  • Palabras clave: Concatenadas sin espacios, la primera letra de cada palabra en mayúsculas excepto la inicial.

    estableceComoEntradaSubida()
    
    
  • Constantes: Siempre en mayúsculas, si consta de varias palabras, separadas por el caracter _.

    LED_INCORPORADO
    
  • Estamentos: El cierre de estamentos se hace anteponiendo la palabra fin al principio del nombre del estamento.

    porSiempre
        //codigo
    finPorSiempre
    
  • Palabras de sintaxis nula: Se pueden crear palabras para asemejar la sintaxis al propio idioma, estas palabras carecen de significado.

    si entrada(2) esta ACTIVA entonces              //esta
    si hay datoDisponible entonces                  //hay
    si entradaAnalogica(A0) esMayor a 100 entonces  //a
    
  • Tiempos verbales: Para las acciones se usan imperativos para la accion a realizar. Estas forman acciones por sí mismas (acaban en ;).

    enciende()
    espera()
    enviaTexto()
    
  • Adquisición de datos: Para aquellas acciones que devuelvan un valor no hay acción, simplemente la palabra clave.

    cronometro
    entrada()
    dato
    
  • Declaraciones de instancia: Aquellas librerías externas que requieran declarar instancias, llevaran la palabra declara al principio de la acción.

    declaraMotorUno()
    declaraDistancia()
    
  • Acciones de preparación: Aquellas funciones que no estén incluidas en el módulo AF_CORE, llevaran la palabra inicia al principio de la acción.

    iniciaDistancia()
    iniciaPuerto()
    

Tabla de macros

TODO: unificar formato de tablas y añadir ejemplos.

Constantes (LITERAL1)

Módulo: AF_CORE.

Definiciones constantes.

ArduinoFacil Arduino equivalente Tipo
SALIDA OUTPUT Constante
ENTRADA INPUT Constante
ENTRADA_SUBIDA INPUT_PULLUP Constante
LED_INCORPORADO LED_BUILTIN Constante
CIERTO true Constante
FALSO false Constante

Comparaciones (LITERAL1)

Módulo: AF_CORE.

Definiciones constantes.

ArduinoFacil Arduino equivalente Tipo
ACTIVA == HIGH Operador comparativo, Constante
INACTIVA == LOW Operador comparativo, Constante
esIgual == Operador comparativo
noEsIgual != Operador comparativo
esMayor > Operador comparativo
esMenor < Operador comparativo
esMayorOIgual >= Operador comparativo
esMenorOIgual <= Operador comparativo

Operadores binarios (LITERAL1)

Módulo: AF_CORE.

Amplía las formas de control

ArduinoFacil Arduino equivalente Tipo
y ) && ( Operador binario
o `)

Semántica nula (LITERAL1)

Módulo: AF_CORE.

Para facilitar la sintaxis.

ArduinoFacil Arduino equivalente Tipo
esta `` Nulo
hay `` Nulo
a `` Nulo
que `` Nulo

Estructura (KEYWORD3)

Módulo: AF_CORE.

Estructura básica del código.

ArduinoFacil Arduino equivalente Tipo
comienzoPreparacion void setup() { Estructura
finPreparacion } Estructura
comienzoReceta void loop() { Estructura
finReceta } Estructura
comienzoInterrupcion void isroutine() { Estructura
finInterrupcion } Estructura

Variables (KEYWORD3)

Módulo: AF_CORE.

Declara, inicializa y gestiona variables tipo int.

ArduinoFacil Arduino equivalente Tipo
creaVariable( indice ) long indice = 0; Acción
guardaValor( valor , indice ) indice = valor ; Acción
incrementaValor( valor , indice ) indice += valor ; Acción
desplazaValorAIzquierdas( valor , indice ) indice << valor ; Acción
desplazaValorADerechas( valor , indice ) indice >> valor ; Acción

Estructura de control (KEYWORD3)

Módulo: AF_CORE.

Estructuras para gestionar el código.

ArduinoFacil Arduino equivalente Tipo
si if ( Estamento
entonces ) { Estamento
siNo } else { Estamento
siSiNo } else if ( Estamento
finSi } Estamento
repetir( indice , veces ) for (int indice = 0; indice < veces ; indice ++) { Estamento
finRepetir } Estamento
porSiempre do { Estamento
finPorSiempre } while (1); Estamento
esperaMientrasQue while ( Estamento
finEsperaMientrasQue ); Estamento
repetirMientrasQue while ( Estamento
finRepetirMientrasQue } Estamento

Funciones de interrupción (KEYWORD2)

Módulo: AF_CORE.

Proporciona la declaración de interrupciones.

ArduinoFacil Arduino equivalente Tipo
iniciaInterrupcionBajada( pin ) attachInterrupt( pin - 2, isroutine, FALLING); Acción
iniciaInterrupcionSubida( pin ) attachInterrupt( pin - 2, isroutine, RISING); Acción
declaraInterrupcion void isroutine(); Acción

Funciones I/O (KEYWORD2)

Módulo: AF_CORE.

Las funciones digitales.

ArduinoFacil Arduino equivalente Tipo
estableceComoSalida( pin ) pinMode( pin , OUTPUT); Acción
estableceComoEntrada( pin ) pinMode( pin , INPUT); Acción
estableceComoEntradaSubida( pin ) pinMode( pin , INPUT_PULLUP); Acción
enciende( pin ) digitalWrite( pin , HIGH); Acción
apaga( pin ) digitalWrite( pin , LOW); Acción
entrada( pin ) digitalRead( pin ) ****

Funciones analógicas (KEYWORD2)

Módulo: AF_CORE.

Funciones analógicas.

ArduinoFacil Arduino equivalente Tipo
entradaAnalogica( pin ) analogRead( pin )
enciendeConValor( pin , valor ) analogWrite( pin , map( valor , 0, 100, 0, 255)); Acción

Funciones de tiempo (KEYWORD2)

Módulo: AF_CORE.

Gestiona el tiempo.

ArduinoFacil Arduino equivalente Tipo
espera( segundos ) delay( segundos * 1000 ); Acción
cronometro millis()

Funciones de música (KEYWORD2)

Módulo: AF_CORE_EXT.

Reproduce tonos.

ArduinoFacil Arduino equivalente Tipo
reproduceTono( pin , frecuencia ) tone( pin , frecuencia ); Acción
silenciaTono( pin ) noTone( pin ); Acción

Funciones de aleatoridad (KEYWORD2)

Módulo: AF_CORE_EXT.

Genera números aleatorios.

ArduinoFacil Arduino equivalente Tipo
generaSemilla( semilla ) randomSeed( semilla ); Acción
aleatorio( máximo ) random( máximo )

Funciones de puerto serie (KEYWORD2)

Módulo: AF_CORE_EXT.

Maneja el puerto serie.

ArduinoFacil Arduino equivalente Tipo
iniciaPuerto Serial.begin(9600); Acción
datoDisponible Serial.available() > 0
enviaDato( byte ) Serial.write( byte ); Acción
enviaTexto( texto ) Serial.println( texto ); Acción
dato Serial.read()

Funciones de GP2Y0A21YK

Módulo: AF_DISTANCE.

Interpreta datos de sensores de distancia Sharp GP2Y0A21YK, GP2Y0A41SK, SRF-04 y SRF-05.

ArduinoFacil Arduino equivalente Tipo
declaraDistancia DistanceGP2Y0A21YK Dist; Acción
iniciaDistancia( pin ) Dist.begin( pin ); Acción
distancia Dist.getDistanceCentimeter()

Ejemplos

En los ejemplos incluidos se puede ver la forma de uso.
TODO: Ampliar librerías

Autores

Esta librería ha sido creada por: