Digital Sun
An Arduino and TouchDesigner installation translating light data into responsive visual output.
Digital Sun - Physical Computing Project
Physical Computing
Arduino, Arduino IDE, Photoresistor, TouchDesigner
March 2024
Course Context
This project was developed as part of the Physical Computing course. The main focus was to create a system where a physical light input directly controls a digital 3D object in real time.
Project Description
The system is based on a photoresistor (light sensor), an Arduino, and TouchDesigner. When light hits the photoresistor in the physical environment, the sensor value changes. These values are sent from Arduino to TouchDesigner using serial communication. Inside TouchDesigner, the incoming data controls the brightness and intensity of a 3D Sun model.
When real-world light increases, the digital Sun becomes brighter. When light decreases, the Sun becomes darker.
Hardware Setup
The physical system consists of:
- Arduino board
- Photoresistor
- Resistor
- Breadboard
- Jumper cables
The photoresistor measures light intensity as an analog value. Arduino reads this value and continuously sends it to the computer.
Software & Coding
The Arduino code was written using the Arduino IDE. On the Arduino side, I developed code to:
- Read analog data from the photoresistor
- Normalize the sensor values
- Transmit the data via serial communication
On the TouchDesigner side, I:
- Received live sensor data from Arduino
- Processed and smoothed the values
- Mapped the data to the light and brightness parameters of the 3D Sun
Interaction Logic
The user interacts with the system using light as the only input. A flashlight, desk lamp, or ambient light source changes the behavior of the digital Sun on screen. No keyboard, mouse, or touch interaction is required.
Outcome
The final system demonstrates a direct connection between a physical sensor and a digital 3D environment. It clearly shows the core principles of physical computing: sensing, data transmission, and real-time visual output.