Project

# Title Team Members TA Documents Sponsor
24 Automatic Mirror for Plant Lighting
Lucian Bell
Mateus Trigo
Sanghoon Kim
Tianda Huang
Team Members:

Lucian Bell (lb25)

Mateus Trigo (mtrigo2)

Sanghoon Kim (sk82)

Problem:

There are many times where an apartment or room does not have a south-facing window, but the resident may want to grow a plant that requires direct sunlight to thrive. Light from an east, west, or north facing window may be adequate for a full-shade plant, but a partial-sun or full-sun plant may not be getting enough direct sunlight. This is a greater issue during winter in the northern hemisphere, where the sun shifts southward in the sky and the hours of daylight decrease. If there was a way for plants in non-south facing windows to get a few more hours of direct sunlight, then full-sun and partial-sun plants could be successfully grown in these windows which would give the resident more freedom to customize their room.

Solution:

We will build a device that uses a sun-tracking flat mirror to redirect sunlight towards the plant in a non-south facing window or other shady space. The device will be powered by a battery, which will allow it to be mounted outside of a window or be placed on a yard or deck. It will use a GPS signal and compass to determine the time, location, and orientation of the device. This data will be used by a microcontroller to determine the position of the sun in the sky relative to the device. On setup, the device will be calibrated to reflect the sun at the desired angle, and the microcontroller will move the mirror to continue reflecting the sun at this angle. The mirror will be attached to a rod with a base, and be controlled by two stepper motors to allow the mirror to change its orientation. The base will rotate to allow for rotation parallel to the ground and there will be a motor near the top of the rod that allows for rotation perpendicular to the ground. The device will also use a light sensor to determine when it is night time or the weather is poor so that it can save energy. This device will be able to provide the extra sunlight that some plants need to thrive in shady spaces.

Main Components:

Motors and Frame

The frame for the device will consist of a base, a rod, and the mirror itself. One stepper motor will be used to rotate the base to allow for rotation parallel to the ground. Another stepper motor will be used near the top of the rod to allow the mirror to rotate perpendicular to the ground. The stepper motors we are planning on using are 17HS15-1504-ME1K, which include rotational encoders to ensure the motor’s rotation is accurate. DRV8434 stepper motor drivers will also be used to convert the low voltage and current signals from the MCU to higher voltage and current signals for the motors.

Sensors

The device will use multiple sensors to determine the position, orientation of the device, light level, and time. All of these sensors will be attached to the PCB and will use I2C serial communication to send signals to the microcontroller. The LIS2MDL sensor is a compass, and will be used by the device to find magnetic north. The microcontroller will use this to convert the rotation of the base to real-world cardinal directions. The MAX-M10S-00B sensor will receive a GPS signal and send the time, latitude, and longitude to the MCU. These signals will be used by the MCU to determine the position of the sun in the sky. The final sensor is the VEML7700-TT light sensor, which will be used to measure the amount of light the device is receiving. This will allow the device to stop rotating in bad weather or at night, which will help it to save energy.

Microcontroller and Firmware

We will use a STM32G071CBT6 microcontroller mounted to the PCB to control the device and process signals from sensors. This microcontroller is low-power since keeping track of the sun position and light level is not computationally intensive, and this will reduce the cost and power consumption of the device. It also has support for I2C serial communication, which we will use to communicate with the sensors. We will write firmware for the microcontroller in C/C++ to make effective use of its small program memory. The firmware will include calibration behavior to calculate the target angle for the reflected light based on the mirror’s current position and the position of the sun. A button or other interface will be added to the PCB to start the calibration process. The firmware will use equations to convert the time, latitude, and longitude from the sensors to the sun’s angle in the sky, and it will position the mirror so that the sun’s light will be reflected to the target angle. If the sun is at a position that can’t be reflected to the target angle, the motors will not move and the device will wait for the sun to move to a position that can be reflected to the target angle. The firmware will also use the light level from the sensors to determine if the motors should not be moved during bad weather or at night to save energy.

Power

The device will use an 3.6V 18650 lithium-ion battery cell for power to accommodate the high-current requirements of the motors. The use of a battery will allow our device to operate outside and further from electrical outlets, which gives the device more flexibility. It is also more convenient than using a power cable, since the user will not have to worry about cable management. To meet the needs of different voltage components, our device will also step up (boosting) and step down (buck) circuits to convert the battery voltage to higher and lower voltages.

Criteria for Success:

Our device will be tested on a flat surface outside with multiple marked targets to measure the accuracy of its light reflection. Alternatively, if the weather is poor, a laser or artificial light can be shined from the sun’s angle in the sky to simulate the sun indoors. The first set of tests are meant to evaluate the device’s ability to calculate the position of the sun and target point accurately. The second set of tests are meant to evaluate the device’s ability to correctly move the mirror to reflect light to a given target point and to evaluate correct sensor behavior.

Sun Position and Target Point Calculation:
1. The device should be able to calculate the position of the sun to within 5 degrees of error to the known position of the sun at the current time and location.
2. The device should be able to calculate the position of the sun to within 5 degrees of error to the known position of the sun at 2 different simulated positions and 2 different simulated times.
3. The device should be able to determine the angle of the target during calibration within 5 degrees of error to the real target.


