Pad MIDI XY avec Arduino et TFT (6 / 7 étapes)

Étape 6: XY MIDI Pad

Si vous exécutez derniers exemples avez remarqué leur exécution est assez lente. Il n’y a rien de mal avec le TFT écran et aussi il n’y a rien de mal avec le code ou bibliothèques. C’est parce que nous essayons d’utiliser un microcontrôleur 8 bits à 16MHz (ou 20MHz). En fait cet affichage peut courir beaucoup plus vite que nous pouvons envoyer des données (avec notre processeur).

En effet, nous pourrions faire des améliorations dans le code et les bibliothèques, mais les changements ne seront pas dramatiques. Idéalement, il faut un processeur plus puissant, de 32 bits (même 16 bits), de contrôleur DMA, > 150 Mhz, plus de RAM (pour le tampon vidéo) etc....

Au lieu de cela, nous pouvons concevoir nos programmes à mettre à jour qu’une petite zone de l’écran quand nous avons besoin de vitesse.

J’ai mis l’ensemble du code pour le projet Arduino XY Pad MIDI ici (attaché à cette étape, MIDIPad.zip). Peuvent être étudiés en détail pour voir comment j’ai appliqué ce que j’ai dit plus haut. Cependant, je vais commenter certaines sections.

Dans la fonction draw_Pad (x, y long), avant de tirer de nouvelles lignes, effacer les vieilles lignes de redessiner avec la couleur d’arrière-plan.

 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 } 

Je n’ai pas utilisé la bibliothèque Arduino MIDI bien connue (comme mon précédent projet). Au lieu de cela, j’utilise une fonction simple d’Envoyer des commandes 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); } 

Pour l’envoi des commandes MIDI au PC via USB, j’ai utilisé un module que j’ai fait précédemment. Pour plus de détails voir mon projet ici :

Important! :

Nous ne pouvons pas utiliser le premier port série épingle parce que ses tiges sont déjà utilisés par écran TFT.

  • Pour Arduino UNO , nous devons utiliser SoftwareSerial.
  • Arduino Mega, nous pouvons utiliser SoftwareSerial ou Serial1 / Serial2 (j’ai testé avec SoftwareSerial et Serial1)

Mon module Arduino USB Midi Interface peut être replaced(theoretical) avec une combinaison de Bouclier MIDI et USB To MIDI converter. Je n’ai pas testé cette façon (je n’ai pas ni).

Articles Liés

Comment utiliser 2,4 pouces TFT LCD SPFD5408 avec arduino MEGA 2560

Comment utiliser 2,4 pouces TFT LCD SPFD5408 avec arduino MEGA 2560

Cette instructable va vous montrer comment interfacer le SPFD5408 2.4 pouces lcd à l'arduino MEGAÉtape 1 :Étape 2: bibliothèquesCertains d'entre vous pourraient avoir acheté cet écran LCD ou la pensée d'obtenirune. Son un grand écran pour l'affichage
Envoyer et recevoir du MIDI avec Arduino

Envoyer et recevoir du MIDI avec Arduino

Etape 3: Envoyer des Messages MIDI avec Arduino - Hardware Liste des pièces :Connecteur MIDI Digikey CP-2350-NDRésistance de 220 ohms 1/4 watt Digikey CF14JT220RCT-NDAutres pièces(1 x) Arduino Uno Amazoncâble d'usb (1 x) Amazonmaquette (1 x) (celui-c
Comment utiliser 2.4" TFT LCD bouclier avec Arduino Mega

Comment utiliser 2.4" TFT LCD bouclier avec Arduino Mega

Aujourd'hui, je vais vous montrer que nous voulons utiliser 2.4" bouclier de TFT LCD (il n'y a mcufriend.com écrit sur ce bouclier) travaille avec Arduino Mega, parce qu'il n'est pas si facile à exécuter les uns des autres. Mais avec ces instructions
Il dessiner vous-même - MIDI controller avec encre conductrice

Il dessiner vous-même - MIDI controller avec encre conductrice

'Draw It Yourself' est un contrôleur MIDI qui utilise une encre conductrice comme boutons. Il est basé sur l'Arduino et utilise un capteur capacitif (deux, en fait) pour déterminer si les boutons dessinés sont être touchés ou non.http://sanidanz.tumb
IoT murale avec Arduino et ESP8266

