This is my submission for the 2022 Arduino Cloud Games. I originally wanted to program audio for this also, but I couldn't figure that out in time. This uses the moisture levels from the sensor to output different light patterns.
Project Perspective
Water Lights #cloudgames2022 is an innovative "Visual Ambience" project that bridges simple sensing with dynamic lighting. By focusing on the essential building blocks—the Arduino MKR WiFi 1010 and multi-channel RGB lighting logic—you'll learn how to synchronize aquatic lighting effects using specialized software and a robust wireless setup.
Technical Implementation: WiFi Cloud Sync and PWM Light Control
The project reveals the hidden layers of simple sensing-to-light interaction:
- Identification layer: The MKR WiFi 1010 acts as the central controller, measuring user settings via the cloud dashboard.
- Conversion layer: The system uses the high-speed WiFi protocol (via the WiFiNINA firmware) to receive data packets and coordinate mission-critical sensing tasks.
- Cloud Interface layer: The Arduino IoT Cloud acts as a high-definition data dashboard for checking light status (e.g., Color Picker, Brightness Slider).
- Processing Logic layer: The Arduino code follows a "cloud-sync" strategy: it interprets the cloud properties and matches the RGB values to provide safe and rhythmic lighting transitions.
- Communication Dialogue Loop: Status bits are sent rhythmically to the Serial Monitor during initial calibration to coordinate status.
Hardware-IoT Infrastructure
- Arduino MKR WiFi 1010: The "brain" of the project, managing multi-directional WiFi communication and coordinating cloud sync.
- MKR RGB Shield: Providing a high-precision and reliable "Visual Link" for the project.
- WS2812B LED Strip: Providing high-capacity and reliable feedback for your lighting mission.
- Waterproof Light Casing: Provides a clear and professional physical interface and protects the internal circuitry.
- 5V 2A Power Supply: Essential for providing clear and energy-efficient power for the LED clusters.
- Micro-USB Cable: Used to program the Arduino and provides the primary interface for the system controller.
Lighting Automation and Interaction Step-by-Step
The water lighting control process is designed to be very efficient:
- Initialize Workspace: Correctly set your RGB shield and MKR WiFi inside your case and connect the Arduino pins properly to the components.
- Setup Cloud Sync: In the Arduino IoT Cloud, create the dashboards and define the properties (e.g., Color, ON/OFF) to coordinate the light flow.
- Internal Dialogue Loop: The station constantly performs high-performance environmental checks and updates the cloud status in real-time.
- Visual and Data Feedback Integration: Watch your phone dashboard automatically become a rhythmic status signal, pulsing and following your lighting settings from a distance.
Future Expansion
- OLED Identity Dashboard Integration: Add a small OLED display on the back to show "Current IP" or "WiFi Signal Strength."
- Multi-sensor Climate Sync Synchronization: Connect a specialized "Sound Sensor" to perform higher-precision "Music Sync" wirelessly via the cloud.
- Cloud Interface Registration Support Synchronization: Add a specialized web-dashboard on a smartphone over WiFi/BT to precisely track and log the total lighting time.
- Advanced Velocity Profile Customization Support: Add specialized "Auto-Adjust vCore" to the code to allow triggers to be changed automatically based on user distance!
Water Lights is a perfect project for any science enthusiast looking for a more interactive and engaging lighting tool!
[!IMPORTANT] The MKR WiFi 1010 requires an appropriate WiFi Network; always ensure the Antenna is connected accurately if the range is wide to enable the cloud handshake!