CCEMXJul07.Contents History

Hide minor edits - Show changes to markup

August 09, 2007, at 05:33 PM by 84.55.73.113 -
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 84.55.73.113 -
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 84.55.73.113 -
Added lines 26-27:
|    talk
19.00     
Deleted lines 28-29:
19.00     
|     
Added lines 106-109:

Talk

August 09, 2007, at 05:13 PM by 84.55.73.113 -
Changed line 17 from:
14.00 PD intro   
to:
14.00 PD intro lunchlunch
Changed line 19 from:
15.00lunchlunchlunch  
to:
15.00lunchlunchlunchsession 4session 5
August 03, 2007, at 04:59 PM by 189.145.119.163 -
Added lines 82-83:
August 01, 2007, at 07:34 PM by 200.36.179.22 -
Changed line 15 from:
13.00     
to:
13.00  Processing intro  
Changed line 17 from:
to:
14.00 PD intro   
Changed line 19 from:
15.00lunch    
to:
15.00lunchlunchlunch  
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 189.145.119.163 -
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 189.145.119.163 -
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 189.145.119.163 -
Changed line 9 from:
10.00arrivalsession 2work sessionwork sessionwork session
to:
Changed line 17 from:
14.00     
to:
Changed lines 57-71 from:
to:

Session 3

Session 4

Session 5

PD intro

Processing intro

July 31, 2007, at 10:16 AM by 189.145.119.163 -
Changed line 9 from:
10.00arrivalwork sessionwork sessionwork sessionwork session
to:
10.00arrivalsession 2work sessionwork sessionwork session
Added lines 54-57:

Session 2

July 30, 2007, at 08:13 PM by 200.36.179.22 -
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 200.36.179.22 -
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 189.145.119.163 -
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 189.145.119.163 -
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 189.145.119.163 -
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 189.145.119.163 -
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 189.145.119.163 -
Changed line 11 from:
11.00    
to:
11.00intro    
Changed line 13 from:
12.00#session 1    
to:
12.00session 1    
July 30, 2007, at 02:23 PM by 189.145.119.163 -
Changed line 9 from:
10.00introwork sessionwork sessionwork sessionwork session
to:
10.00arrivalwork sessionwork sessionwork sessionwork 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.00lunch    
Added lines 31-36:

Introduction

Session 1

July 25, 2007, at 02:35 PM by 200.36.179.22 -
Changed lines 10-24 from:
|||   
11.00||   
|workshop 1workshop 3workshop 5workshop 7 
||||  
12.00|||  
||||  
13.00|||  
|talk 1talk2talk3talk 4 
14.00workshop 2workshop 4workshop 6  
||||  
15.00|||talk5 
||||   
16.00|||Social EventSocial 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 200.36.179.22 -
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 26thWed, June 27thThurs, June 28thFri, June 29thSat, June 30thSun, July 1st
14.00introwork sessionwork sessionwork sessionwork sessionwork session
|||    
|||    
16.00workshop 1workshop 3workshop 5workshop 7  
to:
 Mon, Jul 30thTue, Jul 31stWed, Aug 1stThu, Aug 2ndFri, Aug 3rd
10.00introwork sessionwork sessionwork sessionwork session
|||   
11.00||   
|workshop 1workshop 3workshop 5workshop 7 
||||  
12.00|||  
||||  
13.00|||  
|talk 1talk2talk3talk 4 
14.00workshop 2workshop 4workshop 6  
||||  
15.00|||talk5 
Changed lines 22-30 from:
17.00|||   
||||   
18.00|||   
18:30talk 1talk2talk3talk 4  
19.00workshop 2workshop 4workshop 6   
||||   
20.00|||talk5  
||||   
21.00|||Social EventSocial Event 
to:
16.00|||Social EventSocial Event
July 25, 2007, at 02:22 PM by 200.36.179.22 -
Added lines 1-18:
 Tues, June 26thWed, June 27thThurs, June 28thFri, June 29thSat, June 30thSun, July 1st
14.00introwork sessionwork sessionwork sessionwork sessionwork session
|||    
|||    
16.00workshop 1workshop 3workshop 5workshop 7  
||||   
17.00|||   
||||   
18.00|||   
18:30talk 1talk2talk3talk 4  
19.00workshop 2workshop 4workshop 6   
||||   
20.00|||talk5  
||||   
21.00|||Social EventSocial Event 
|||Concert