XY el cojín de MIDI con Arduino y TFT (6 / 7 paso)

Paso 6: XY MIDI teclado

Si usted ejecutaremos ejemplos pasados ha notado funcionan muy lentamente. No hay nada de malo con TFT display y también no hay nada de malo con el código o librerías. Esto es porque tratamos de utilizar un microcontrolador de 8 bits a 16MHz (o 20MHz). De hecho esta pantalla puede ejecutar mucho más rápido que podemos enviar datos (con nuestro procesador).

De hecho podríamos hacer algunas mejoras en el código y las bibliotecas, pero cambios no será dramáticos. Idealmente necesitamos procesador más potente, (incluso de 16 bits) de 32 bits, controlador DMA, > 150 Mhz, más memoria RAM (para el búfer de vídeo) etc....

En cambio podemos diseñar nuestros programas para actualizar sólo una pequeña área de la pantalla cuando necesitamos velocidad.

Puse el código entero para Arduino proyecto XY Pad MIDI aqui (adjunta a este paso, MIDIPad.zip). Puede ser estudiada en detalle para ver cómo aplica lo que dije arriba. Sin embargo comentaré algunas secciones.

En la función draw_Pad (x largo, y largo), antes de dibujar nuevas líneas, Borrar líneas viejas redibujando con el color de fondo.

 void draw_Pad(long x, long y)<br>{ // we draw 3 three lines for x and three lines for y // for better visibility myGLCD.setColor(pad_bk); myGLCD.drawLine(old_x-1,pad_topY,old_x-1,pad_bottomY); // clear old line x-1 myGLCD.drawLine(old_x+1,pad_topY,old_x+1,pad_bottomY); // clear old line x+1 myGLCD.drawLine(old_x,pad_topY,old_x,pad_bottomY); // clear old line x myGLCD.drawLine(pad_topX,old_y-1,pad_bottomY,old_y-1); // clear old line y-1 myGLCD.drawLine(pad_topX,old_y+1,pad_bottomY,old_y+1); // clear old line y+1 myGLCD.drawLine(pad_topX,old_y,pad_bottomY,old_y); // clear old line y myGLCD.setColor(reticle_color); myGLCD.drawLine(x-1,pad_topY,x-1,pad_bottomY); // draw new line x-1 myGLCD.drawLine(x+1,pad_topY,x+1,pad_bottomY); // draw new line x+1 myGLCD.drawLine(x,pad_topY,x,pad_bottomY); // draw new line x myGLCD.drawLine(pad_topX,y-1,pad_bottomX,y-1); // draw new line1 y-1 myGLCD.drawLine(pad_topX,y+1,pad_bottomX,y+1); // draw new line2 y+1 myGLCD.drawLine(pad_topX,y,pad_bottomX,y); // draw new line3 y } 

No he utilizado la conocida biblioteca MIDI Arduino (como mi proyecto anterior). En su lugar utilizo una función simple para enviar comandos de MIDI CC:

 void SendMIDIControl(byte channel, byte controller, byte value) { byte tmpChannel = (channel & 0b00001111)-1; //0= channel1...1=channel2... etc tmpChannel = 0b10110000 + tmpChannel; //midi data first bit allways 1, //+ 011 control change command //+ midi channel byte tmpController = controller & 0b01111111; //midi data first bit allways 0 byte tmpValue = value & 0b01111111; //midi data first bit allways 0 Serial1.write(tmpChannel); Serial1.write(tmpController); Serial1.write(tmpValue); } 

Para enviar comandos de MIDI al PC por USB he utilizado un módulo que hice anteriormente. Para más detalles ver mi proyecto aquí:

Importante!:

No podemos usar el primer puerto serial pasadores porque sus pines son utilizados ya por shield TFT.

  • Para Arduino UNO debemos utilizar SoftwareSerial.
  • Para Arduino MEGA podemos utilizar SoftwareSerial o Serial1 / Serial2 (he probado con SoftwareSerial y Serial1)

Mi módulo Arduino USB Midi Interface puede ser replaced(theoretical) con una combinación de Escudo de MIDI y USB para MIDI converter. No he probado esta forma (no tengo ninguno).

Artículos Relacionados

Enviar y recibir MIDI con Arduino

Enviar y recibir MIDI con Arduino

Paso 3: Enviar mensajes MIDI con Arduino - Hardware Lista de partes:Conector de MIDI Digikey CP-2350-NDResistencia de 220 ohmios 1/4 watt Digikey CF14JT220RCT-NDOtras partes(1 x) Arduino Uno Amazonascable del usb (1 x) AmazoníaProtoboard (1 x) (este
Desplazamiento de texto con Arduino y TFT Adafruit protector

Desplazamiento de texto con Arduino y TFT Adafruit protector

Lo que vamos a hacer: mostrar texto de desplazamiento con un Arduino y un Adafruit 2,8 pulgadas TFT touch pantallaLo que vamos a utilizarArduino UnoEscudo de Adafruit 2.8 pulgadas TFT táctilAsambleaEscudo de Monte TFT en ArduinoTenga cuidado de no do
Tambores de guante MIDI con Arduino y sensores de luz

Tambores de guante MIDI con Arduino y sensores de luz

voy a describir una divertida y fácil manera de construir su propia expresión sonido MIDI habilitado guante sin gastar mucho dinero en costosos sensores o Interfaces MIDI.Sienta libre de entrarme en contacto con directamente por correo si gusta o si
Control de Cubase con Arduino basado en MIDI

Control de Cubase con Arduino basado en MIDI

Un amigo mío quería controlar Cubase, su software de grabación de audio, con un botón de modo que él podría detener e iniciar grabaciones de forma remota sin tener que ir a la computadora y escribir en el teclado. Podrá hacerlo en otro software de gr
Una esfera levitando gira se ilumina y parpadea con Arduino

Una esfera levitando gira se ilumina y parpadea con Arduino

Una estrella de la muerte poco levitando en Instructables me invitó al nuevo proyecto con Arduino. Tres políticas se decidió y se mantuvieron para diferenciarlo del precursor.Hacerlo yo misma con Ready-Made no (o menos).Guardar el girar.Que brillan y
Fuente de alimentación fuente de alimentación de ATX vieja con Arduino y pantalla del Banco

Fuente de alimentación fuente de alimentación de ATX vieja con Arduino y pantalla del Banco

Hola a todos y Bienvenidos a mi primer Instructable.Siempre he querido tener un banco PSU para facilitar el acceso a una fuente de energía y algo que puedo confiar en el cuando se trabaja en varios proyectos. Quería una PSU que:• proporciona 12v, 5v
La realización de un cardán sin cepillo bricolaje con Arduino

La realización de un cardán sin cepillo bricolaje con Arduino

Esta es una historia de mi tercer proyecto con gyro barato y Arduino.Después de los anteriores dos proyectos, Péndulo invertido fácil y caligrafía 3D, he pensado de hacer Cámara de cardán con Arduino. Luego tenía las tres políticas para el proyecto.E
KeyChainino - llavero juego primera programable con Arduino

KeyChainino - llavero juego primera programable con Arduino

KeyChainino es un vintage llavero juego programable con Arduino donde cualquiera puede subir su propio juego con el IDE de Arduino.Si realmente te gusta el juego de Arcade, KeyChainino es para ti!No tiene ningún LCD, pero sólo 30 LEDs controlado por
Música de la taza: Convertir el agua en un instrumento con Arduino y ChucK

Música de la taza: Convertir el agua en un instrumento con Arduino y ChucK

¿Qué pasa si usted podría convertir cualquier superficie conductora en un instrumento? ¿Como, digamos... una taza de agua? Lo mejor de todo, es barato; lo único que necesita $1 vale de componentes eléctricos adicional (no incluye Arduino).Para este p
MIDI a ARDUINO

MIDI a ARDUINO

Esto ya es parte de algunos de mi Instructables, pero probablemente difíciles de encontrar mediante la función de búsqueda.Se utiliza en Instructables siguientes:Los motores micro Timelapse Dolly con DC:El avanzado Micro Timelapse Dolly con steppers
Control de Motor de BLDC con Arduino, salvado el motor del HD y sensores Hall

Control de Motor de BLDC con Arduino, salvado el motor del HD y sensores Hall

hay un gran interés estos días entre los aficionados a los hobbys en el control de motores brushless de la C.C. (BLDC), que han mejorado el rendimiento y mejor eficiencia energética enmotores tradicionales, pero son más difíciles de usar. Muchos prod
Paraguas LED con Arduino

Paraguas LED con Arduino

el paraguas del LED con Arduino combina un paraguas, una matriz de LED 8 x 10 y un microcontrolador Arduino para crear un controlable, programable LED experiencia en la intimidad de su propio paraguas. Este proyecto fue inspirado por la cobertura elé
8 x 8 x 8 LED cubo con Arduino Mega (+ sonido + PS controlador + juego)

8 x 8 x 8 LED cubo con Arduino Mega (+ sonido + PS controlador + juego)

este es un instructivo que se basa en el cubopor Chr, (por SuperTech-IT, (y por das-labor.org, (http://www.das-labor.org/wiki/Borg3d_Bauanleitung...)pero creo que su mejor y más fácil.Comencé este proyecto sin ninguna habilidad de toprogramming de so
Construir su papel TV reomte mando con arduino

Construir su papel TV reomte mando con arduino

Hola cada uno,soy vigneshraja. hice este proyecto para la diversión. Pensé que si mi tv remoto convertido en touch remote.so hice este proyecto mediante la combinación de la biblioteca remota IR y la biblioteca de táctil capacitiva de arduino.for toc