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

This Substance of Electricity

  • Waterfalls, bolders – metaphors for electricity…
  • LED “circuit
  • The “voltage divider” = potentiometer – what’s really going on in there?
  • Electricity:
    • Voltage
    • Resistance
    • Current – led ‘circuit’
  • Ohm’s Law: V= iR
  • Electromagnetism – relays, solenoids, electromagnets
  • Semiconductors – transistors, microchips

Representation

  • Digital Numbers
    • Decimal (base-10) numbers
    • Binary (base-2) numbers
    • ASCII Characters - the ASCII Table
  • What happens in the Arduino when we sample?

The Serial Port

  • Serial,  RS232 and USB
  • ASCII encoding – can be confusing – be careful that you understand this! :)
  • Zterm (there are many like this)

Programming structures

  • Most things are common to all programming languages!
  • Flow… “Threading” and timings in a microcontroller
    • why PWM, UART (serial ports) are important
    • interrupts (a microchip’s subconscious mind??)
  • Variables
  • Choices – “if” statements – e.g.: thresholding
  • More than one choice – “case” statements – e.g.: metering
  • Over and over – “for” loops – e.g.: S.O.S.
  • Creating a function – concealing/repurposing a set of functions – e.g.: the S.O.S. function
  • Timing – how long since something happened – e.g.: millis
  • “Counting”
    • The increment operator (++)
  • Modulus
    • What if you want something to happen every X number of times?
    • count up, whenever the ‘modulus’ of that count is “0″ – you can trigger an action. Very useful
Inputs

  • physical properties of the thing being sensed
    • thermal
    • electromagnetic (e.g.: the hall effect)
    • mechanical
    • chemical
    • optical and radiation (e.g.: geiger counter)
  • properties of the sensor
    • Continuous/Discrete/Sampling rate
    • Dynamic Range (high/low)
    • Resolution (high/low)
    • Repeatability & Long-term sensor drift
  • ‘interaction potential’?
    • fine/coarse control
    • mental model
    • expressiveness / satisfaction

  • 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
  • Variable resistance!
    • Staggering applicability…
    • 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

Outputs (for now)

Leave a Reply

You must be logged in to post a comment.

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!