Project in progress
Zenrack

Zenrack

Be one with cleanliness

  • 1,122 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

Team Zenrack

Andrewbwsmall
Andrew Fang
  • 3 projects
  • 2 followers
Emily
Emily To
  • 3 projects
  • 3 followers
10502012 10152223825328342 4535708388479171255 n
Paige Xio Alvarez
  • 1 project
  • 6 followers
14
Julia Solano
  • 3 projects
  • 10 followers
10368250 10152802284917603 3014409287660173060 n
Stanford Stickney
  • 3 projects
  • 4 followers

Published on

February 24, 2015

Members who respect this project

Merlin arch 4fnrmpnf6j34847 405141658588 2169074 nFmjranxobaean4yxfdya

and 1 other

See similar projects
you might like

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,473 views
  • 3 comments
  • 32 respects

Locks controlled via bluetooth

Project in progress by FabLab SPQwoRk

  • 2,053 views
  • 2 comments
  • 12 respects

Arduino Bluetooth Basic Tutorial

by Mayoogh Girish

  • 479,879 views
  • 49 comments
  • 284 respects

Vertical Hydroponic Farm

Project in progress by Paul Langdon

  • 55,392 views
  • 21 comments
  • 290 respects

Magnetic Levitation

Project showcase by Hao Jie Chan

  • 35,092 views
  • 66 comments
  • 72 respects
Add projectSign up / Login