Real-World Performance:
1. The device should be able to successfully reflect light from the simulated or real sun to a manually entered target point at three different times in the day.
2. The device should be able to run for three hours and keep light from the simulated or real sun on the manually entered target point for 90% of the time.
3. The device should not move the motors when a manually entered target point is outside of the mirror’s reflection range within 5 degrees of error.
4. The device should stop moving the motors if the light sensor is covered.
5. The device should be able to determine the cardinal direction of the mirror’s focus within 5 degrees of error.

Healthy Chair

Ryan Chen, Alan Tokarsky, Tod Wang

Healthy Chair

Featured Project

Team Members:

- Wang Qiuyu (qiuyuw2)

- Ryan Chen (ryanc6)

- Alan Torkarsky(alanmt2)

## Problem

The majority of the population sits for most of the day, whether it’s students doing homework or

employees working at a desk. In particular, during the Covid era where many people are either

working at home or quarantining for long periods of time, they tend to work out less and sit

longer, making it more likely for people to result in obesity, hemorrhoids, and even heart

diseases. In addition, sitting too long is detrimental to one’s bottom and urinary tract, and can

result in urinary urgency, and poor sitting posture can lead to reduced blood circulation, joint

and muscle pain, and other health-related issues.

## Solution

Our team is proposing a project to develop a healthy chair that aims at addressing the problems

mentioned above by reminding people if they have been sitting for too long, using a fan to cool

off the chair, and making people aware of their unhealthy leaning posture.

1. It uses thin film pressure sensors under the chair’s seat to detect the presence of a user,

and pressure sensors on the chair’s back to detect the leaning posture of the user.

2. It uses a temperature sensor under the chair’s seat, and if the seat’s temperature goes

beyond a set temperature threshold, a fan below will be turned on by the microcontroller.

3. It utilizes an LCD display with programmable user interface. The user is able to input the

duration of time the chair will alert the user.

4. It uses a voice module to remind the user if he or she has been sitting for too long. The

sitting time is inputted by the user and tracked by the microcontroller.

5. Utilize only a voice chip instead of the existing speech module to construct our own

voice module.

6. The "smart" chair is able to analyze the situation that the chair surface temperature

exceeds a certain temperature within 24 hours and warns the user about it.

## Solution Components

## Signal Acquisition Subsystem

The signal acquisition subsystem is composed of multiple pressure sensors and a temperature

sensor. This subsystem provides all the input signals (pressure exerted on the bottom and the

back of the chair, as well as the chair’s temperature) that go into the microcontroller. We will be

using RP-C18.3-ST thin film pressure sensors and MLX90614-DCC non-contact IR temperature

sensor.

## Microcontroller Subsystem

In order to achieve seamless data transfer and have enough IO for all the sensors we will use

two ATMEGA88A-PU microcontrollers. One microcontroller is used to take the inputs and

serves as the master, and the second one controls the outputs and acts as the slave. We will

use I2C communication to let the two microcontrollers talk to each other. The microcontrollers

will also be programmed with the ch340g usb to ttl converter. They will be programmed outside

the board and placed into it to avoid over cluttering the PCB with extra circuits.

The microcontroller will be in charge of processing the data that it receives from all input

sensors: pressure and temperature. Once it determines that there is a person sitting on it we

can use the internal clock to begin tracking how long they have been sitting. The clock will also

be used to determine if the person has stood up for a break. The microcontroller will also use

the readings from the temperature sensor to determine if the chair has been overheating to turn

on the fans if necessary. A speaker will tell the user to get up and stretch for a while when they

have been sitting for too long. We will use the speech module to create speech through the

speaker to inform the user of their lengthy sitting duration.

The microcontroller will also be able to relay data about the posture to the led screen for the

user. When it’s detected that the user is leaning against the chair improperly for too long from

the thin film pressure sensors on the chair back, we will flash the corresponding LEDs to notify

the user of their unhealthy sitting posture.

## Implementation Subsystem

The implementation subsystem can be further broken down into three modules: the fan module,

the speech module, and the LCD module. This subsystem includes all the outputs controlled by

the microcontroller. We will be using a MF40100V2-1000U-A99 fan for the fan module,

ISD4002-240PY voice record chip for the speech module, and Adafruit 1.54" 240x240 Wide

Angle TFT LCD Display with MicroSD - ST7789 LCD display for the OLED.

## Power Subsystem

The power subsystem converts 120V AC voltage to a lower DC voltage. Since most of the input

and output sensors, as well as the ATMEGA88A-PU microcontroller operate under a DC voltage

of around or less than 5V, we will be implementing the power subsystem that can switch

between a battery and normal power from the wall.

## Criteria for Success

-The thin film pressure sensors on the bottom of the chair are able to detect the pressure of a

human sitting on the chair

-The temperature sensor is able to detect an increase in temperature and turns the fan as

temperature goes beyond our set threshold temperature. After the temperature decreases

below the threshold, the fan is able to be turned off by the microcontroller

-The thin film pressure sensors on the back of the chair are able to detect unhealthy sitting

posture

-The outputs of the implementation subsystem including the speech, fan, and LCD modules are

able to function as described above and inform the user correctly

## Envision of Final Demo

Our final demo of the healthy chair project is an office chair with grids. The office chair’s back

holds several other pressure sensors to detect the person’s leaning posture. The pressure and

temperature sensors are located under the office chair. After receiving input time from the user,

the healthy chair is able to warn the user if he has been sitting for too long by alerting him from

the speech module. The fan below the chair’s seat is able to turn on after the chair seat’s

temperature goes beyond a set threshold temperature. The LCD displays which sensors are

activated and it also receives the user’s time input.

Project Videos