Configure the code for your Escornabot

The 'Configuration.h' file

The code is modular and supports different types of keypads, motors and other extras. Before loading the program into the Arduino microcontroller on your Escornabot, you must configure those modules will be used and their capabilities.

The file where the firmware is configured is Configuration.h. Open your favorite editor and check the settings.

By default, the code is ready to run the standard version. You should not change too many settings unless you were making a Rarescornabot.

Remember that if you change any hardware component or connection, you must review the settings again and load the new compiled sketch on your Escornabot.

How to edit 'Configuration.h'

The file is written in C preprocessor directives with macros. At first glance it seems difficult, but don't worry because you just have to know what do you want to change. There are lots comment lines and you should read them before changing anything.

Lines started with two slashes // are comment lines so they are disabled (ignored by the compiler). If you want to enable a directive delete the slashes, either, write the slashes if you want to disable a directive.

Some define directive needs a value after the identifier (after the second whitespace). Read the comment surrounding above the directive to understand what values you can use or what is the meaning for those possible values. The next point (Meaning of the settings) will help you more in detail about every setting.

Meaning of the settings

-ToDo translate and complete-

Selección da maquinaria a usar

O Escornabot pode moverse gracias aos engine que son as distintas maquinarias que se poder utilizar. Por omisión, o código vén preparado para funcionar coa maquinaria EngineSteppers.

EngineSteppers

-ToDo: incluir foto de Vacaloura con EngineSteppers-

-ToDo: activación e opcións-

EngineHBridge

-ToDo: incluir foto de Vacaloura con EngineHbridge-

-ToDo: activación e opcións-

Selección da botoneira

ButtonSetDigital

-ToDo: incluir foto de Vacaloura con ButtonSetDigital-

ButtonSetAnalog

-ToDo: incluir foto de Vacaloura con ButtonSetAnalog-

ButtonSetBluetooth

-ToDo: incluir foto de Vacaloura con ButtonSetBluetooth -

Uso da memoria EEPROM

Se queres que o Escornabot lembre o último programa executado logo dun apagado tes que activar a opción do uso da memoria EEPROM.

``` // store configuration and program within internal EEPROM

define USE_PERSISTENT_MEMORY true

```

Vén habilitada por omisión co que non terías que facer nada a non ser que queras deshabilitar esta opción por calquera rara razón. Para facer isto último substitúe onde pon true por false.

Cantidade de movementos a almacenar

O almacenamento dos movementos na memoria do Escornabot depende da capacidade de memoria RAM do Arduino que leve. Se montas un Arduino con máis memoria terás máis capacidade de almacenar movementos.

Para cambiar o límite de movementos modifica o número 100 por outro valor:

``` // memory capacity for program movements

define MOVE_LIMIT 100

```

Podes variar este valor para obter máis movementos pero non podemos dicirche onde está o límite con certeza porque depende de máis variables do programa.

Con todo, o valor por omisión de 100 movementos que propoñemos estará probado nos Arduino cun mínimo de 2Kb (todos salvo LilyPad que ten 1Kb). Para os teus cálculos, cada movemento ocupa un byte de memoria.

Ten en conta tamén a capacidade da memoria EEPROM do Arduino se queres que o programa se garde entre apagados do Escornabot.

Pausa despois de executar un movemento

Para marcar os pasos do programa pódese facer unha pequena pausa logo de cada movemento e así deixar claro, especialmente cando se executa o mesmo movemento seguido, que foron 2 ordes de movemento (pasos).

``` // milliseconds to pause after every movement

define AFTER_MOVEMENT_PAUSE 300

```

Por defecto vén configurado con 300 milisegundos de pausa. Pódese usar o valor 0 para que non se faga pausa.

Tempo mínimo para a pulsación de botón

Para considerar un botón como pulsado é necesario que o fluxo de corrente estea activo durante un pequeno intre. De non facelo así, prodúcese un efecto de moita sensibilidade nas pulsacións do botón, mesmo as interferencias a nivel eléctrico poderían facer que o botón fora activado sen ter sido pulsado.

``` // milliseconds after a button is considered as pressed

define BUTTON_MIN_PRESSED 30

```

Por defecto vén configurado con 30 milisegundos. Non deberías ter que reconfigurar esta opción se usas as botoneiras propostas.

Zoador de tonos simples

Un zoador permite que o Escornabot emita sons de tonos simples cando se producen os distintos eventos.

Para activalo é preciso configurar a variable USE_BUZZER a true (false para desactivar) e especificar coa variable BUZZER_PIN a saída do Arduino ao que está conectado físicamente.

``` // buzzer

define USE_BUZZER true

define BUZZER_PIN 10

```

Lembra que a saída Arduino para un zoador ten que ser de tipo PWM, típicamente as saídas dixitais 3, 5, 6, 9, 10 e 11.