How to display text data (LCD) in the 'real world' in a cheap/rugged way?
So I plan on augmenting a USB drum pad with some additional buttons/encoders and want to add an LCD/display of some sort. I basically use a laptop with my laptop off to the side and dimmed and that's perfect, but for this particular extension/device I'm building, I will switch between sample banks and need to know what I'm doing as I have 50+ banks and can't possible memorize all that.
So a bigger picture of what's going on, I plan on extended my main max patch (http://www.rodrigoconstanzo.com/the-party-van/) to handle drum pad sample triggering like my old hardware setup (http://rodrigoconstanzo.com/drums/SETUP.JPG).
I was planning on using an Arduino and hacking it into the same enclosure then hopefully using a mini USB hub internally so I only have 1 USB cable coming out of the device, but I remembered all the problems I've had when using serial devices in max. I don't want to welcome crashes and/or kernel panics, not to mention needing to select/mount the specific serial port every time being a pain in the butt.
SO, is there a way to get text data (like a 2-3 line 10 character LCD display amount of information) out of Max without using a serial connection? Can class compliant MIDI over USB send text? To an Arduino?
There's also a more expensive route of using an old ipod touch but that's expensive, difficult to mount, I'd have to worry about batteries/charing etc...
Any thoughts?
I built a LCD display with an arduino in the past. I sent MIDI sysex to it to set the 2 lines of texts (I even added 2 LEDS) over a MIDI cable (it was easier to send MIDI datas over long distances than USB).
It worked well during years but the display was a bit slow.
But now I use an iPod with touchOSC and a wireless connection & OSC (although MIDI could also be possible but may not work with texts, you then need Lemur): it's cheaper (I spent days to build the display and program the arduino), more readable, faster. And if you use a small USB power supply (i'd use a PSU with an arduino anyway) you don't need to worry about batteries. Why do you write it's difficult to mount?
As I recently wrote to freeka on this forum ( https://cycling74.com/forums/lcd-2-x-16-max-6 ), if you want the sources please pm me. But I'm not sure freeka finally built a working display...
p
The difficulty in mounting is that I'm using an Akai MPD18 (http://www.playderecord.com/images/P/akaimpd18.png) as the thing I want a display for. It will also be mounted on a drumset (similarly to my sample trigger pad in that picture in my first post), so basically the iPod would have to be mounted on/next to the drum pad, and in such a manner that I don't accidentally hit it...
With my setup the laptop is on the floor, out of sight with only cables going to it. And I'm sitting at a drumset, so I don't have a table to just put more stuff on.
Can you send text over MIDI sysex then? Is it possible to do class compliant MIDI with an Arduino (I really don't want to use actual MIDI cables as I'd need an adaptor cable too, not to mention the USB will have to be hooked up anyways for power and other communication). I guess I'm trying to do more than just the text as I plan on using buttons/LEDs/encoders too. Sending that data across as MIDI data too would be easy enough (although its shittier resolution (0-127 vs 0-1024) but there'd be LED feedback to deal with too.
Oh, having a charging cable would also be a problem as the laptop and the controller are pretty far. It would have to be a seriously long 30-pin cable.
The following link should interest you: http://dimitridiakopoulos.com/hiduino
You can send what you want with sysex (as a stream of 7 bits datas) : I send the ASCII codes of the strings I want to display and let the arduino decode them.
p
That looks pretty sweet. I had forgotten the newer Arduinos had flashable interface chips. Very handy for this sort of thing.
So basically that allows you to communicate as if it was a hardware MIDI over USB device. That would also presumably 'hub' well as the drum pad and this would just be separate MIDI devices anyways. I'd have to set them to different MIDI channels which is fine enough.
I'll have to look into the spec of that hiduino to see how you handle the actual interfacing with things attached to it (sensors/leds are easy enough I would think but the LCD screen expects data in a specific way).
Hey Rodrigo, I had exactly the same dilemma: I have a few cheap controllers (BCF2000, BCF1010) which actually provide great functionality but the lack of a display is a problem - I want them to do a million different things but there's no way I'm going to remember that while I'm playing live. Last thing I want when I step on a pedal during a gig is to find out it is assigned to 'reset setup' instead of 'invoke wah-pedal' :-)
So I need a 'status display' near my footpedal, effectively a copy of some of the most important info on my computer screen.
I looked for cheap LCD displays and Arduino etc but I was quite discouraged: I'm busy enough just getting my Live + Max setup to do what I want (and a long wishlist to add) before I want to learn about Arduino (however cool and tempting it is!) and hardware electronics.
And using TouchOSC has been sooooo easy. So I opted for 2nd hand Ipod touch, 1st generation, 16GB. They go for about £40 and there's plenty available. I haven't seen even just an LCD strip for that price! I'm using my Ipad to control everything, so I won't need to learn anything new. It's totally more than I need (just an LCD strip would be enough) but it's actually cheap and easy to implement, so I can get on with making music!
Keen to hear what you end up doing, if there is a cheaper way I'd love to know. Even better I'd love LCD strips that I could glue onto hardware but haven't seen anything like it at anywhere near the price of a 1st Gen Ipod. Not sure if older model Android devices may be even cheaper?
The small LCD display things (just 2 lines of text) are quite cheap and I think are relatively easy to interface with.
I just started using touchosc on my iPad and I really hate how much faffing it takes to get it going before every gig (creating an adhoc network every single time I use it?!).
Rodrigo, when I use Touchosc or Lemur at home with my ipad, I use the home router (it's reliable enough in my case) and only care to setup an ad hoc network in live situations.
Most of my situations ate live ad these are performance tools for me.
you're right - the IP setup is a pain. Apparently it's easier if you use bonjour - I prefer using IP addresses, it just seems a bit more straightforward. My workaround is that my home router always the same IP address to both my Mac and my Ipad, and when I switch my Mac to ad-hoc network it uses the same: so as long as I just go between my home and live situations I don't have to do many changes.
That said I did build an IO patcher which does the comms with my TouchOSC and a couple of connection checks - just to prevent staga paranoia. Eg I have a button on my touchpad and a LED next to it - the LED only lights up if the signal from the touchpad has reached live (through the IO patcher), live responds back to the IO patcher which communicates with the touchpad: it's a full-circle comms check, pretty easy to implement.
Still having to make an ad-hoc network is a pain, I agree. (btw my latency is horrible on my home network, but unnoticeable on a peer to peer network, so I have to do it anyway)
looking forward to hearing how you get on with the LCDs!