Sketching with Hardware

Day 2












GIF by Robin Davey, http://robindavey.co.uk/

Course Overview

1Monday Fundamentals, Keyboard Hacking, Experiments
2Tuesday Arduino, Project Topic
3Wednesday Brainstorming Day
4Thursday Concept Presentation, Own Project
5Friday Own Project
  Saturday
  Sunday
6Monday Own Project
7Tuesday Own Project
8Wednesday Final Presentation, Wrap Up

Day 2

09:00 Arduino Introduction
10:00 Analog IO
11:00 Sketching Circuits
12:00 Break
13:00 More Sensors
14:00 Whatever you like
15:00 Introduction to our Topic
16:00 Brainstorming Ideas

"Hello, Computer!"

II



Quelle: UTEXAS

Arduino


Image Source: ArduinoArts

Arduino — Connected


Image Source: SirLeech

Arduino provides (some) power

Arduino provides (some) power

Digital Input/Output

Digital Output

Blinking LED

void setup() {
	pinMode(12, OUTPUT);	// Make pin an output for us
}
void loop() {
	digitalWrite(12, HIGH);	// Set pin to be "+" (on)
	delay(500);
	digitalWrite(12, LOW);	// Set pin to be "-" (off)
	delay(500);
}

Digital Output

High Load!

Digital Output

Transistor / MOSFET

Digital Output

Transistor / MOSFET

Digital Output

Transistor / MOSFET

Digital Input

Pull a pin "up" (+)

void setup() {
	pinMode(2, INPUT);	// Make pin an input for us
}
void loop() {
	value = digitalRead(2);	// Read what's on that pin
}

Digital Input

Pull a pin "down" (-)

void setup() {
	pinMode(2, INPUT);	// Make pin an input for us
	digitalWrite(2, HIGH);	// Activate internal pull-up
}
void loop() {
	value = digitalRead(2);	// Read what's on that pin
}

Digital Input

Using a Bread Board

Analog Input/Output

Arduino Analog Input

int potPin = 2;	// select the input pin for the potentiometer
int ledPin = 13;	 // select the pin for the LED
int val = 0;	 // variable to store the value coming from the sensor

void setup() {
	pinMode(ledPin, OUTPUT);	// declare the ledPin as an OUTPUT
}

void loop() {
	val = analogRead(potPin);	// read the value from the sensor
	digitalWrite(ledPin, HIGH);	// turn the ledPin on
	delay(val);		// stop the program for some time
	digitalWrite(ledPin, LOW);	 // turn the ledPin off
	delay(val);		// stop the program for some time
}

Analog Output

PWM — Pulse Width Modulation

Analog Output

Analog Output: Servo

  • PWM freq is 50 Hz (i.e. every 20 ms)
  • Pulse width ranges from 1 to 2 ms
  • 1 ms = full anti-clockwise position
  • 2 ms = full clockwise position

Analog Output: Servo

Analog Output: Servo

"Servos, Oida!"

Analog Output: RGB LED

photo credits © todbot.com

Pins: R G − − B B
GND = Cathode = −

Motor ansteuern

Sketching Circuits

CircuitLab

https://www.circuitlab.com

Circuit Simulator

http://www.falstad.com/circuit/

EAGLE

http://www.cadsoftusa.com/eagle-pcb-design-software/

Fritzing

http://fritzing.org/news/fritzing-gets-the-bends/

More Sensors

  • Light
  • Temperature
  • Distance (Infra Red, Ultra Sonic)
  • Magnetic Sensors (Reed, Hall-Effect)

Actuators

  • Motors
  • Servos, Steppers
  • Speakers
  • Solenoids
  • LEDs (RGB)
  • Piezos

Topic ...

Topic:

Music Instruments







Image Source: Engadget/Moogfest

Features

  • build a music INPUT and/or OUTPUT device
  • Generate sound digitally or physically
  • include MIDI Input/Output ports — inter-connect your projects!
  • final presentation: Concert!


Image Source: npr

Some Inspiration

Enhance!

Re-Purpose!

Change Context!

Make Things Move!

Example: Simple Synthesizers

Arduino MIDI | Auduino | NaV-1 | Mozzi Teenage Engineering

Example: Drum Robots

Lebmetal: Robot Drums

Example: Violin Robot

Video

Recommended Search Terms

  • Arduino Synth / DIY Synth
  • some-instrument-name playing robot
  • Arduino Mozzi Library
  • Arduino MIDI

Brainstorming!



















GIF by Robin Davey, http://robindavey.co.uk/

Brainstorming!




  • Project Name
  • Main Idea
  • Features
  • Sensors? Actuators?
  • Software? Complexity? Costs?
  • Plan B?


Raus an die frische Luft!

Image Source: Heinrich Kopp: Kinderreigen

Homework: Elaborate.


  • Present your final ideas on thursday.
  • Don't forget to document everything!

Shops for Electronic Parts

  • exp-tech.de
  • pollin.de
  • watterott.com
  • conrad.de
  • reichelt.de
  • elv.de
  • farnell.de
  • adafruit.com

MIDI Controller Tutorial

"MIDI-Controller selber bauen" by Götz Müller-Dürholt

End of Day 2