Skill Development 3 - Ambient Orb
Intention
The goal of this project was to develop proficiency with IoT concepts by designing an ambient orb that communicates emotional states or other information through visual feedback. This assignment aimed to deepen my understanding of the Particle platform while exploring how tactile and visual interactions can convey meaningful messages between remote users. My intention was to create a dynamic, interactive lighting system that reacts to user input and provides a series of ambient, soothing effect.
The goal of this project was to develop proficiency with IoT concepts by designing an ambient orb that communicates emotional states or other information through visual feedback. This assignment aimed to deepen my understanding of the Particle platform while exploring how tactile and visual interactions can convey meaningful messages between remote users. My intention was to create a dynamic, interactive lighting system that reacts to user input and provides a series of ambient, soothing effect.
Process
I started by brainstorming ideas for the ambient orb and decided to create a window frame-inspired design with a bird element as the interaction point. The concept was to use tactile interactions, such as squeezing the bird, to trigger different lighting effects, which would represent various moods or emotional states.
Next, I gathered the required components, including a Particle Photon, NeoPixel strip, a tactile sensor, and other supporting materials. I began by connecting the NeoPixel strip to the Particle Photon. The data pin of the NeoPixel was connected to the designated pin on the Photon, with power and ground connected to the corresponding pins on the breadboard. For tactile input, I connected the sensor to a digital pin on the Photon to detect the squeeze input.
Using the Particle Web IDE, I wrote code to control the NeoPixel strip based on the tactile input. Each level of squeeze pressure corresponded to a specific light pattern or color. For example, a gentle squeeze triggered a warm orange light, while a harder squeeze produced a thunderstorm-like flashing blue and yellow effect. The code utilized the Adafruit NeoPixel library to manage the light animations and the analogRead function to interpret the sensor input.
Here is my code snippet for the light animations:
Next, I gathered the required components, including a Particle Photon, NeoPixel strip, a tactile sensor, and other supporting materials. I began by connecting the NeoPixel strip to the Particle Photon. The data pin of the NeoPixel was connected to the designated pin on the Photon, with power and ground connected to the corresponding pins on the breadboard. For tactile input, I connected the sensor to a digital pin on the Photon to detect the squeeze input.
Using the Particle Web IDE, I wrote code to control the NeoPixel strip based on the tactile input. Each level of squeeze pressure corresponded to a specific light pattern or color. For example, a gentle squeeze triggered a warm orange light, while a harder squeeze produced a thunderstorm-like flashing blue and yellow effect. The code utilized the Adafruit NeoPixel library to manage the light animations and the analogRead function to interpret the sensor input.
Here is my code snippet for the light animations:
Outcome
The final result was a functional ambient orb system with a tactile input mechanism and dynamic lighting effects. Users could interact with the bird element to express emotional states, and the corresponding light patterns would represent their mood. This project helped me gain a deeper understanding of integrating tactile sensors with visual outputs, using libraries to create dynamic animations, and the potential of IoT devices for communication and expression.
Reflection
By completing this project, I also improved my hardware prototyping and coding skills on the Particle platform, further building my confidence in designing interactive IoT systems, and will using this skill development prototype into my final IoT Design Project.
By completing this project, I also improved my hardware prototyping and coding skills on the Particle platform, further building my confidence in designing interactive IoT systems, and will using this skill development prototype into my final IoT Design Project.