Eye strain conscious monitor stand
no one is brave enough to take the blame / September 2023 (763 Words, 5 Minutes)
Source of inspiration
Macchine Inutili
In the 1930s, the iconic and complex visual artist Bruno Munari created the Macchine Inutili [Useless Machines], an invention that’s only purpose is to do something useless. Today, they might be perceived as a typical wind chime.
Useless Machines
In the 1950 this invention inspired Marvin_Minsky who created what he called the "ultimate machine". The Minskey inspired devices have been know by several names. As a youth I knew them as a "leave me alone box" (today we know them as Useless Machines). As seen in this video, the boxes only function is to turn it self off, once turned on.
Nota Bene, there is an artist missing from the list, I forget who it is… An art installation, with a CRT, a video camera and a power outlet. The camera is pointing to the power outlet, surveilling to see that it is not unplugged.
Confrontational Machines
With the idea of a useless machine, what about a machine that, rather than having no use, its prime activity is to defy its owner. Introducing the "Eye strain conscious monitor stand"!
This fits in nicely with my feeling about Resistential Machines
Project goal? A performance:
This performance piece uses a found object, a monitor stand, and converts it in to a robot that antagonizes its owner.
Scenario
INT. HOME OFFICE
(The subject sits at the table gets comfortable, then pulls the monitor towards themself, and starts typing)
(A short period after the monitor stand pulls itself away.)
(Stunned, the subject first pauses, then reaches over and pulls the monitor stand back to that comfortable place.)
(Waiting for the subject to get comfortable, the stand pauses, then jerks back and pauses for a short period. The subjects freezes, now confused, then the monitor pulls back again)
( the subject thinking, “again”, reaches over and pulls the stand back)
( wait for the subject to get comfortable, then jerks back, waits, and jerks back again, taunting the subject, before pulling back )
Materials required
List of parts
Needed part | What to do about it |
---|---|
__ | _________________________________ |
A monitor stand | got two of these - click to see |
An ultrasonic range finder | got a HC-SR04 - click to see |
RaspberryPi, or embedded? | Chose the ESP12E, Datasheet - click to see |
Write some code? | The git repo for this project |
Accelerometer sensor | ADXL3xx accelerometer failed :( |
A power supply, a 5V@1A “wall-wart” should work | looking at junk |
A motor ( stepper or gear motor? ) | donations or borrowing |
A driver chip (ULN2003A, TIP transistor or like) | donations or borrowing |
Motion sensor | ??? |
Example of code
The git repo in a work in progess, but this is what I am hoping to complete
Appendix
Build Events Timeline
September 01
- Created a list of parts (see below)
September 06
- Got initial code working
- have web UI for debugging
September 09
- Acquired a monitor stand
- Acquired an HC-SR04 “ping” sensor.
- ESP32-12e does not have 5v - click to see the hack
- This means we will need to hack the PSU to get 5V for the final project.
- ESP32-12e does not have 5v - click to see the hack
- Realized that the programmer and ArduinoIDE use different naming conventions.
- trigPin = GPIO12 = D5 on the programmer
- echoPin = GPIO5 = D17 on the programmer
- Created the
measure_distance
function - Created the
too close
conditional - Created
is_vibrating
conditional ( then removed it )- Tested code an ADXL3xx, X-Y-Z accelerometer… I think the part is broken :/
- Created a Frizting sketch to help others understand what I was doing.