Paso 5: Interfaz de Software
MRETV es tan fácil de programar como a construir, esto quedará corto. Los tres ejemplos siguientes le ayudarán a comenzar a utilizar MRETV en su propio trabajo. Se incluyen en MRETV.zip como SoftwareInterfaceExample.ino. Es mejor utilizar un programa de terminal para conectarse a MRETV para las pruebas de entrada (más que el monitor serial integrado en el entorno de Arduino.)
Existen 3 etapas para utilizar MRETV en sus croquis.
1. incluir las piezas
2. begin() salida y entrada]
3. actualizar la información
Uso de Video en un bosquejo:
1. piezas // 2. comenzar 3. pantalla de actualización
#include / / MRETV sí
#include / / un tipo de letra, fontheight predeterminado es 8
uchar Screenbuf [20 * 20] = {}
"Hacer una cadena para ajustar su pantalla inicial"}; un lugar para poner los datos de pantalla, 20 filas de 20 caracteres
void setup() {}
Screen.Begin (textfont, Screenbuf, 20 * fontheight, 20, 20, 20, 1); video salida de arranque
(fuente, tampón, ScreenHeight (pix), ScreenWidth (chars), top (pix), izquierda (pix), modo) son centrado arriba e izquierda, modo = 1 para el texto normal
}
uint volátil a, profundidad = 0;
void loop() {}
for(a=5000;a;a--); / / nos lento
Screen_progstr (8,0, "Velocidad"); actualizar la información según sea necesario
Screen.Dec(56-((int)Depth/300));
Screen_progstr (11,0, "Profundidad");
Screen.hexint(Depth++);
}
En un bosquejo utilizando el sonido:
Recuerde los 3 pasos.
1. incluir las piezas
2. begin() salida
3. actualizar la información
1. piezas
MRETV utiliza un archivo especial de Arduino\libraries\MRETV\MRETV.extensions para obtener más información sobre funciones extendidas
como generación de sonido. (Para saber por qué ver la sección experto.) Para utilizar el sonido que es necesario definir un tipo de Audio, vamos a
'#define monoaudio' en este archivo. (ver 'default_extensions' en MRETV.extensions ahora).
#include / / MRETV sí // 2. comenzar 3. pantalla de actualización 3. actualización de sonido
#include / / un tipo de letra, fontheight predeterminado es 8
#include "saw.h" / / algunas muestras de sonido
Const char PROGMEM * suena [] = {/ / opcional conjunto de muestras de sonido, debe ser llamado 'suena []' y en progmem.
sawCo4, sawDbo4, sawDo4, sawEbo4, sawEo4, sawFo4, sawGbo4, sawGo4, sawAbo4, sawAo4, sawBbo4, sawBo4};
uchar Screenbuf [20 * 20] = {}
"Hacer una cadena para ajustar su pantalla inicial"}; un lugar para poner los datos de pantalla, 20 filas de 20 caracteres
void setup() {}
Screen.Begin (textfont, Screenbuf, 20 * fontheight, 20, 20, 20, 1); iniciar la salida de vídeo, sonido está activado al mismo tiempo
(fuente, tampón, ScreenHeight (pix), ScreenWidth (chars), top (pix), izquierda (pix), modo) son centrado arriba e izquierda, modo = 1 para el texto normal
}
uint volátil a, profundidad = 0;
void loop() {}
for(a=4000;a;a--); / / nos lento
Screen_progstr (8,0, "Velocidad"); actualizar la información según sea necesario
Screen.Dec(56-((int)Depth/300));
Screen_progstr (11,0, "Profundidad");
Screen.hexint(Depth++);
Si (! () profundidad & 0x07f)) switch(depth/0x80) {/ / ahora y entonces la señal sonora
caso 1:
SSample(sawBo4,50); jugar directamente una muestra (muestra, duración (1/60 seg))
rotura;
caso 17:
profundidad = 0;
rotura;
por defecto:
Si ((profundidad/0 x 80) > 5) setaudio((depth/0x80)-6,15); reproducir una muestra de la matriz (muestra, duración (1/60 seg))
rotura;
}
}
Uso de entrada (teclado y Serial Rx) en un dibujo:
1. piezas #include // 2. comenzar uint volátil a, profundidad = 0, velocidad = 56; 3. actualizar la información entrante 3. pantalla de actualización 3. actualización de sonido
en 'Arduino\libraries\MRETV\MRETV.extensions'
'#define monoaudio'
' #define firmwaremultiport / / teclado y serie
#define translatekeys / / no rawkey arriba/abajo cosas
#define mergstreams / / mango de ambos juntos
#include / / un tipo de letra, fontheight predeterminado es 8
#include "saw.h" / / algunas muestras de sonido
Const char PROGMEM * suena [] = {/ / opcional conjunto de muestras de sonido, debe ser llamado 'suena []' y en progmem.
sawCo4, sawDbo4, sawDo4, sawEbo4, sawEo4, sawFo4, sawGbo4, sawGo4, sawAbo4, sawAo4, sawBbo4, sawBo4};
uchar Screenbuf [20 * 20] = {}
"Hacer una cadena para ajustar su pantalla inicial"}; un lugar para poner los datos de pantalla, 20 filas de 20 caracteres
void setup() {}
Screen.Begin (textfont, Screenbuf, 20 * fontheight, 20, 20, 20, 1); iniciar la salida de vídeo, sonido, teclado y serie extensiones
(fuente, tampón, ScreenHeight (pix), ScreenWidth (chars), top (pix), izquierda (pix), modo) son centrado arriba e izquierda, modo = 1 para el texto normal
}
void loop() {}
uchar barbilla; personaje de corriente serie/teclado
for(a=4000;a;a--); / / nos lento
Switch(Chin=video.readS()) {/ / un personaje de la serie (con teclado combinado)
caso 0: / / ningún carácter recibido de entrada
rotura;
de caso ': / / s de entrada
SetAudio(0,35);
rotura;
caso 0x0d: / /
profundidad = 0xfff8 (profundidad + 0x8);
profundidad-= 1;
rotura;
}
{if(Chin)}
Screen_progstr (8,0, "Velocidad"); actualizar la información según sea necesario
Screen.Dec(Speed-((int)Depth/3));
Screen_progstr (11,0, "Profundidad");
Screen.hexint(Depth++);
Si (! () profundidad & 0x07)) switch(depth/0x8) {/ / ahora y entonces la señal sonora
caso 1:
SSample(sawBo4,50); jugar directamente una muestra (muestra, duración (1/60 seg))
rotura;
caso 17:
profundidad = 0;
rotura;
por defecto:
Si ((profundidad/0x8) > 5)setaudio((depth/0x8)-6,15); reproducir una muestra de la matriz (muestra, duración (1/60 seg))
rotura;
}
}
}