{"id":554,"date":"2022-12-05T16:38:25","date_gmt":"2022-12-05T16:38:25","guid":{"rendered":"https:\/\/jmtinformatic.com\/?page_id=554"},"modified":"2024-08-19T19:51:05","modified_gmt":"2024-08-19T17:51:05","slug":"control-volumen-ableton","status":"publish","type":"page","link":"https:\/\/jmtinformatic.cat\/wp\/electronica\/midi\/control-volumen-ableton\/","title":{"rendered":"Control volumen Ableton"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/jmtinformatic.cat\/wp\/wp-content\/uploads\/2024\/08\/ASPACE.png\" alt=\"\" class=\"wp-image-562\"\/><\/figure>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;clike&quot;,&quot;mime&quot;:&quot;text\/x-c++src&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;C++&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;cpp&quot;}\">#include &lt;MIDI.h&gt;\n#include &quot;Adafruit_VL53L0X.h&quot;\n\nAdafruit_VL53L0X lox = Adafruit_VL53L0X();\nMIDI_CREATE_DEFAULT_INSTANCE();\n\n\/\/ el valor MIDI m\u00e0xim \u00e9s 127, primer potenci\u00f2metre\/anterior\n\/\/ El moviment ha de ser sempre diferent del valor anterior\nint AnalogValue = 0; \/\/ define variables for the controller data\nint lastAnalogValue = 128;\n\nint volum = 64; \/\/ Es el volum que estableixo d'entrada\nint laser = 2;  \/\/ Pin del punter laser\n\nint contador = 300;   \/\/ Control apagat laser\nint contador1 = 0;\nvoid setup()\n{\n   Serial.begin(31250);\n \/\/  Serial.begin(9600);\n   MIDI.begin(MIDI_CHANNEL_OMNI); \/\/ Si volem fer proves amb el monitor s\u00e8rie hem de comentar aquesta l\u00ednia\n   pinMode(laser, OUTPUT);\n   digitalWrite(laser, LOW);\n\n  \/\/ Iniciar sensor\n  Serial.println(&quot;VL53L0X test&quot;);\n  if (!lox.begin()) {         \/\/ En cas que la placa no detecti el sensor de proximitat entre en un bucle\n    Serial.println(F(&quot;Error al iniciar VL53L0X&quot;));\n    while(1);\n  }\n  Serial.println(&quot;En marxa&quot;);\n}\n\nvoid loop()\n{\n     contolVolum();\n\n     MIDI.sendControlChange(7, volum, 1);\n}\n\nvoid contolVolum(){\n  VL53L0X_RangingMeasurementData_t measure;\n\n  \/\/Serial.print(&quot;Leyendo sensor... &quot;);\n  lox.rangingTest(&amp;measure, false); \/\/ si se pasa true como parametro, muestra por puerto serie datos de debug\n\n  if (measure.RangeStatus != 4)\n  {\n    if(measure.RangeMilliMeter &lt;= 1270){\n         digitalWrite(laser, HIGH);\n         contador1 = 1;\n\/\/      Serial.print(&quot;Distancia (mm): &quot;);\n\/\/      Serial.print(measure.RangeMilliMeter);\n      volum = map(measure.RangeMilliMeter, 1, 1270, 1, 254);  \/\/ 127\n\/\/      Serial.print(&quot;\\t&quot;); Serial.println(volum);\n      delay(50);\n    }\n    } else {  \/\/ Control per apagar el laser desprews de uns 10 serons sense acticitat\n    if (contador1 == contador){\n        contador1 = 0;\n        digitalWrite(laser, LOW);\n      } else {\n        contador1 = contador1 + 1;\n      }\n\n  }\n}\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":478,"menu_order":102,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-554","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/pages\/554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/comments?post=554"}],"version-history":[{"count":3,"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/pages\/554\/revisions"}],"predecessor-version":[{"id":1833,"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/pages\/554\/revisions\/1833"}],"up":[{"embeddable":true,"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/pages\/478"}],"wp:attachment":[{"href":"https:\/\/jmtinformatic.cat\/wp\/wp-json\/wp\/v2\/media?parent=554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}