DOING – 21/04/10 – Arduino Propa

Housekeeping

  • How have you been? VOLCANOES.
  • Next few sessions will be special topics in ‘extending’ the existing tools we’ve already looked (networks, wireless interfaces, interfacing to other production paths and programs)

Rationale

So far in this module we’ve looked at the capabilities of a couple of in-computer systems for multimedia (Max/MSP and Processing). These are powerful environments for the manipulation of data, and as we’ve seen we can use them to get input from the real world.

The device we’ve been using for this (the Arduino board) is actually capable of a whole host of other things… on it’s own!

Why do we care about the physical world?

The uses of the Arduino and other microcontroller platforms like it (e.g.: PIC microcontrollers, ATMEL) are replete – they are in everything from your car to your dishwasher to your alarm clock and can control or interpret very slight/small scale actions (LEDs turning on) as well as interconnect to larger, more complex systems (networks, motors, etc.).

Electronics!

Arduino – The Project

Resolutions(!) and ADCs

So far – we’ve looked at examples where we were not always using the full 10bit serial ouput from the Arduino. This will not do! (Why?)

  • Problem:
    • Arduino ADCs converts 0-5V signals into 10bit values
    • The serial port only lets us send 8bit values AT A TIME
  • Solution:
    • ‘Encode’ the numbers coming down the Arduino pipe as ‘ASCII values’
    • Decode it on the other end. I.e.: As “the-character-1″, followed by “the-character-0″, etc.
    • Speed up the baud rate (just because we can)
  • Example – 10 bit ADC readings into Max/MSP

Input: Sensors

We’ve talked about sensors a good amount – but perhaps worth revisiting ‘what’s out there’… Note that many sensors (and electronics in general) are now ‘surface mount’ parts – so you have to be careful about what you order, and make sure you either know how to make or know how to get a break-out board if you want to use these things with the Arduino.

  • Switches!
    • Types of Switches:
      • Mechanical switches – Knife, pushbutton, slide, tilt, DIP
      • Magnetic reed switches
      • Relays
      • Hall effect sensors
    • Other Properties
      • Pole & Throw (SPST, SPDT, DPST, DPDT)
      • Number of ‘positions’ and number of independent conductors that get ‘thrown’ when switch changes Momentary/Toggle
      • “Normal” position (open, closed)
      • Momentary or toggle
  • Potentiometers!
    • Staggering applicability…
    • Types of Potentiometers:
    • Other Properties
      • Linear vs. Non-linear – Refers to the property of whether or not a given of ‘turn’ gives an equal change in resistance across the entire scale of the potentiometer (more on this later)
      • Dampened, notched, sprung, etc.
      • Detent (e.g.: variable detent potentiometer)
  • Continuous sensors of physical properties
    • Thermal – Bimetals (thermo-mechanical) – Thermocouple – Thermistor
    • Electromagnetic – Current sensors – Metal detectors – Hall effect sensors
    • Mechanical – Pressure:
      • altimeter
      • barometer
      • air-speed – flow? temperature? ultrasonic
    • Flow:
      • mass flow
      • pressure derived
      • anemometer
    • Tilt:
      • accelerometer
      • ball&groove
      • mercury
    • Chemical
    • Optical and radiation – Geiger counter, photoresistors
    • IR & Visible Light

Output: Control

