Arduino at PlanetaX July 2007
home - people - contents - location
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
