Pd workshop log - Cairo 2010
Contents
- 1 Open Lab Egypt :: Master Class 2010
- 1.1 Organizers
- 1.2 Participants
- 1.3 Phase 1 : Pure Data : basic concepts and real-timeprocessing
- 1.4 Phase 2 : Pure Data : sound processing and synthesis
- 1.5 Phase 3 : Pure Data : extensions and specific processing : 3d, video processing, computer vision, physical modelling, ...
- 1.6 Phase 4 : Electronics & Arduino: basic concepts, circuitry and programming...
- 1.7 Phase 5 : Arduino & electronics : sensors, interfaces, extending arduino and advanced programming, ...
Open Lab Egypt :: Master Class 2010
OLE Master CLass 2010 is the following step of previous collaborations with Cairo based artist association aiming at creating a permanent infra-structure and laboratory for the development of digital arts in Egypt, promoting the use of Open Source tools ( FLOSS tools ) for digital creation.
It is an initiative supported by [Hangar,org] ( AAVC, Asociacion de Artistas Visuales de Catalunya ), Barcelona and the spanish embassy in Cairo.
It will take place in the premises of [Medrar] from the 22th of April to the 6th of May.
The goals of this master-class is to start a local community in Cairo of autonomous people that can start a support for production of digital artworks in the future, using all the open source and accessible technologies that might be necessary.
Two main techniques will be taught in the workshop :
- Pure Data : real-time multi-media environment and programming language.
- Arduino : electronic interface to the real world and control devices.
Some other techniques and technologies will be taught when necessary : soldering, circuit building ( basic level ), sound editing, ...
This master-class will be also known and referred to as the 't b b' ( trigger bang bang ) workshop.
Organizers
Medrar for Contemporary Art is a common cultural corporate and philanthropic platform for young emerging artists based in Egypt.
It aims to contribute to the motivation of different means of communication, developing experiences and financial support for contemporary praxis on the national, regional and international level.
Medrar members involved in the project includes :
* Dia Hamed, workshop organizer
* Mohammed Allam, workshop organizer
* Rami Douzy, technical support
Hangar is a visual arts production centre situated in the Poblenou area of Barcelona.
Two collaborators of Hangar will animate the workshop :
* David Pello : electronics & arduino : [http://ladecadence.net]
* Yves Degoyon : Pure Data & Open Source tools : [Open CV for PD]
Participants
The participants to the workshop have been assisting to the former OLE workshops in Cairo and/or Alexandria.
The participants have been limited to 8 due to the amount of knowledge to transmit in a limited time.
They have been chosen on their motivation shown in previous workshops and their ability to become autonomous advisers on technical subjects in the future, with the objective to make the medialab an independent structure able to function on its own.
The participants includes :
* Ahmed Basiony : musician and new media artist
* Ahmed El-Azma : musician and new media artist
* Mohammed Ezz : visual artist and programmer
* Kanzy Taha : student in applied arts in the german university
* Emma Benany : student in media design in the german university
* Dalia Hassan Abdelhaziz : visual artist
* Nork Zakarian : musician and interactive installation artist
* Ahmed El Shaer : web designer and visual artist
You can find all the material of the workshop here [Patches and ressources]
Phase 1 : Pure Data : basic concepts and real-timeprocessing
Duration : 4 days : 22-25/03
Day 1
General presentation of real-time programs for art : history and difference between Max/MSP and Pure Data Introduction to objects and connections Review of types of units : objects, messages, numbers, symbols and list A special message : bang ! Time and event processing Start of the first example : a stop watch in pd using metro
Day 2
Conditional processing Routing messages and process data First example complete : a stop watch in textual mode
Day 3
Introduction to Gem library Transformation of the previous watch in a graphical mode Scaling data Second example : Stop watch in graphical mode
Day 4
Explaining gem chains and spaces ( rotation, translation ) Introduction of sub-patches Building an interface that everybody ( think about your mother ) can use Third example : control interface for the stop watch
Phase 2 : Pure Data : sound processing and synthesis
Duration : 3 days : 27-29/03
Day 5
Playing sound with tables ( tabxxx ) Recording sound Introduction of abstractions Start of fourth example : an 8 steps sound sequencer
Day 6
Finishing an abstraction ( the $0 trick in pd ) Building an interface using Graph On Parent feature Basics of sound synthesis ( waveforms, additive synthesis, ... ) Example of sound design by obiwannabe Finishing fourth example : an 8 steps sound sequencer
Day 7
Connecting sound processing to animations in Gem Creating a context in Gem Details about geometries and rendering Finishing fifth example : an animation connected with sound : the fish tank
Phase 3 : Pure Data : extensions and specific processing : 3d, video processing, computer vision, physical modelling, ...
Duration : 5 days : 31/03 :: 1,3-5/04
Day 8
Using textures and models in Gem Using gemlists and separators to sequence processing Starting seventh example : using models in Gem
Day 9
Mapping video on surfaces : curves3d, ... Using gemlists to create several models Finishing seventh example : a bowling game in pd
Day 10
Combining Gem and PDP for video effects Simple tracking in pdp : pdp_shape... Video effects in Gem : colour keying, ...
Day 11
Choosing video input in pd OpenCV introduction : tracking with pix_opencv_camshift Detection of contours and connection to a sound processing unit
Day 12
OpenCV : motion detection OpenCV : filtering noise for better tracking Use of infra-red cameras for more precise tracking Introduction to OSC
Phase 4 : Electronics & Arduino: basic concepts, circuitry and programming...
Duration : 5 days : 7-8,10-12/04
Day 13
Introduction to electricity. Static, current, voltage drop, intensity, resistance, Ohm's Law. Components: Resistor. Variable Resistor. Uses. Experiments. Components: Capacitor. Types. Uses. Experiments. Components: Coils. Transformers. Semiconductors. Silicon crystals. N and P Types. PN junction. Components: Diode. LED. Uses. Experiments. Components: Bipolar transistor. Transistor as a switch. Transistor as an amplifier. Experiments. Components: FET Transistor. MOSFET Transistor. Components: Integrated Circuits. Construction. Book : http://www.general-search.com/fileinfo/10996093
Day 14
Introduction to the arduino platform Arduino Board, main parts, connectors. Arduino IDE, installation, configuration... Hello world, LED blink. Arduino sketches, parts, setup() and loop() functions. Variables, types. Digital logic levels, true and false, high and low, 1 and 0. Digital output. LED blink, two LED's. Digital input. Push button. Analog input. ADC, Voltage divider, reading the input. Using the serial monitor.
Day 15
Sending data using the serial-usb port. Data as ascii and as raw bytes. Mapping ranges. Connecting Arduino to puredata, comport. Connecting Arduino to puredata, video mixer example. The amazing binary world. Introduction to binary numeral system. Introduction to binary arithmetics. Hexadecimal numeral system. More components. Motors: DC motors, servos and steppers.
Day 16
Arduino Programming Language Functions. Defining functions, calling them. Operators. Arithmetic, logic. Conditions. Loops. While, do..until, for. Conditionals. If, if...else, switch.
Day 17
Arduino Programming Language Control of RGB LEDS. Use of distance and/or pressure sensors to control LEDS.
Phase 5 : Arduino & electronics : sensors, interfaces, extending arduino and advanced programming, ...
Duration : 5 days : 14-15,17-19/04
Day 18
Arduino Programming Language. Arduino Libraries, importing, creating instances of objects, using objects in libraries. Servo Motors, types. Interfacing. Servo Library. Control of servo motors using sensors.
Day 19
Arduino Programming Language: Advanced digital output. Shifting bits. The 595 shift register. Pinout. Interfacing. LED Binary counter, a 595 example. 7 segments displays. Arrays.
Day 20
7 segments circuit with a 595. Programming of the 7 segments display with arduino. Use of arrays to control the 7 segments display. Sensors. Ultrasonic. LDR's. PDuino & Firmata.
Day 21
Treating sensor data : scaling. Mapping library in pd. XBee introduction : sending data from the computer.
Day 22
Receiving sensor datas from Xbees. Use of an applicative protocol to distinguish sensors. Persistence Of Vision ( POV ) with Arduino and LEDS.