CCEMXJul07.Contents History
Hide minor edits - Show changes to markup
August 09, 2007, at 05:33 PM
by -
Changed lines 124-125 from:
to:
- this was a talk held at CCEMX on behalf of the workshop's organizers. The aim was to bring the concepts behind the workshop to a broader audience. We used the first slideshow, plus a whole selection of examples of people doing things with Arduino
August 09, 2007, at 05:32 PM
by -
Added lines 79-90:
- complex sensors: measuring the environment requires the use of intelligent sensors that include their own microprocessors to handle data. Examples of this are accelerometers, ultrasound, infrarred, etc.
- it is good to consider what we are measuring from an abstract point of view and then see which tools will make it possible afterwards. E.g. if we want to measure presence, we should consider different types of sensors to do that: LDRs for close distances (<10cms), IR for intermediate distances (10-80cms), US for long distances (30cm-10m)
- using the ultrasound sensor PING from Parallax: the trick is to use one pin both as input and output during the loop. The way to do this goes through changing a pin's configuration interactively in the process using pinmode(pin,INPUT/OUTPUT). The sensor acts very much like a sonar, sending one US signal when requested, and listening to the echo coming back. The result is expressed by the sensor as a pulse which width denotes the distance to the object in front of it. The US sensor is very accurate, but has to be placed at the object's nose
- Example with the PING sensor
- components: transistor, US sensor, DC motor
- types of motors: DC, stepper, servo
- DC motors: run freely, hard to control their position/speed, can use as less as 2,5Volts, speed can be controlled using PWM, we use relays, transistors or H-bridges to control them from Arduino
- Stepper motors: unipolar or bipolar, rotate a certain amount of degrees at each pulse. Typical values of angles are 1,8 - 3,6 - 7,2 ... we use transistors or transistor chips to control them. They have 4 or more wires!
- Servo motors: they will rotate to a certain angle depending on a PWM value we push into them. Servo motors are used in car models to control the direction, model-planes for hte flaps, etc.
- moving DC motors using a transistor: use a power transistor (IRFZ24N) and a 10K resistor to control a DC motor's speed
- as a final exercise, people had to control a DC motor from PD
Added lines 94-95:
- people worked with their own ideas, however it is relevant to take a look at:
- controlling an LCD screen
Changed lines 97-98 from:
to:
- the workshop ends with a whole collection of small try-outs: sensors talking to software packages, Pd controlling motors, etc.
August 09, 2007, at 05:15 PM
by -
Added lines 26-27:
| | | talk | ||||
| 19.00 |
Deleted lines 28-29:
| 19.00 | |||||
| | |
Added lines 106-109:
August 09, 2007, at 05:13 PM
by -
Changed line 17 from:
| 14.00 | PD intro |
to:
| 14.00 | PD intro | lunch | lunch |
Changed line 19 from:
| 15.00 | lunch | lunch | lunch |
to:
August 01, 2007, at 07:34 PM
by -
Changed line 15 from:
| 13.00 |
to:
| 13.00 | Processing intro |
Changed line 17 from:
| 14.00 | PD intro | Processing intro |
to:
| 14.00 | PD intro |
Changed line 19 from:
| 15.00 | lunch |
to:
| 15.00 | lunch | lunch | lunch |
Changed line 60 from:
- Serial library: Serial.begin(speed), Serial.print(data), Serial.println(data), Serial.available(), Serial.read()
to:
- Serial library: Serial.begin(speed), Serial.print(data), Serial.println(data), Serial.print(data,BYTE), Serial.available(), Serial.read()
Added lines 67-75:
- analog input: analog digital conversion (ADC), more info
- Software commands: val = analogRead(pin), analogWrite(pin, value), delayMicroseconds(time), for(init;until;increment)
- MCU's way of reading analog signals: reading voltage
- Components: potentiometer, piezo, LDR
- Circuits: basic resistive sensor connection, piezo as a speaker
- analog output: Pulse Width Modulation (PWM), fading control with Potentiometer
- Sound production: period = 1/frequency, generating tones
- Software commands: creating functions, using parameters
Added lines 85-92:
- created by M. Puckette, distribution maintained by H.C. Steiner
- native (C) software package, multiplatform
- allows the creation of code through visual commands
- used for handling flows of data, mainly in sound production, but also video, 3D, etc
- there is an object called comport that allows reading data from a serial device, it has two parameters: port number, and communication speed
- thanks to that object we can both send and receive data into/from Arduino
- there is an Arduino program called Firmata by H.C. Steiner that allows to read/write all the pins from/to Arduino from yet another PD object called arduino
Added lines 96-103:
- created by C. Reas and B. Fry with support among others from the MIT Medialab
- Java software package, multiplatform
- simplifies the creation of code-made animations
- used for interactive installations, motion capture, web production, video postproduction, etc
- there is a library called Serial that includes a whole series of commands to read/write data from/to the serial port
- print(Serial.list()) will print a list of all the available ports in the system, together with a number that will identify them
- the port is created as a software object: myPort = new Serial(this, Serial.list()[number], 9600)
July 31, 2007, at 03:35 PM
by -
Changed lines 57-60 from:
- digital inputs: using a wire, using a button
- val = digitalRead(pin)
- Serial library: Serial.begin(speed), Serial.print(data), Serial.println(data)
to:
- digital inputs: using a wire, using a button, using a pull-up resistor
- Software commands: digitalRead(pin), if (statement) {} else {}
- difference between assigning (=) and comparing (==)
- Serial library: Serial.begin(speed), Serial.print(data), Serial.println(data), Serial.available(), Serial.read()
- using puredata: objects, messages, numbers, events, sliders, netsend, netreceive
- Serial monitors: Zterm for Mac, BrayTerminal for Windows, GTKTerm for Linux
July 31, 2007, at 12:20 PM
by -
Added lines 57-60:
- digital inputs: using a wire, using a button
- val = digitalRead(pin)
- Serial library: Serial.begin(speed), Serial.print(data), Serial.println(data)
July 31, 2007, at 10:22 AM
by -
Changed line 9 from:
| 10.00 | arrival | session 2 | work session | work session | work session |
to:
Changed line 17 from:
| 14.00 |
to:
| 14.00 | PD intro | Processing intro |
Changed lines 57-71 from:
to:
July 31, 2007, at 10:16 AM
by -
Changed line 9 from:
| 10.00 | arrival | work session | work session | work session | work session |
to:
| 10.00 | arrival | session 2 | work session | work session | work session |
Added lines 54-57:
July 30, 2007, at 08:13 PM
by -
Changed lines 36-37 from:
link: slideshow used for the presentation
to:
link: slideshow used for the presentation
July 30, 2007, at 08:12 PM
by -
Added lines 35-38:
http://farm2.static.flickr.com/1093/957315360_2225c8ee19.jpg link: slideshow used for the presentation [click on the pictures to see the information]
July 30, 2007, at 03:23 PM
by -
Changed lines 47-48 from:
to:
- Recommended materials: Evan's programming booklet, Banzi's arduino booklet, installing arduino on Mac
July 30, 2007, at 03:15 PM
by -
Changed lines 39-40 from:
- Basic Output examples: LED Blink
- Knight Rider exercise
to:
- Basic Output examples: LED Blink
- Knight Rider exercise
July 30, 2007, at 03:14 PM
by -
Changed lines 46-51 from:
- Digital values: HIGH - ON - 5V - 1 - TRUE // LOW - OFF - 0V - 0 - FALSE
to:
- Digital values: HIGH - ON - 5V - 1 - TRUE // LOW - OFF - 0V - 0 - FALSE
Funky examples
During the workshop we found some funky examples of things made with Arduino:
- automatic picture shooting: someone made a camera to shoot pictures of a dead pig's decomposition and animated it
July 30, 2007, at 02:36 PM
by -
Changed lines 36-46 from:
Session 1
to:
Session 1
- Introduction to Arduino
- Install party: get the software running
- Basic Output examples: LED Blink
- Knight Rider exercise
- Using the breadboard
- Components: LED (polarity), resistor (ohms, no polarity)
- Software commands: pinMode(pin, INPUT/OUTPUT), digitalWrite(pin, HIGH/LOW), delay(time)
- Software structures: variable declaration, void setup(), void loop()
- Color coding: Red (voltage), Black (ground), others (signals)
- Digital values: HIGH - ON - 5V - 1 - TRUE // LOW - OFF - 0V - 0 - FALSE
July 30, 2007, at 02:28 PM
by -
Changed line 11 from:
to:
| 11.00 | intro |
Changed line 13 from:
| 12.00 | #session 1 |
to:
| 12.00 | session 1 |
July 30, 2007, at 02:23 PM
by -
Changed line 9 from:
| 10.00 | intro | work session | work session | work session | work session |
to:
| 10.00 | arrival | work session | work session | work session | work session |
Changed line 11 from:
| 11.00 |
to:
| 11.00 |
Changed line 13 from:
| 12.00 |
to:
| 12.00 | #session 1 |
Changed line 19 from:
| 15.00 |
to:
| 15.00 | lunch |
Added lines 31-36:
July 25, 2007, at 02:35 PM
by -
Changed lines 10-24 from:
| | | | | | | ||||
| 11.00 | | | | | ||||
| | | workshop 1 | workshop 3 | workshop 5 | workshop 7 | ||
| | | | | | | | | |||
| 12.00 | | | | | | | |||
| | | | | | | | | |||
| 13.00 | | | | | | | |||
| | | talk 1 | talk2 | talk3 | talk 4 | ||
| 14.00 | workshop 2 | workshop 4 | workshop 6 | |||
| | | | | | | | | |||
| 15.00 | | | | | | | talk5 | ||
| | | | | | | | | |||
| 16.00 | | | | | | | Social Event | Social Event | |
| | | | | | | Concert |
to:
| | | |||||
| 11.00 | |||||
| | | |||||
| 12.00 | |||||
| | | |||||
| 13.00 | |||||
| | | |||||
| 14.00 | |||||
| | | |||||
| 15.00 | |||||
| | | |||||
| 16.00 | |||||
| | | |||||
| 17.00 | |||||
| | | |||||
| 18.00 | |||||
| | | |||||
| 19.00 | |||||
| | | |||||
| 20.00 |
July 25, 2007, at 02:32 PM
by -
Added lines 1-6:
Arduino at CCEMX July 2007
home - people - contents - location
(:title Arduino at CCEMX - Contents:)
Changed lines 8-12 from:
| Tues, June 26th | Wed, June 27th | Thurs, June 28th | Fri, June 29th | Sat, June 30th | Sun, July 1st | |
| 14.00 | intro | work session | work session | work session | work session | work session |
| | | | | | | ||||
| | | | | | | ||||
| 16.00 | workshop 1 | workshop 3 | workshop 5 | workshop 7 |
to:
| Mon, Jul 30th | Tue, Jul 31st | Wed, Aug 1st | Thu, Aug 2nd | Fri, Aug 3rd | |
|---|---|---|---|---|---|
| 10.00 | intro | work session | work session | work session | work session |
| | | | | | | |||
| 11.00 | | | | | |||
| | | workshop 1 | workshop 3 | workshop 5 | workshop 7 | |
| | | | | | | | | ||
| 12.00 | | | | | | | ||
| | | | | | | | | ||
| 13.00 | | | | | | | ||
| | | talk 1 | talk2 | talk3 | talk 4 | |
| 14.00 | workshop 2 | workshop 4 | workshop 6 | ||
| | | | | | | | | ||
| 15.00 | | | | | | | talk5 |
Changed lines 22-30 from:
| 17.00 | | | | | | | |||
| | | | | | | | | |||
| 18.00 | | | | | | | |||
| 18:30 | talk 1 | talk2 | talk3 | talk 4 | ||
| 19.00 | workshop 2 | workshop 4 | workshop 6 | |||
| | | | | | | | | |||
| 20.00 | | | | | | | talk5 | ||
| | | | | | | | | |||
| 21.00 | | | | | | | Social Event | Social Event |
to:
| 16.00 | | | | | | | Social Event | Social Event |
July 25, 2007, at 02:22 PM
by -
Added lines 1-18:
| Tues, June 26th | Wed, June 27th | Thurs, June 28th | Fri, June 29th | Sat, June 30th | Sun, July 1st | |
| 14.00 | intro | work session | work session | work session | work session | work session |
| | | | | | | ||||
| | | | | | | ||||
| 16.00 | workshop 1 | workshop 3 | workshop 5 | workshop 7 | ||
| | | | | | | | | |||
| 17.00 | | | | | | | |||
| | | | | | | | | |||
| 18.00 | | | | | | | |||
| 18:30 | talk 1 | talk2 | talk3 | talk 4 | ||
| 19.00 | workshop 2 | workshop 4 | workshop 6 | |||
| | | | | | | | | |||
| 20.00 | | | | | | | talk5 | ||
| | | | | | | | | |||
| 21.00 | | | | | | | Social Event | Social Event | |
| | | | | | | Concert |