Arduino at PlanetaX July 2007


home - people - contents - location


Day1 | Day2 | Day3

Day 1 - July 17th

General issues

  • Arduino: three things, hardware, IDE, tutorials
  • Story: team, developers
  • Community: web (wiki), forum, email-list

Software

  • Programming: 3 parts, variables, setup, loop
  • explanation about variables
  • compile, save, open, export (upload program)
  • bootloader: "operating system" in the I/O board
  • system functions: pinMode(pin, OUTPUT/INPUT), digitalWrite(pin, HIGH/LOW), digitalRead(pin), delay(time)
  • communication - Serial library: Serial.begin(speed), Serial.available(), Serial.read(), Serial.print(data), Serial.println(data), Serial.print(data,BYTE/DEC)

Hardware

  • Components: LED (polarity, lights up, fixed voltage), Resistor (no polarity, heats up), Pushbutton (metallic contact)
  • Breadboard: mount prototypes without soldering

Puredata

  • Story: Miller Puckette and the bad boys
  • objects, messages, numbers, bang, delay, slider
  • special guest: Gem (library for video), comport (library to communicate with Serial port)
  • example: send/receive data from Arduino in real time simultaneously
  • Programa para Arduino: rosario07_arduino-pd.pde
  • Programa para Pd: rosario07_pd-arduino.pd

Day 2 - July 18th

General Issues

  • Converting analog signals into digital ones, more data here
  • MCU's can measure voltage changes as analog inputs
  • Pulse Width Modulation: PWM as a way of generating analog signals
  • Arduino does things in parallel: PWM, Serial, loop

Software

  • Reading analog signals: analogRead(pin)
  • Writing digital signals: analogWrite(pin,width)

Hardware

  • Potentiometers as basic angle sensors
  • Negative Temperature Coefficient: NTC resistors to measure temperature changes
  • Pull-Down a two-pinned sensor

Processing

  • Open development environment for creating animations
  • Created by C. Reas and B. Fry
  • Used for installations dealing with motion capture, networks, etc
  • Arduino's IDE is based in Processing's
  • Download it here
  • Code: using the Serial library to read data from Arduino into Processing
  • Examples: controlling an object's color using a potentiometer

Puredata

  • Using PD with comport to fade a LED with Arduino
  • Example: making a piano with Pd controlled from the serial port, rosario07_PdPiano.pd

Day 3 - July 19th

General Issues

  • Playing sound, how to play tones

Hardware

  • Piezo Elements: resonators, speakers and knock sensors all in once
  • DC Motors: using transistors to control speed

Software

  • Making extremely short delays: delayMicroseconds(time)
  • Creating functions to play notes
  • loop structures: for(number;condition;change){}
  • comparison structures: switch (variable) { case value: break; default: break;}
  • Example: playing tone A (440Hz) with a Piezo Element rosario07_piezo440Hz.pde
  • Example: playing a note with duration, rosario07_piezoNote.pde
  • Example: playing a note with duration and changing the duration using numbers, rosario07_piezoNoteAdvanced.pde
  • Example: reading a piezo as a knock sensor, rosario07_piezoSensor.pde