Librería (más bien conjunto de macros) para facilitar el uso de Arduino en castellano para principiantes.
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.
-
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()
TODO: unificar formato de tablas y añadir ejemplos.
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 |
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 |
Módulo: AF_CORE.
Amplía las formas de control
ArduinoFacil | Arduino equivalente | Tipo |
---|---|---|
y |
) && ( |
Operador binario |
o |
`) |
Módulo: AF_CORE.
Para facilitar la sintaxis.
ArduinoFacil | Arduino equivalente | Tipo |
---|---|---|
esta |
`` | Nulo |
hay |
`` | Nulo |
a |
`` | Nulo |
que |
`` | Nulo |
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 |
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 |
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 |
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 |
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 ) |
**** |
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 |
Módulo: AF_CORE.
Gestiona el tiempo.
ArduinoFacil | Arduino equivalente | Tipo |
---|---|---|
espera( segundos ) |
delay( segundos * 1000 ); |
Acción |
cronometro |
millis() |
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 |
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 ) |
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() |
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() |
En los ejemplos incluidos se puede ver la forma de uso.
TODO: Ampliar librerías
Esta librería ha sido creada por:
- Jorge Goméz [email protected]
- kwendenarmo [email protected]