Published using Google Docs
MOBILIA
Updated automatically every 5 minutes

CURIOUS and FURIOUS

For this Project I drew inspiration from Alexander Calder’s work. His work usually is powered by a motor so it seemed fit to power my own Calder-inspired mobile using a motor as well. My installation rotates back and forth slowly when you touch the lemon--yes, there is a lemon acting as a conductor. The lemon is being used as a simple conductor because it has a nice bright color, has a nice shape to place your hand over, and has a pleasant texture, all towards making the interaction more enjoyable and interesting. Finally, if you hold the lemon for over 10 seconds, the mobile will spin back and forth quickly, making dissonant sounds and movement watch the video of it in action here: https://youtu.be/hzACUTVp44k.

Image result for alexander calder

Wide shot of the installation.

“Untitled”, Alexander Calder, 1937

Close up of paper-clip wire knots.

Close up of hole for the wires to go through.

Close up on  the “capacitive lemon”.

Close up from the bottom of the stand.

Code

import time, threading, random

from adafruit_crickit import crickit

def startCurious():

   

    crickit.touch_1.value

    time.sleep(3)

           

    motor_angle = 0

    increase = False

   

    while True:

       

        start_touch = time.time()

        start_anger = start_touch + 10

       

        while crickit.touch_1.value:

           

            threading.Timer(1.0, lambda:print("timer: {}".format(int((time.time()-start_touch) % 60)))).start()        

            if time.time() >= start_anger:

                crickit.servo_1.angle = motor_angle

                motor_angle = (motor_angle + 90) % crickit.servo_1.actuation_range

                sleep_val = 0.1*random.randint(1,5)

                print("sleep val: {}".format(sleep_val))

                time.sleep(sleep_val)

            else:                

                if ((motor_angle % 180) == 0):

                    increase = not increase

                val = 5 if increase else -5

                motor_angle += val

                crickit.servo_1.angle = motor_angle

                time.sleep(0.1)

def main():  

    print("Hello! DET2019 Servo Test: Starting!")  #print something nice!

    crickit.servo_1.angle = 0                      #set motor to angle '0'

    startCurious()

if __name__ == '__main__':

    main()