Skip to main content
Would like to find the available washing machine during busy hours? Our team is trying to design a helper system to check the status of the washing machines in the halls.

Parts list

Qty Product Part number
1 Raspberry Pi 3 Model B+ SBC Computer Board 137-3331
1 Luna Optoelectronics, 100 V Through Hole LDR (Light Dependent Resistor) 20 kΩ Light, 20MΩ Dark, 2-Pin TO-18 NSL-19M51 914-6710
1 D-Link DAP-1665 AC1200 WiFi Router 883-8686
1 MPU-6050 InvenSense, 6-Axis Motion Sensor Module, I2C, 24-Pin QFN 883-7948
1 Switch glass 20.5mm reed AT 15-28 909-2648
1 ESP32(with Wi-Fi embedded)

Brief Introduction

Background Information

Indicators must be set up to measure the availability of the machine, which is related to the procedure of washing clothes.

Washing machine working description

Procedure

Door

User interface(signal light)

Machine motion

Not in use (available)

open/closed

inactive(dark)

static

Put the clothes in

open

---

static

Put in powder or laundry detergent

open

---

static

Close the door

closed

active(brighter)

static

Pay

closed

active(brighter)

static

Start (occupied)

closed

active(brighter)

dynamic(vibrate)

During washing process

(around 40 minutes)

closed

active(brighter)

dynamic(vibrate)

End task

closed

---

static

After taking out the clothes

(available)

open/closed

inactive(dark)

static

 

Determinants

Differences between working status and available are the key indicators for this project.

From the above table, it is found out that only when the door is closed, a user interface is active (bright) and the machine is in a dynamic motion, indicating that the machine is changing from available status to occupied state.

logic_diagram_9b829a8b7950765d88c8290e8e82b252d63943c6.png

And after the washing process, once the door is opened, showing that the clothes have been taken out, it changes to available status.

Indicators

To indicate the changes, corresponding sensors shall be introduced to this project. For the door which will be opened or closed, a magnetic sensor is used in the machine body and the door.

While for the user interface (light), it is straightforward that a light dependent resistor is used to indicate the changes. For the machine motion, vibration sensors or acceleration sensors are both acceptable. However, if the machine is in a uniform acceleration linear motion without vibration, it might be less sensitive for the vibration sensors to detect. Therefore, we decide to use a magnetic sensor, an acceleration sensor and a light-dependent resistor to help check the status of each element.

Therefore, monitoring three indicators requires three I/O ports for the microcontroller to gather information. Therefore, ESP32 is introduced to this project for receiving the signals.

 

Hardware diagram

hardware_diagram2_6abc2d87d685f1602dd7d636c9df35db22ec2125.jpg

 

Install Micropython and Raspbian

Micropython download (on ESP32): http://micropython.org/download

Flash Download Tools (for ESP8266 & ESP32, programming tool):https://www.espressif.com/en/support/download/other-tools

Things in mind for software preparation:

  1. Grounded the GPIO0 before programming, e.g. before powering up the ESP32. (Because for ESP32, it will detect the GPIO when power on so that to decide whether to enter the programming mode.)
  2. Then unplug the ground line after programming.
  3. For download, choose the COM port, starting location of 0×00000, then download.
  4. Finished download, open PUTTY. Choose “serial”, corresponding serial line (COM port), and speed in 115200. Then “Open”.
  5. Sent the file to ESP online http://micropython.org/webrepl/

 

Raspbian download: https://www.raspberrypi.org/downloads/raspbian/

Testing

Make sure your device is linking to the same network with Raspberry Pi, and then check the status in the URL: http://192.168.1.2:5000

Remarks: You may change the WiFi settings in the code files accordingly.

 

Further development

  1. Other public devices like dryers, microwave ovens, bathrooms, self-study rooms and so on.
  2. Online booking system.
  3. Link to the social media which might help send reminder messages.

 

Downloads

JanetZHU has not written a bio yet…