Es mostren els missatges amb l'etiqueta de comentaris teclatCTC. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris teclatCTC. Mostrar tots els missatges

dimecres, 12 de juny del 2019

Teclat: Programari

   Aquest post es bastant curt degut a que  gran part ja ho he explicat en posts anteriors.
   En primer lloc,  el programa d'Arduino, com he mencionat en el post sobre el maquinari del teclat, el vam tindre que modificar varies vegades per a que cada sensor, emetera una senyal MIDI diferent sobre el mateix bus I2C, però al final ens vam adonar que no es tractava del programa però de quina adreça I2C tenia cada sensor, perquè tots enviaven la senyal a la mateixa adreça (42), per això el que vam fer va ser: apagar tots els sensors menys un i a aquest canviar-li la adreça a 42+12 (perquè hi han 13 sensors) i després encendre el següent i posar 42+11, i així consecutivament fins el últim que el deixàvem amb l'adreça 42 original, d'aquesta manera cada sensor enviava la senyal a una adreça I2C diferent i per lo tant la placa Arduino les diferenciava com a diferents notes MIDI.
   Una vegada aconseguit açò el procediment es quasi el mateix que en el programari de la bateria. Com l'ordenador no reconeix la placa Arduino com un dispositiu MIDI, ens ajudem del programa HairLess per solucionar aquest problema, i finalment en el programa de sitetització de so Qsynth seleccionem HairLess com l'entrada de codi MIDI i li assignem un so de la llibreria. Ara sols queda saber tocar i fer melodies ;-).


Teclat: Maquinari

El maquinari del teclat es basa en dos parts: el circuit i l'estructura.
En quant al circuit tenim, primer que tot els detectors de distancia làsers anomenats VL53L0X, que estan basats en el Temps de Vol (ToF). Aquesta mesura de temps és el que tarda un làser llançat per el sensor a tornar a ell i segons el temps, el sensor calcula a quina distància està l'obstacle.

El sensor utilitza la comunicació I²C per a connectar-se i enviar missatges al Arduino que és un bus de comunicacions en sèrie. El seu nom ve d'Inter-Integrated Circuit (Circuits Inter-Integrats). La principal característica d'I²C és que utilitza dos línies per a transmetre la informació: una per a les dades i per un altre el senyal de rellotge. També és necessària una tercera línia, però esta només és la referència (massa/Ground).
El problema va se connectar els 13 sensors a un mateix bus I²C perquè tots enviaven la mateixa senyal i no es podia arreglar per Hardware i per això vam tindre que  dissenyar un programa que diferenciara els senyals.

A l'hora de connectar els sensors ho vam fer a través d'una connexió en serie que acabava en un cable que sortia de cada sensor a una entrada digital, amés de l'entrada als ports ICSP2(bus I2C), Ground(massa) i 5V(alimentació). Ací deixe un esquema d'exemple.
 

Tot aquest circuit anava encaragolat a un canal de plàstic amb forats en la tapadora per on sortia cada sensor. Aquest canal el vam pintar amb forma de piano(delimitant les diferents tecles originals) i el vam posar sobre un suport de tubs de PVC.