Saturday, 12 May 2018

Analog Slider Control

Testing conductive paint as resistive element for a slider potentiometer
Simple connection to Arduino analogue input
This post is about designing the physical and electronic aspects of giant slider control mechanism. A subsequent post will explore the quality of the acoustic output.

I'd like Valli to be able to control an aspect of the acoustic system we offer her.  I've considered a theramin-style device, but the conceptual mapping between proximity and output seems a bit vague and potentially hard to comprehend - after all, it's difficult for a human to master the controls.

Other possibilities might be a rotating knob or a lever that could be pulled.  While I believe she could learn to use a knob, turning things is not an obvious aspect of an elephant's usual repertoire of movements (except twisting leaves off a branch, for example).  Pulling (which is very natural behaviour) raises manufacturing challenges - how to create something sufficiently robust?

Humans use sliders to control acoustics in synthesiser hardware, and the mapping between wiper position and output seems intuitive to us, so I thought I'd try and design a massive version of a slider potentiometer.

Slider pots have a resistive element, which can be coiled resistance wire, carbon film, carbon-impregnated non-conductive material, foil etc.  A wiper moves freely along the element, sending different resistances back to the microcontroller (Arduino analogue pin). I have found that Bare Conductive electric paint is easy to use and provides a great element that can be sized to suit.

The wiper part became an interesting problem, as it needed to be sufficiently large and robust to be manipulated by an elephant, while maintaining contact with the element.   I investigated the potential for repurposing old drawer sliders, which have a lovely smooth mechanism, but the runners are plastic, so no contact is made with fixed section, and they are heavy.  A metal castor (see photograph) seemed easier to develop into a controller and worked well with the painted strip.
Giant slider from back

This is the current state of the device, seen from both sides.  Small brackets, bolted to the top of the castor, pass over a wooden frame and hold a rounded "handle" that can be used to slide the wheel across the resistive element (electric paint).  Aesthetics not yet finished.  

Giant slider from front

Friday, 24 November 2017

ACI Conference 2017

Spent an excellent 3 days in Milton Keynes at this year's ACI conference. 

We organized a workshop - FARMJAM 2017: - on Tuesday, looking at developing enrichment for pigs, poultry and goats.  Sophie Collins, Sconaid Wastie and Sian Phillips from RSPCA Farm Animal Welfare, Eleonora Nannoni from Univ of Bologna and Billy Wallace from Makeway provided us with briefs. We hope some of the creative outputs will become future prototypes... Watch this space. DOI:   10.1145/3152130.3152154  

Then, on Wednesday I presented my paper: "Exploring Research through Design in Animal-Computer Interaction". 
  • DOI: 10.1145/3152130.3152147

  • I decided to focus on the process of developing elephant-devices, rather than any outputs generated, so I had a different perspective to show people.  So often, animal behaviour research seems to take the end product for granted and studies animal interactions with it, whereas I wanted to try and explain how the details of production informed the design and vice-versa.

    On Thursday, I was part of the doctoral consortium committee, offering feedback to other students.  There were plenty of opportunities to socialise, eat cakes and talk about elephants to anyone who was interested. Looking forward to catching up with colleagues to take some of our ideas forward.

    Wednesday, 9 August 2017

    Skanda Vale social visit

    Valli's tyre toys
    We stopped off at Skanda Vale for a social visit on the way back from Fishguard to London.

    Valli seemed to show pleasure at meeting my kids again - rumbling a lot and sniffing them. Stefan commented that she likes children because they have no fear and is apparently quite tolerant of dogs. However, Skomer (our terrier) revealed herself to be as terrified of elephants as she had been enthusiastic about rabbits in Cork. Although the smells were interesting, a glimpse of the great Valli sent her scuttling behind legs and tugging her lead away.

    My kids spent some time hiding treats (fruit and veg) for Valli inside the piles of tyres in her shed.  Stefan said he had given up on shower controls because she didn't seem interested in using them, but that he would like to try some enrichment with different smells.  We agreed to find some time soon to try some more toys.

    Thursday, 3 August 2017

    Testing beam-breaker with Skomer

    Skomer wondering if any biscuits are involved...
    For this tech test, I setet up a simple beam-breaker sensor that activates an acoustic output.  It uses 5mm IR Break Beam Sensor from Adafruit, connected to BBC Micro:bit (see Fritzing sketch below).

    The sensor comes in 2 parts - an emitter and a receiver - I mounted them in a plastic bowl that sits in an icecream container.  When something (eg. dog nose) passes between emitter and receiver, the beam is broken and the microcontroller captures this change as an input, then triggers an acoustic output which is amplified through speakers (see photo below). 

    In this case, the output was programmed in Python so I could use the speech library and offer robotic doggy feedback ("SKOWMERR..").  I used some catnip behind the sensor to encourage noses to investigate and in principle it works...   Skomer found it easy to use but was not particularly interested in the output. She's a 2 year old Yorkie/Jack Russell mix, very sociable, loves ball games and other interactive playful experiences - triggering weird noises not her thing (she's quite capable of generating her own).

    Skomer can activate the device easily.
    Fritzing sketch shows simple IR beam break circuit that outputs Python gnerated speech synthesis to a small speaker


    import speech
    from microbit import *
    print ("Beam Ready")
    while True:
         reading1 = pin1.read_analog()
         print (reading1)
         if (reading1 > 100):
         elif(reading1 < 10):
             speech.pronounce("#78SKOWWWW #94MMERRRR", speed=100)


    Thursday, 24 November 2016

    ACI 2016 Conference

    Screenshot from
    I attended this year's ACI conference at The Open University, presenting a paper: "Exploring methods for interaction design with animals: a case study with Valli" and taking part in the doctoral consortium, where I received some useful and encouraging feedback.

    With international colleagues, I also organised a ZooJam workshop where participants worked in teams with tight deadlines to develop some enrichment concepts for hunting animals.  We were given briefs for penguins, sea lions and big cats - the ZooJam website ( explains the context and has links to media files showing the various outputs.

    Friday, 8 July 2016

    Noahs Ark elephant radio

    Janu and Machanga try out the elephant radio

    Janu plays by himelf
    At first, Janu and Machanga walked straight past the elephant radio, and we realised it was installed above eye-level.  However, when Janu moved across the enclosure and looked back, he saw there was something new and came immediately to investigate.  Machanga followed shortly afterwards and they both triggered the audio.

    Machanga left quite quickly, but Janu stayed to test the radio some more.

    The data logger didn't work (boo) but there was some night footage of the elephants interacting with the buttons again at about 2am.

    Thursday, 7 July 2016

    Noahs Ark audio installation

    Ashley Bryant helping fix the acoustic buttons
    Final buttons from inside enclosure
    Ashley and I installed the buttons inside Noahs Ark elephant enclosure between 11-1, when the animals are kept outside.

    Initially, the system was working, and we were able to film the elephants coming into contact with it for the first time.  However, although it was clear they could use the interface and were naturally drawn to explore the surface, the device did not work consistently.  It stopped, and needed to be reset a few times, but then when triggered, one of the buttons played continuously before stopping (it is supposed to only play when there is contact with the sensor).  I suspect that the large amount of metal in the enclosure is having an effect on the cap sensing.

    Diagram for keepers
    I left a diagram to show keepers how to change batteries and switch system off if it stopped working properly, although I asked them to keep the Arduino charged so we could continue to use the datalogger.