Project in progress
Zenrack

Zenrack

Be one with cleanliness

  • 1,212 views
  • 1 comment
  • 4 respects

Components and supplies

A000066 iso both
Arduino UNO & Genuino UNO
×2
09590 01
LED (generic)
×12
Speaker
×1
Wtv020sd16p
×1
Econoboard
×1
Gravel
×1
Moss
×1
Wires
×1
Force Sensitive Resistors
×4
Nails (for Moisture Sensor)
×2
1/8" acrylic sheet (34" x 18") - clear
×1
1/8" acrylic sheet - black
×1
Galvanized nails
×2
100kΩ Resistor
×1
100Ω Resistor
×1

About this project

Zenrack is a dishrack that promotes cleanliness and peace. Rocks and moss line the bottom of the device that absorb water and keeps the bottom from growing mold. Moveable crossbeams embedded with force sensitive resistors sit across an acrylic box to support a variety of dishracks. A separate compartment houses the electronics to keep them dry.

When dishes are placed on the Zenrack, tranquil music will start playing to encourage the user to continue to wash dishes. Music will continue to play as the user continues to place dishes on the rack. After all dishes are done, the music will stop.

A moisture sensor keeps track of moss conditions. This is hooked up to an array of LED lights so that is the moss is amply wet (dishes are done often), the light glows blue. If the moisture levels are okay, the light is orange. If the moss is dry (dishes haven't been done for a while), the light shines red.

Untitled file

Warning: Embedding code files within the project story has been deprecated. To edit this file or add more files, go to the "Software" tab. To remove this file from the story, click on it to trigger the context menu, then click the trash can button (this won't delete it from the "Software" tab).

#include <Wtv020sd16p.h>

int resetPin = 2;  // The pin number of the reset pin.
int clockPin = 3;  // The pin number of the clock pin.
int dataPin = 4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.
const int analogInPin0 = A0;  // Analog input pin that the FSR is attached to
const int analogInPin1 = A1;  // Analog input pin that the FSR is attached to
const int analogInPin2 = A2;  // Analog input pin that the FSR is attached to
const int analogInPin3 = A3;  // Analog input pin that the FSR is attached to
const int thresh = 25;

int sensorValue0 = 0;
int sensorValue1 = 0;
int sensorValue2 = 0;
int sensorValue3 = 0;
boolean first = true;

int lastWeight = 0;
int lastTrack = 0;
const int numSongs = 2;

Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);

void setup() {
  wtv020sd16p.reset();
  Serial.begin(9600);
}

void loop() {
  sensorValue0 = analogRead(analogInPin0);
  sensorValue1 = analogRead(analogInPin1);
  sensorValue2 = analogRead(analogInPin2);
  sensorValue3 = analogRead(analogInPin3);         

  // print the results to the serial monitor:
  Serial.print("sensor0 = " );                       
  Serial.print(sensorValue0);
  Serial.print(" | sensor1 = " );                       
  Serial.print(sensorValue1);
  Serial.print(" | sensor2 = " );                       
  Serial.print(sensorValue2);
  Serial.print(" | sensor3 = " );                       
  Serial.println(sensorValue3);

  int newWeight = (sensorValue0 + sensorValue1 + sensorValue2 + sensorValue3);
  Serial.println(newWeight);
  if (first) {
    lastWeight = newWeight;
    first = false;
  } else {
    if (newWeight > lastWeight + thresh) {
      wtv020sd16p.playVoice(lastTrack % numSongs);
      lastTrack = lastTrack + 1;
    }
    lastWeight = newWeight;
  }


  // wait 2 milliseconds before the next loop
  delay(1000);
}
Wiring for audio component



Code

zenrack.inoC/C++
#include <Wtv020sd16p.h>

int resetPin = 2;  // The pin number of the reset pin.
int clockPin = 3;  // The pin number of the clock pin.
int dataPin = 4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.
const int analogInPin0 = A0;  // Analog input pin that the FSR is attached to
const int analogInPin1 = A1;  // Analog input pin that the FSR is attached to
const int analogInPin2 = A2;  // Analog input pin that the FSR is attached to
const int analogInPin3 = A3;  // Analog input pin that the FSR is attached to
const int thresh = 25;

int sensorValue0 = 0;
int sensorValue1 = 0;
int sensorValue2 = 0;
int sensorValue3 = 0;
boolean first = true;

int lastWeight = 0;
int lastTrack = 0;
const int numSongs = 2;

Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);

void setup() {
  wtv020sd16p.reset();
  Serial.begin(9600);
}

void loop() {
  sensorValue0 = analogRead(analogInPin0);
  sensorValue1 = analogRead(analogInPin1);
  sensorValue2 = analogRead(analogInPin2);
  sensorValue3 = analogRead(analogInPin3);         

  // print the results to the serial monitor:
  Serial.print("sensor0 = " );                       
  Serial.print(sensorValue0);
  Serial.print(" | sensor1 = " );                       
  Serial.print(sensorValue1);
  Serial.print(" | sensor2 = " );                       
  Serial.print(sensorValue2);
  Serial.print(" | sensor3 = " );                       
  Serial.println(sensorValue3);

  int newWeight = (sensorValue0 + sensorValue1 + sensorValue2 + sensorValue3);
  Serial.println(newWeight);
  if (first) {
    lastWeight = newWeight;
    first = false;
  } else {
    if (newWeight > lastWeight + thresh) {
      wtv020sd16p.playVoice(lastTrack % numSongs);
      lastTrack = lastTrack + 1;
    }
    lastWeight = newWeight;
  }


  // wait 2 milliseconds before the next loop
  delay(1000);
}

Comments

Similar projects you might like

Arduino Burglar

Project showcase by paolo_cravero

  • 2,376 views
  • 2 comments
  • 6 respects

Controlled Board Eraser using Arduino and 1Sheeld

Project in progress by Mahmoud Ayad

  • 7,124 views
  • 3 comments
  • 32 respects

Locks controlled via bluetooth

Project in progress by FabLab SPQwoRk

  • 2,340 views
  • 2 comments
  • 13 respects

Arduino Bluetooth Basic Tutorial

by Mayoogh Girish

  • 479,920 views
  • 49 comments
  • 284 respects

Vertical Hydroponic Farm

Project in progress by Paul Langdon

  • 55,398 views
  • 21 comments
  • 290 respects

Magnetic Levitation

Project showcase by Hao Jie Chan

  • 33,867 views
  • 66 comments
  • 69 respects
Add projectSign up / Login