IoT murale avec Arduino et ESP8266

Dans ce instructable, je vous montrer comment ajouter accessibilité améliorée, intelligence et une connectivité à une prise murale ordinaire. Cela se fait avec une combinaison de microcontrôleurs, Arduino, divers capteurs, ESP8266 et un mélange de pr
Faire un Oscilloscope à l’aide de la SainSmart Mega2560 avec l’écran TFT LCD et 3.5 "écran tactile couleur

Faire un Oscilloscope à l’aide de la SainSmart Mega2560 avec l’écran TFT LCD et 3.5 "écran tactile couleur

Cette instructable vous montrera comment construire un portable à écran tactileOscilloscope pour moins de 40 U$ !L'oscilloscope est l'un des plus puissants électronique instruments quiest offert aux ingénieurs et expérimentateurs amateurs d'électroni
Contrôle MIDI s’allume Arduino

Contrôle MIDI s’allume Arduino

Salut, ce post est créé par Jesus Alberto Cejas et Pablo Javier Ruiz pour vous présenter notre projet sur un clavier musical, belles lumières et Arduino.Ce projet prévoyait que « Creative Electronics », une électronique de Beng génie 4ème module de l
KeyChainino - le premier jeu trousseau Programmable avec Arduino

KeyChainino - le premier jeu trousseau Programmable avec Arduino

KeyChainino est un porte-clef jeu vintage programmable avec Arduino , où n'importe qui peut télécharger son propre jeu juste avec l'IDE Arduino.Si vous aimez vraiment le jeu d'Arcade, KeyChainino est fait pour vous !Il ne dispose pas des écrans LCD,
Mug musique : Transformer l’eau en un Instrument avec Arduino et ChucK

Mug musique : Transformer l’eau en un Instrument avec Arduino et ChucK

Que se passe-t-il si on pouvait tourner n'importe quelle surface conductrice dans un instrument ? Comme, disons... une tasse d'eau ? Le meilleur de tous, c'est pas cher ; vous devez seulement $1 d'une valeur de composants électriques en surplus (non
Connectez NDSL avec ARDUINO

Connectez NDSL avec ARDUINO

Nintendo DS a bus GBA, alors j'ai fait il est transmissible avec ARDUINO.Ce que vous pouvez faire avec lui :transmettre des données entre arduino et ndsl.ainsi, vous pouvez utiliser votre ndsl pour lan sans fil d'arduino ou arduino pour port d'e/s nu
Commutation Ethernet - avec Arduino

Commutation Ethernet - avec Arduino

Aim :Passer le relais de l'ethernet ou internet, en utilisant votre téléphone portable, tablette ou ordinateur avec une interface graphique agréable.Mise à jour V4.06Veuillez lire les étapes ci-dessous pour l'étape 2 Si vous lisez cet article pour la
Arduino - écran TFT d’images bitmap depuis une carte SD

Arduino - écran TFT d’images bitmap depuis une carte SD

Suite à mes autres Instructables sur l'Arduino et TFT affichage ici est une bibliothèque mise à jour et croquis pour dessiner des images bitmap (BMP ou Raw) stockés sur une carte SD sur l'afficheur TFT.La plupart des écrans TFT disponibles ont une fe
8 x 8 x 8 LED Cube avec Arduino Mega (+ Sound + PS contrôleur + jeu)

8 x 8 x 8 LED Cube avec Arduino Mega (+ Sound + PS contrôleur + jeu)

il s'agit d'une instructable qui repose sur le CubeChr, (par SuperTech-IT, (et par das-labor.org, (http://www.das-labor.org/wiki/Borg3d_Bauanleitung...)mais je pense que sa meilleure et plus facile.J'ai commencé ce projet sans aucune qualification de
Convertisseur midi microtonal polyphonique Arduino

Convertisseur midi microtonal polyphonique Arduino

Version grandement améliorée ici !***********************************J'ai voulu jouer les échelles microtonales avec mes claviers MIDI, alors j'ai fait cet appareil arduino basé qui lit dans les notes MIDI et envoie des emplacements microtonales corr