Graphical object-oriented programming for Arduino software

Hi there! I'm an visual artist and musician, and a Midi controllers designer as well. I've been using object-oriented programming softwares such as Pure Data, Max/MSP, Isadora and Quartz Composer. I find object oriented programming very intuitive and powerfull, and I think Arduino programming community could grow a lot with this option, because there are many people that are not that interested into code programming or just don't have the time for it.

I think It would be interesting to discuss this topic and to know programmers and non-programmers opinions.

Mytx: Hi there! I'm an visual artist and musician, and a Midi controllers designer as well. I've been using object-oriented programming softwares such as Pure Data, Max/MSP, Isadora and Quartz Composer. I find object oriented programming very intuitive and powerfull, and I think Arduino programming community could grow a lot with this option, because there are many people that are not that interested into code programming or just don't have the time for it.

I think It would be interesting to discuss this topic and to know programmers and non-programmers opinions.

Well it's my understanding that the C++ language used to program an arduino is already an object oriented programming language? Or perhaps "object oriented programming" means something else to you?

Lefty

These are high level graphical programming systems.

These are not likely to be useful for the Arduino with its limited resources.

Perhaps such a system could be used for simple apps on the Arduino.

check - http://www.modk.it/ -

graphical programming for Arduino, no idea how well it performs but as it is Italian design it looks good ;)

But graphical programming can be OO but not necessary needs to be OO... It can be sequential too, or ....

Modkit is cute but very limited.

I tried if for a few minutes and then it wanted me to sign up for six months at $30, year at $50, or $199 for lifetime.

Well, I wasn't thinking on replacing the actual programming structure and language, what I ment is that a graphical object oriented programming could be a cool feature for people that needs to do simple stuff and don't want to get that far intro code programming. Of course I can realise about limits of this structure, but this could be really helpfull fore some people that needs to do simple projects, within those limits.

retrolefty:

Mytx: Hi there! I'm an visual artist and musician, and a Midi controllers designer as well. I've been using object-oriented programming softwares such as Pure Data, Max/MSP, Isadora and Quartz Composer. I find object oriented programming very intuitive and powerfull, and I think Arduino programming community could grow a lot with this option, because there are many people that are not that interested into code programming or just don't have the time for it.

I think It would be interesting to discuss this topic and to know programmers and non-programmers opinions.

Well it's my understanding that the C++ language used to program an arduino is already an object oriented programming language? Or perhaps "object oriented programming" means something else to you?

Lefty

Lefty, sorry, my mistake, I ment graphical object oriented programming.

Modkit is cute but very limited.

I tried if for a few minutes and then it wanted me to sign up for six months at $30, year at $50, or $199 for lifetime.

Didn't know that, And what do you get for that money? support? new versions? Think (s)he better asks for free donations....

Try LabVIEW

https://decibel.ni.com/content/groups/labview-interface-for-arduino

Cheers,
Joe

jhgorse: Try LabVIEW

https://decibel.ni.com/content/groups/labview-interface-for-arduino

Cheers, Joe

Heh - to get it for Linux, you have to buy the "Full" version; with a 1 year support agreement - $2600.00 USD

Such a bargain.

At least there are some options coming out. Maybe this means that an free-software option could be close to appear. I think I will learn C++ programming and join this cause.

I think I will learn C++ programming and join this cause.

And that of course is the best solution. ;)

It may take a little longer but the rewards will be much larger.

Lefty

Mytx: Well, I wasn't thinking on replacing the actual programming structure and language, what I ment is that a graphical object oriented programming could be a cool feature for people that needs to do simple stuff and don't want to get that far intro code programming.

It's not really replacing... it's adding another layer on top of it. And as with all other layers that Arduino has, comes an overhead and implementation details that get hidden from the user (which is what you want), but it will remove functionality because the graphical blocks will do what the designer wanted, and if it's not exactly what you want, you're stuck again.

Plus, for simple stuff you can go through the examples and copy/paste together a solution for your problem. It's not hard, it just looks hard. Try using a flow-chart to design what you need, and then transpose that to paper using the basic operators like if(), while(), for(;;), etc... in no time you'll see how you don't need the graphical user interface.

If that is a necessity, you can always go with Functional Block Description (I see this in Siemens PLCs), but I don't think you'll like the cost...

http://en.wikipedia.org/wiki/Function_block_diagram

I know I could learn it easily, but I was not thinking in my personal situation only, I think it could be usefull for a lot of users. If we are talking about free and open software, you could always modify or ask someone to modify an object or an actor that you want change because it doesn't fit your needs. I also think that a graphical user interface makes programming faster.

Hey, but what about code and graphical user interface both in the same arduino software? I still find as a big big feature

cr0sh:

jhgorse: Try LabVIEW

https://decibel.ni.com/content/groups/labview-interface-for-arduino

Cheers, Joe

Heh - to get it for Linux, you have to buy the "Full" version; with a 1 year support agreement - $2600.00 USD

Such a bargain.

I was going to say, "Want some cheese with that Wine?" but it seems LabVIEW does not work well with Wine, try Virtual Box or VMWare. For $50 I think it is worth it, especially if one would like to code in a rich graphical language instead of text as the OP asked.

Cheers, Joe

Mytx: I know I could learn it easily, but I was not thinking in my personal situation only, I think it could be usefull for a lot of users. If we are talking about free and open software, you could always modify or ask someone to modify an object or an actor that you want change because it doesn't fit your needs. I also think that a graphical user interface makes programming faster.

Hey, but what about code and graphical user interface both in the same arduino software? I still find as a big big feature

Mytx,

You are correct, the barrier to learning graphical programming vs. textual is significant. If powerful graphical programming interfaces can be made or brought to Arduino, it will accelerate adoption of the platform.

Cheers, Joe

Few months later…

I found two interesting open source graphical programming projects called Minibloq and Darwin. Just wanted to let you know

http://minibloq.net/
http://c-minds.com/m/news/view/Starring-Darwin-Project

Hi!

Last week was released the Minibloq.v0.81.Beta, which is the first version that supports full internationalization. Soon I will be explaining exactly how to add complete translations to any language. Here is the post about the release:

http://blog.minibloq.org/2012/05/minibloqv081beta-full.html

This is the changelog to see the differencies with the previous version:

http://blog.minibloq.org/p/versions-changelog-and-known-issues.html

Thanks! Julián