Jump to content

Sensor box AIN/DIN - USB out (what do I need??)


Skyrise

Recommended Posts

Hi guys,

Great to see such a big and valuable MIDI community here. Seems like the Internet really payed off :P.

My first time here, and I'm a little bit confused of all the technical abbreviations and possibilities.

I want to build a sensorbox with both analog (AIN module?) and digital (DIN module?) inputs. The output should be USB preferably (my laptop doesn't have a serial port anymore) or maybe MIDI out. Also I would like a dynamic scaling of analog signals which only use a small range of voltage, but a complete MIDI-trail 0-127.

Could somebody please help me a little bit in the right direction concerning other topics (I used the search button, but I just don't know which things to search for), components and maybe some other advices?

Much appreciated.

Greets,

Teun

Student/Audiovisual Artist, NL

Link to comment
Share on other sites

Hi Teun,

Also I would like a dynamic scaling of analog signals which only use a small range of voltage, but a complete MIDI-trail 0-127.

you won't achieve that with the default AIN/Core-board; at least not without a hardware- (opamps) or software-implementation.

But there is the Sensorizer, which seems to be exactly what you're looking for ;D

I'm about to release the next version (sensorizer basic)... the HUI of the first version is a bit unpractical, but the newer small version is quite relyable and has been tested a lot over the past few months :)

There are just basic hardware-modules: 1 core, 1 DINx4, 1 BankStick, 4 Encoders, 4 buttons, Pedal recommended...

but there's no USB output, just Midi...

and there's no AIN, because the maximum of 8 sensors can be connected directly to the Core.

Here's a quote from the feature description:

- supports up to 8 sensors' date=' code can be adapted to use more (eg with PIC18F4620)

- enable/disable single AINs

- slowdown: slows down the signal and increases the gaps between generated values

- assignable CH and Controller-Number

- sense-min: 10bit value, ignores every signal below

- sense-max: 10bit value, ignores every signal above

- sense-factor: used for signal interpolation... uses fast bitshifting or complex division depending on value

- AUTO-sense feature: auto-calibration of sensor, detect MIN/MAX by sensing automatically adapts sense-factor!

- scale from and scale to: scales the output value from/to

- invert signal

- pedal modes:

- filter ? only forward if pedal down;

- panic ? send panic on release pedal;

- combinations of all pedal mode options are possible

- detect release: send 0-value if signal drops below sense-min

- bankstick support: 1 connected bankstick provides 2 banks with 127 patches each, up to 8 bs supported! (= max of 16 banks * 127 patches)

- midi configurable: full configuration possible with NRPN-messages

- NRPN-MSB CC99 for sensorSelect / sysEx mode

- NRPN-LSB CC98 for controlType

- DataEntry MSB CC6 and LSB CC38 for controlValue

- LCD-Output (2×16)

(...)

[/quote']

Cheers,

Michael

ps: may I ask (just out of plain curiosity) with what sensors you are working?

Edit: uups, forgot the link: http://www.midibox.org/dokuwiki/doku.php?id=acsensorizer

Link to comment
Share on other sites

Wow  ;D sounds great!

Just 1 stewpid question; not having an AIN-module doesn't mean I can't have analog inputs right? I mean, why would you have a Sensorizer box then anyway :P...

Let's say I have 3 digital inputs (on/off) and 4 analog "sliders" (0V-5V) it would fit on your Sensorizer Box?

Also, would you think it's possible for me to make? You are dealing with a;

Level 1 MIDI-junkie

specialization: Audio-Visualizing

soldering-ability: okay

input-output understanding: reasonable

software-analysis: poor

coding: bad

The sensors I am going to use for my Audiovisual Liveset will be an infrared slider (AI), a plastic cowboy-gun (DI), some cushion-buttons for a breakdancer (DI) and maybe more.

Thanks anyway for all great responses.

Link to comment
Share on other sites

Hi Skyrise,

not having an AIN-module doesn't mean I can't have analog inputs right?

right. Because there's heavy scaling and interpolation done and quite a bunch of variables are used per sensor/AIN Line, I restricted it to the 8 AIN lines available directly on the Core module (unmuxed mode).

I think 32 AINs (in muxed mode by connecting an AIN module to the 8 "unmuxed" pins) would be too much for the current PIC...

Let's say I have 3 digital inputs (on/off) and 4 analog "sliders" (0V-5V) it would fit on your Sensorizer Box?

Well, the thing is:

- the midibox mb64 is a specialized controller for buttons and AINs ranging from 0-5 V

- the sensorizer is a specialized controller for AINs ranging from (whatever)-(whatever) V.

No DINs here, because the DIN is already used to control the Hardware User Interface.

I've built the sensorizer to be able to simply plug any sensor into my box and use it immediately. As my setup changes quite often (distance-, touch-, skinresistance-, capacity-sensors...), I just need the appropriate cable+connector and I'm ready to go. I also have another controller (microKONTROL) with sliders and encoders to fine-tune some settings...

The specialized target functionality and the field of expertise is quite clear (talking of Sensorizer vs. MB64). I think that's good - and I don't want to get in "feature-conflict" with the default Midibox(es).

It wouldn't be that hard to adapt the sensorizer if you were a programmer, but as you are not that good in that field, I'd recommend, you simply build both of them. As mentioned, the Sensorizer Basic consists of just a few hardware pieces, it should be easily integrateable. And remember, you can always reuse a core module for anything else if you're not confident.

I can help you with enabling the MIDI-Merger in the sensorizer software, that means you could connect both boxes in row...

The sensors I am going to use for my Audiovisual Liveset will be an infrared slider (AI), a plastic cowboy-gun (DI), some cushion-buttons for a breakdancer (DI) and maybe more.

Because there's just one sensor with analogue output listed – another idea:

there's also the possibility to use a MB64/e and work on a circuit that improves the voltage of the sensor. For example, you could use a rail-to-rail opAmp to amplify signals to gain a maximum of 5Vs. If you can make the sensor send out 0-5Vs in the end and if we're talking of a maximum of one or two sensors, I'd think this would probably be the easiest method.

hope this helps!  ;)

Best regards,

Michael

ps: maybe some additional infos for future sensorizer developments:

The Core functionality will definitely remain (just sensors send MIDI), because I'd like to use remaining PIC resources to increase and strengthen the basic functionality. Ideas are: sending quantized Note Ons (and not only CCs), maybe in conjunction with harmonization...

Link to comment
Share on other sites

If you can point us to the specs of the infrared slider, we can help out more... I'm also curious about it... you might not need an opamp at all...

You can use a rail-to-rail opamp, but these can be expensive and hard to find.

It's a lot easier to use a common opamp like LM324 and just supply it with more than 5v.

Most opamps cannot output all the way up to the supply voltage, so for example if you supply an LM324 with 5v (like the Core module) then it will only output up to 5v-1.5v=3.5v. But you can supply it with 9v and it will then output up to 5v and so you'll get the full range of the PIC's analog input (0v to 5v).

Opamps can be used to amplify the sensor voltage, but are also handy for buffering the voltage. Sometimes a sensor signal might be in a 0v-5v range but have a very low current, and not enough for the PIC to sense the voltage. An opamp can be used (with or without amplification) so it outputs the same voltage, but it is a high enough current for the PIC to sense the voltage.

Link to comment
Share on other sites

Most opamps cannot output all the way up to the supply voltage, so for example if you supply an LM324 with 5v (like the Core module) then it will only output up to 5v-1.5v=3.5v. But you can supply it with 9v and it will then output up to 5v and so you'll get the full range of the PIC's analog input (0v to 5v).

wow! that's a really useful tip! :D

thanks, wilba!

Link to comment
Share on other sites

hi

i am working around an hardware implementation for not 0-5 volts sensors.I have pcb prints ready and all the components but no time to etch and test.The trick is to use a 7660 to get 9 volts from (almost) 5 i get from the usb and -9 volts from the same 7660, 1 opamp stage to lower the impendance and a final opamp stage to scale and offset the voltage.I can send the eagle schematics to anybody interested but i can t guarantee its functionality because it is still untested.

simone

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...