Control, for the most part, comes down to separating the microcontroller system from the power system. This is true because microcontrollers use voltages and currents as ‘signals’ whereas lights and motors and toasters and such use voltages and currents to DO THINGS in the world. It’s a bit like a ‘preamp’ for signals and a ‘power amp’ for moving speakers to create sound.

  • DC Lights LEDs
    • Small incandescents
    • LEDs (lots of shapes and sizes!)
    • PWM – analogWrite(pin)
  • DC Motors – same same
  • AC Motors
    • Turning anything AC on and off – disconnect and connect the BROWN WIRE
    • Solid State Relays are one way
  • AC Lights Incandescent lamps (‘normal’ bulbs) -
    • Simple, as they can be directly hooked up to AC current (inefficient, hot, etc.)
    • Dimming an AC system is difficult, but possible with a TRIAC circuit (like an AC PWM)
    • Fluorescent lamps – Require a ballast to regulate the current into the bulb (i.e.: cannot be hooked up to the wall current!)
    • To control the light you need to control the ballast
    • Dimming can be accomplished with dimmable ballasts (DSI, switchDIM, DALI
  • EL Wire & El Panels
  • Servo Motors – good precision, used to be they had no torquegetting better
  • Stepper Motors – good torque but a tad more complex (there’s an arduino library)
  • EXAMPLES:
    • AC motor and AC light triggering with a sensor
    • We might want to directly measure one properly and have it effect another… analog input mapping onto some analog output… e.g.: Breath to light
    • Also of interest is using the computer to trigger a physical – you can do this with serial command outputs from softwares (as we saw with Ben Freeth’s mist project recently). E.g.: Max/MSP outputs a serial character that is detected by the Arduino, and Arduino launches a control sequence…

Midi / OSC

  • Midisimple serial protocol (i.e.: a specified sequence of data)
  • Arduino can output this protocol, as a way of interfacing directly to audio software, etc.
  • Outputting MIDI from Arduino requires the use of a (for PC) hardware interface or an synth that supports the MIDI protocol
  • Inputting MIDI to Arduino requires the use of the same (for PC) hardware interface or a MIDI controller
  • Note that MIDI can and is used as a general control protocol for other things – e.g.: for lights

Networking

  • How does a network work?
    • Addresses are addressed with a PORT (or ‘subchannel’) -
    • Ports allow for multiple parallel connections to a device
    • Any device with a valid IP address can be ‘on the network’ – so
  • There are a number of reasons you might want to feed data into/out of Arduino

Wireless

Readings

To Do

  • Control a real-world movement, system or output with an analog sensor
    • Think about how this might be thought of as extending yourself
    • Think about how it would feel to have that extension occur wirelessly, over the network, online
    • Post pictures of your sketch and thoughts on the above online before next class
  • Next (and last) exhibition – Extensions of Man – either May 26th or June 2nd (up to you – VOTE!)
    • Respond to the theme however you like – BUT RESPOND TO THE THEME
    • Please read the marking criteria and present what’s required

Leave a Reply

Processing – 2 – More Programming (Tom Schofield), 16/2/11

This week we continue with some programming fundamentals namely:

  • arrays and array lists
  • “for” loops
  • functions and scope
  • classes
  • libraries

Aims and Objectives

This session is once again designed to be as “ground up” as possible within the restraints of time. We will focus more on the tricky bits that are likely to trip people up when working alone. Although it’s really tempting to jump straight in and start working with images, text, movies or libraries my intention is to try and get people towards the stage where they will be better equipped to use processing more creatively/independently.

Arrays and array lists

//ArrayExample

Arrays are a way of storing sets or lists of data of any type. They have a finite size which you can find by adding .length to the end of your variable like this:

println(myArray.length);

The reference number which tells you which part of the array (element) we are looking at is the index which you can find between square brackets:

in myArray[5] the “5″ refers to the 6th element in the array because arrays start at zero which can be confusing!

For loops – (iteration) Details »

DOING – 01/11/11 – Sensors (Inputs) and Actuators (Outputs)

Housekeeping

  • Results from your sensor walk assignments
  • Questions from Arduino assignments – anything you’d like to show us, talk about?  You should have…

Rationale

Today will be a quite practical session – looking at the input and output options for your Arduino systems.  We’ll also go through some tips and trips for programming with Arduino.

From Last Week

  • Go through the Arduino_SecondExamples.zip – what’s going on in there…
  • We’ll develop a few more practical examples in class

Details »

DOING – 19/10/11 – Intro to Electronics and Microcontrollers

Housekeeping

Rationale

Today we’ll look at what is happening underneath the hood of the Arduino a little – how it represents and processes “the world.”

As well, we’ll look at some further elements you should know about for control of and measurement in your projects.

From Last Week

  • What is happening when we ask the Arduino to ‘blink’?
  • Analog = Analogous
    • Hold hands!
    • The squeezing of a hand… –> Drawing on the board
    • What are the characteristics of this (instantaneous/atemporal, subjective)?
  • More than one link in the chain…
    • Transferring a signal between more than one person
    • What about long distances (or even short distances accurately)?
    • What would be a better way to do this?What are the characteristics of this (synchronous, memory based, objective)?

Details »

DOING – 05/10/11 – This Thing We Call Technology

Housekeeping

Rationale

So. This class iis about creative reflections on technology, and using technology. We’re not necessarily always interested in the ‘right way’ to do things, in terms of commercial production, or how the manual tells you to use software, etc. We are, however, interested in looking critically at tools, their use, and the assumptions and values they embody.

Most generally – the approach we’ll take in this class is about establishing a playful relationship with technology. Something akin to playing with physical materials – an outlook that speaks of having some understanding of the fact that there is no technical difference between the ‘digital’ and ‘analog’… It’s all the same damn world, the same “reality.”

Details »

DOING – 11/05/11 – Max MSP 2

Hello,

FIRSTLY: THE THEME FOR THE SUBMISSION IS ‘FRAGMENTATION

Today we had a look at Jitter – the video part of max. This hopefully brings out some of the sublime fun you can have when you are treating everything as data, and interconnecting audio, math and video processes. Max MSP is particularly good for this kind of thing, giving you an environment where you can improvise + explore this interconnectedness.

Here is a bundle of patches, with instructions + explanations:

http://www.mediafire.com/?dldq4olh57jqbv3

Adam

DOING – 27/04/11 – Introduction to Max MSP

We had a look at some of the basic principles of Max MSP and Pure Data

*Max MSP and Pure Data are both based on the ‘Max’ paradigm developed by Miller Puckette at Ircam in the 1980s. Both are very similar: Max can be visually more accessible, and a little more user friendly, but unlike Pure Data you have to pay for it. There are some different ‘objects’ and approaches in each, but nothing too significant: if you learn one, you’ll be able to figure out the other.

*Both are (almost) ‘object oriented’ programming languages. Objects are basically little boxes that do a job, and we connect objects together with patch cords. Objects communicate to each other with messages.

Here is a small bundle of simple Max patches with some instructions in the comments:

http://www.mediafire.com/?v92fmved0937kpc

If you don’t know what an object does, look at it’s help files (shift-cmd-h). In the help file, if you click ‘open reference’ at the top of the window, you’ll find out what messages and arguments the object takes. Also take a look at the tutorials if you can.

DOING 4 – 24/11/10 (with Tom Schofield) – Arduino into Software, A First Look

Housekeeping

  • Review projects from Lalya’s pound store challenge

Rationale: This week will look at basic Processing scripts… for getting a single piece, then more than one piece of info into and out of Processing. We will also have a bit of background about communication protocols and how different ones work. Details »

DOING 3 – 10/11/10 (with Lalya Gaye) – DIY and Prototyping

Housekeeping

  • Assignments from previous week
  • Prior readings: “What Do Prototypes Prototype?” – Stephanie Houde and Charles Hill [PDF]
    “Experience Prototyping” – Marion Buchenau and Jane Fulton Suri [PDF]
  • Bring scrap from your local 1-Pound shop (do not spend more than £3!) Details »

DOING 2 – 27/10/10 – Electronics and Programming Microcontrollers

Housekeeping

  • Results from your technology analysis assignments
  • Questions from Arduino assignments – anything you’d like to show us, talk about?

Rationale

Today we’ll look at what is happening underneath the hood of the Arduino a little – how it represents and processes “the world.”

As well, we’ll look at some further elements you should know about for control of and measurement in your projects.

From Last Week

  • Analog = Analogous
    • Hold hands!
    • The squeezing of a hand… –> Drawing on the board
    • What are the characteristics of this (instantaneous/atemporal, subjective)? Details »

DOING 1 – 13/10/10 – This Thing We Call Technology

Housekeeping

  • Go over the module handbook
  • Talk about expectations/goals (work load and help – Me! Bren! Hi Joey and Tom!)
  • Delivery style and pace
  • This blog – Your blog
  • Our extensive use of Wikipedia on these notes is emphatically intentional – you are the best people to be engaging with a new shared conception of knowledge and fact (correct mistakes! help generate our a posteriori reality! join the conversation!)

Rationale

So. This class iis about creative reflections on technology, and using technology. We’re not necessarily always interested in the ‘right way’ to do things, in terms of commercial production, or how the manual tells you to use software, etc. We are, however, interested in looking critically at tools, their use, and the assumptions and values they embody.

Most generally – the approach we’ll take in this class is about establishing a playful relationship with technology. Something akin to playing with physical materials – an outlook that speaks of having some understanding of the fact that there is no technical difference between the ‘digital’ and ‘analog’… It’s all the same damn world, the same “reality.” Details »

DOING – 19/05/10 – 3D w/ Guy Schofield!

Housekeeping

  • This is the last class before next exhibition on JUNE 2ND!
  • You do not have to use elements from individual session, but please use the topics generally covered over the last 3rd of the module
  • Respond to the idea of “Extensions of Man”

Rationale

Special guest – Guy Schofield! Real time 3-D is an obvious area of interest for us – there are many off-line 3D authoring environments (processor speeds, design pipelines), but increasingly there are a number of realtime responsive solutions and production pipelines. We’ll look at a few approaches to real-time interactive 3D today, as well as the use of modeling software and 3D models in a few standard packages. Details »

DOING – 05/05/10 – Interfacing (con’t)

Housekeeping

  • Please note that ordering things and parts and pieces can TAKE A WHILE -
    • don’t let this keep you from finishing for June 2nd. Do group orders, use second delivery, etc.
    • digikey, RS, coolcomponents seem to ship here quite quickly
  • Input/Output experiments – how did we do? What are the questions that came up for you?

Rationale

Last week we took a quick look at the Arduino basically works – this week we’ll look at a few extensions of the project, that allow for communication via MIDI and Wireless comms. These are optionally to be used for your final exhibition piece in the class. Please WORK on this and ask me questions via email over the next weeks.

Also note that although we can support networking objects to a certain extent – they are VERY difficult to get working on campus… So if your project presentation needs to happen here, you should probably ‘demostrate’ that net-workability via some other mechanism (2 way communication using serial, for example – or setting up your own network). Details »

DOING – 21/04/10 – Arduino Propa

Housekeeping

  • How have you been? VOLCANOES.
  • Next few sessions will be special topics in ‘extending’ the existing tools we’ve already looked (networks, wireless interfaces, interfacing to other production paths and programs)

Rationale

So far in this module we’ve looked at the capabilities of a couple of in-computer systems for multimedia (Max/MSP and Processing). These are powerful environments for the manipulation of data, and as we’ve seen we can use them to get input from the real world.

The device we’ve been using for this (the Arduino board) is actually capable of a whole host of other things… on it’s own!

Why do we care about the physical world? Details »

DOING – 02/12/09 – More Matrices, Multichannel Sound, OpenGL,

Housekeeping
  • Equipment for ECHOES exhibition – make sure you see Bren for gear
  • The 1st floor is OURS.  Please clean up afterwards – the next day or so.
  • oFncl event – Joey
  • Anything else?
Review of Last Week
  • Arduino + MaxMSP – building your own protocol.  If you understand this, you are free to use whatever system you like.  If you don’t, please make an appointment, with Joey/Tom/Bren/me.
  • OMX.comp, etc. – i cannot emphasize how important this is!
  • Jitter basics – matrices, planes, dimension,
  • WHAT IS THIS TOOL DOING TO US?   ‘We Make Our Tools And They Shape Us’ – Mcluhan… What are your embedded assumptions/frustrations you have with Max/MSP? Details »

DOING – 18/11/09 – Data and Moving Image

Housekeeping
  • Equipment and facilities issues
  • Documentarium – on the horizon?
  • Mini-exhibition for this Module
  • Rest of the year schedule for this module
  • MRes Final Projects Scheduling – Submissions for fulltimers in JAN
  • OTHER questions?
  • Readings….
Review of Last Week
  • Irritating driver issues – Network Settings in OSX for your arduino
    (check these if you’re having trouble)
  • Resolution!
  • 8bit numbers – what goes down your USB cable – Why do we care?
  • The simple protocol we attempted to develop last class – 255, 254 as headers
  • We have a 10-bit ADC, so we should use all 10 bits!
  • ASCII protocol – the down deep dirty version of SMS, PDuino, FIRMATA.
    (I want you to understand this, not just use it, so please spend some time on it, or with me, if need be.  It will make you powerful, I swear.)
  • Little issues around file naming, groove~, buffer~, formats, etc.
  • Tips and Tricks:  VST~ object, omx. objects, installing externals for sound analysis, granular synthesis, et Details »

DOING – 28/10/09 – Numbers & Max/MSP

Housekeeping
  • Laser cutters, 3d printers, CNC machines, plotters (oh my!)
  • From the comments: Pure Data Wiki
  • Documenting your work in this class
  • WHERE ARE YOU BLOGS!?!
  • Documentarium – on the horizon?
  • OpenFrameworks group – ofNcl
  • OTHER questions?
Review of Last Week
  • Perhaps worth highlighting again:
    • ABSTRACTION (mechanical, electronic, digital) –> signals as abstraction (bandwidth) –> sampling –> resolution –> computer numbers –> programming
    • “sampling” theoretically and “analog to digital conversion” in electronics (Nyquist)
    • Frequency, Period and Wavelength – high and low frequency and such
    • Another non-monkey number set – HEX (HEX FIEND) Details »

DOING – 14/10/09 – Digital Representation & Programming

Housekeeping

  • Next module meeting – NOVEMBER 3rd – 2PM
  • Go over the module handbook
  • Talk about expectations/goals (work load and help – Me!  Bren!  Hi Joey and Tom!)
  • Delivery style and pace
  • This blog, your blog
  • Extra sessions after most classes – not today! (usually 4:30-8:00PM, Bren also scheduled to be available for some of this time)
  • Our extensive use of Wikipedia on these notes is emphatically intentional – you are the best people to be engaging with a new shared conception of knowledge and fact (correct mistakes! help generate our a posteriori reality! join the conversation!) Details »

Thinking and Doing, Week 1

Notes from today thanks to John O’Shea – cheers, because it’s hard for me to blog while I speak!

Theoretical Foundations 001: Atau Tanaka

Wednesday 7th October 2009

Module handbook

Slides from today’s lecture: why-theory200910.pdf

Housekeeping
- Aims
- Outline of syllabus
- By the end of this module students will…

technological and cultural background
advantages and disadvantages of digital media production methods
not pure positivism Details »

DOING – Week 2 – Numbers and Max/MSP

Housekeeping

  • Next module meeting – NOVEMBER 3rd – 2PM
  • Digital Plotter, Laser Cutter, 3D printer, CNC
  • OpenFrameworks group
Review of Last Week
  • Digitizing (sampling), bits, bytes, number systems, sampling, resolution, dynamic range, number types (bytes, integers, floating point)
  • Perhaps worth highlighting again:
    • ABSTRACTION (mechanical, electronic, digital) –> signals as abstraction (bandwidth) –> sampling –> resolution –> computer numbers –> programming
    • “sampling” theoretically vs. “analog to digital conversion” in electronics – theory vs. practice
    • Frequency, Period and Wavelength – high frequency and low frequency
    • Another non-monkey number set – HEX (HEX FIEND)
    • Indexing from zero – zero may not be a thing, but it is a position!
  • Programming, program flow, mince pies – PROCEDURALITY
  • Questions about any of that? Details »

New Terms and New Terminology

Hi all!  WELCOME!   A new term is upon us.  We are very happy to have you all here, and are excited to see the work, relationships and ideas that will come out of our expanding family in the DM MRes!

For your info – we are running two  core modules this semester and (a change from last year) they run concurrently, interleaved.  That is, on Oct 7th, 2-5PM we have the first section of the DM THINKING class – which will look at issues in the production of interactive and experimental media works, as well as relevant cultural theory.  The DM DOING module – a class where we teach and workshop softwares for the production of creative digital media works – has it’s first session in the same time slot on Oct 14th (both in Space 7, Culture Lab).

Also running this term is Stevie Ronnie’s Web and Interactive Narrative class – Thursdays, 11AM-1PM.  Space 7.

As you were told in your advisement sessions, we will have infrequent but important ‘special sessions’ for topics that come up in your course.  These will, as much as it is possible, be held in the 5PM-midnight (?) time-slog following the Wednesday sessions.  So far we have ideas for an expanded discussion of intellectual property and copyright as it relates to students works, a session on music for new media, and a special workshop on OpenFrameworks.  If you have any other ideas for issues you’d like to look at and discuss with the group please get a hold of Jamie (jamie.allen1@ncl.ac.uk), or leave a comment on this blog, post to your own blog – in short, get in touch.

More soon… and see you soon!