Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Wednesday, December 14, 2011

Review of Processing Books

It has been quite quiet here lately. Not because I have abandoned this blog, but because I have spent numerous hours and nights learning to program with  Processing (www.processing.org).

Reason for this has been a project named as UNUI.

 UNUI is an improvisation project by voice/sound artist Aava Uusikuu, visual artist Outi Aho and sound editor Jouni Korhonen. "Unui" is a word of an imaginary ancient language. It is some kind of glossolalia, enjoyable movement of a mouth without closed meaning. Live shows contain visual structures, organic soundscapes and affective human cries, murmurs, mumbling, babbling, singing and speaking weird languages. Each performance is different, because the song, sound and visual elements are generated during the presentation. (https://www.facebook.com/#!/pages/Unui/188416394512662?sk=info)
My role has been to provide the interactive visual improvisation for the presentation.  I have used my drawings, paintings and photographs as the source of visual material. During the show, this material is animated, combined and manipulated both by the computer (based on the improvised sound)  and by myself .

I wanted to program the software by myself.  I selected Processing, because I already knew some basics of it due to fact that it is used in conjunction with arduino. I did study other possibilites also (such as PureData and VVV) but I decided to use processing because I already have some basic knowledge of C and C++ .Otherwise I didn´t knew anything about graphical capabilities of the Processing or Java.  

As an incurable book-a-holic. I decided to buy several Processing books to support my learning path. Actually I bought four of them. I do not regret buying any of those because all of the have special unique merits. Below some of my feelings related to those books.

Getting Started with Processing, Casey Reas & Ben Fry, 2010
This small booklet (194 pages) is a good and a very quick starting point to learn and understand Processing. I went through the whole book and all examples just using two days. After that I had a confidence that I can start my part of the UNUI project with Processing. The book is concise and explains the basics very thoroughly and clearly. I could have even managed to do my program only by using this book and the Processing web side if I would have more time. However, I wanted to have some kind of paper manual also for quick reference. So I bought also:

Processing, A programming Handbook for Visual Designers and Artist, , Casey Reas & Ben Fry, 2007
This book is what is says to be - a Handbookwith a capital letter. It has 710 pages full of information and examples. This book works well if I need to check some basic things. I also like that the book contains information about actual Art projects and interviews of the Artists. I also like that this book has hard covers which make it easy to use it as a "bed-time reading book".  The minuses are that the book has rarely any color pictures.

Processing for Visual Artists, Andrew Glassner, 2010
I admit, that I bought this book mainly due to its cover picture that somehow appealed to me. I also liked that the book has plenty of color pictures and a lot of visually interesting projects. What I have liked about this book is that it explains also a lot of principles of computer generated graphics and image processing. Examples are well thought over and the book proceeds  in a iterative way from easy to more complicated examples. What I don't personally like is that the text has been written in a very chitchatting way.  I have not yet went though all examples, but I have been planning to do it soon. The minuses are that the book has soft covers and glued quite poorly.  I am afraid the pages will fall off very soon.

Learning Processing, A Beginner´s Guide to Programming Images, Animation, and Interaction, Daniel Shiffman, 2008
I bought this book because I first found the coding examples of the book  from the web. They seemed to be very interesting and useful  for me. Also I liked that the book also covered some examples about Video and Sound processing. The book is intended to be used as text book for introductory level programming course. Therefore the structure of the book is organized as lessons with related exercises and small projects. The book is maybe too basic for me, but as I already mentioned, examples are great. I also liked that the author did talk something about Java, too.

Monday, August 1, 2011

How to program Arduino Mini without Mini USB adapter

I am using Arduino Mini ( http://www.arduino.cc/en/Main/ArduinoBoardMini) in my ongoing project.
Therefore I bought the device together with Mini USB Adapter.

Only after I had received both gadgets by mail, I started to study how I can program Arduino Mini  (http://arduino.cc/en/Guide/ArduinoMini).

I have thought that I could easily connect the Mini USB adapter directly to Arduino Mini. I soon realized that connecting these devices together was not so easy after all.

If I would liked to use the Arduino Mini adapter, I should use protoboard and wire correct signal to correct ports with jump wires. OK, that is not so difficult, but I am a lazy lady and do not want to do simple things over and over again.

I noticed that I could actually connect Arduino Mini to regular Arduino by just removing the ATmega chip from some old arduino board (as Arduino Mini Guide instructs).

I already had made this kind of "stripped" Arduino in oder to program my Arduino XBee shields. In this kind of set-up I would still need to use the protoboard and make the wiring. Ripping the Arduino Mini out from the protoboard every time I would like to test it in real application was not a very fascinating idea.

Then I got a great idea. Why not make my own Arduino Mini programmer!!!

I already had one unused protoshield. I just soldered  12 -pin sockets on top of it. After that  I connected all necessary signals to correct places in the protoshield so that I could stack the modified protoboard on top of the "stripped" Arduino board.



Thats it. Good ideas are very simple. No need to fuss with protoboards and wires at all.



I have three Arduino boards stacked to top of each other: "stripped Arduino" + my Arduino Mini programmer + Arduino Mini.

Now I just need to remember which way I have to connect the Arduino Mini to my programmer. Nice feature is also that I have the reset button easily available on top of the "Arduino Mini programmer".

I also connected all inputs and outputs of the protoshield to Arduino Mini sockets expanding the  "Arduino Mini programmer" to be "Arduino Mini programmer + SW testing board" :-)