Difference between revisions of "S17: Wake up Barista"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Implementation)
(Implementation)
Line 414: Line 414:
 
This section includes implementation, but again, not the details, just the high level.  For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash.  You can include sub-sections for each of your component implementation.
 
This section includes implementation, but again, not the details, just the high level.  For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash.  You can include sub-sections for each of your component implementation.
  
This product combines the clock and the coffee machine together. Using SJ one board to control the heater and the water pump to heat the water. Using SPI control the LCD screen to display time, date and alarm clock.  
+
----
There are four push button switches on the top of the Wake up Barista. From left to right are button one, button two, button three and button four. Press button one and hold until the clock time flicker to start adjusting clock time. Press button one to adjust the hour, minute or date. Button three use for decrease the time, and button four use for increase the time. Press button two once to start setting the clock alarm, twice to adjust alarm time, third to finish adjusting and fourth to set the alarm on. When clock alarm on, there is a coffee cup pattern on the bottom right corner. When the clock alarm off, the pattern will disappear. If user only wants to make coffee without set the alarm clock, press button three and hold, and press button four. If user wants to stop the product directly, press button four and hold, and press button three. When the Wake up Barista start heating water, the pattern will change from green to red. After it done, press button one to stop the alarm clock, and the pattern will change from red to green.
+
 
 +
    This product combines the clock and the coffee machine together. Using SJ one board to control the heater and the water pump to heat the water. Using SPI control the LCD screen to display time, date and alarm clock.  
 +
    There are four push button switches on the top of the Wake up Barista. From left to right are button one, button two, button three and button four. Press button one and hold until the clock time flicker to start adjusting clock time. Press button one to adjust the hour, minute or date. Button three use for decrease the time, and button four use for increase the time. Press button two once to start setting the clock alarm, twice to adjust alarm time, third to finish adjusting and fourth to set the alarm on. When clock alarm on, there is a coffee cup pattern on the bottom right corner. When the clock alarm off, the pattern will disappear. If user only wants to make coffee without set the alarm clock, press button three and hold, and press button four. If user wants to stop the product directly, press button four and hold, and press button three. When the Wake up Barista start heating water, the pattern will change from green to red. After it done, press button one to stop the alarm clock, and the pattern will change from red to green.
  
 
== Testing & Technical Challenges ==
 
== Testing & Technical Challenges ==

Revision as of 05:38, 25 May 2017

Grading Criteria

  • How well is Software & Hardware Design described?
  • How well can this report be used to reproduce this project?
  • Code Quality
  • Overall Report Quality:
    • Software Block Diagrams
    • Hardware Block Diagrams
      Schematic Quality
    • Quality of technical challenges and solutions adopted.

Wake up Barista

Wake up Barista

Abstract

When you have studied all night and need to attend a meeting in 9:00am next morning, you are running out of time to get anything done but have to get your caffeine fixed. Is there anything better than wake up with coffee aroma fills the air surrounding you? We want to introduce our product, your personal Wake Up Barista. A smart coffee maker embedded with alarm clock. Brewing the coffee or other hot drink for you right away when you jump out from your bed! This device will heating and brewing the coffee or other hot drink automatically when the alarm clock begins to buzz. Enjoy the hot and fresh drink when you just open your eyes, also take a deep breath with the tempting smell, you will love it for sure!

Objectives & Introduction

Our product has two major parts. First part is a modern alarm clock; secondly, it is able to make delicious coffee or other hot drink such as tea.
For the alarm clock part, basically, you need to set the alarm clock time through our system by using the push button switches. The real time clock inside the SJ One board will record the data you have set and start the system. When the time reaches the setting time, SJ One board is using a PWM pin to control a singing speaker device to help you wake up under a warm and sweet environment. There is another GPIO pin is set as a reset key. Moreover, we are using an small but great LCD screen to show the needed data. These are all primary functions and theory of alarm clock part.
For the barista side, it is relates inseparably with the alarm clock part we have, and it will start to produce hot drink 4 minutes before alarm set time, so that the drink will be ready when the setting time is up. Inside the barista, we are using many high level functions and sensors to control the whole system, includes high efficiency heater, water pump, buzzer, etc.

Team Members & Responsibilities

  • Chien Wei Lan
  • Mingyang Wang
  • Lin Zheng
  • Zhixuan Zhou

Schedule

Show a simple table or figures that show your scheduled as planned before you started working on the project. Then in another table column, write down the actual schedule so that readers can see the planned vs. actual goals. The point of the schedule is for readers to assess how to pace themselves if they are doing a similar project.

Week# Start Date End Date Task Status Actual Completion Date
1 3/19 3/21 Finalized Schedule and materials Completed 3/21
2 3/22 3/28 Test water pump, timer, and heater Completed 3/28
3 3/29 4/10 Design Schematics & build up prototype Completed 4/10
4 4/5 4/20 Refine prototype & Start to order required components Completed 4/20
5 4/20 5/18 Testing and Debug Completed 5/18
6 4/19 5/23 Writing project report Completed 5/23
7 5/15 5/20 Find project preparation Completed 5/20
8 5/20 5/24 Ready for Demo Completed 5/23

Parts List & Cost

Number Part Name Quantity Parts Cost
1 Heater & Water Pump 1 $29.99
2 Push Button Switch 4 $3.99
3 LCD Module 1 $19.95
4 Buzzer 1 $9.95
5 Relay Module 1 $6.68
6 PVC Board 1 $9.88
7 Matel Stands 50 $7.69
8 Jumper Wires 18 $2.69
9 Power Strip 1 $2.88
10
11

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

We use SJ one board as LPC1658 arm cortext-M microcontroller as the project platform, with built-in RTC module and external LCD module, we can show the time on the LCD and set up the alarm clock on it. By manipulating two GPIO pins, one is used to control the relay to turn the heater on, the other one is used to control the water pump for dripping hot water. The overall system block diagram and schematic as below.

Block diagram.png

Fig.1 Block Diagram of Wake Up Barista

Schem.png

Fig.2 Schematic of Wake Up Barista


In this project, we use a SPI interface LCD module. To connect the LCD with SJ one board. You have to select specific SPI ports as MOSI, SCK, SSEL(CS), RST, RS(DS), and of course VCC and GND. This LCD module can be operated from 3.3V to 5V(brighter). Choose two GPIO to control the Relay module and PWM port for activate the buzzer.

TABLE.I Pin assignment

SJ one board Port LCD Port Relay Water Pump Heater Buzzer
MOSI1 MOSI1 MISO 6
SCK1 SCK1 SCK 7
CS P1.19 CS 3
RST P1.20 RST 4
RS P1.22 D/C 5
3V3 VCC 1 VCC
GND GND 2 RELAY GND GND
PWM0 PWM0 Buzzer PWM
5V RELAY 5V
RELAYCTL1 WP_CTL WP_CTL
RELAYCTL2 HTR_CTL HTR_CTL

Hardware Interface

SPI Interface:

We use SPI interface LCD module to implement the alarm clock. SPI is a simple bus, exchange a byte via MOSI and MISO. CS pin is used for control slave device. The SPI pin assignment as below.

SJ one board Port LCD Port
MOSI1 MOSI1 MISO 6
SCK1 SCK1 SCK 7
CS P1.19 CS 3
RST P1.20 RST 4
RS P1.22 D/C 5
3V3 VCC 1
GND GND 2

PWM Interface:

PWM is a digit output to emulate analog output with duty cycle. We can control the buzzer with PWM.

SJ one board Port Buzzer Port
PWM2 PWM2 PWM 1


GPIO interface:

SJ one board Port Button Port Relay
GPIO_B1 0.0 B1 1
GPIO_B2 0.1 B2 2
GPIO_B3 2.6 B3 3
GPIO_B4 2.7 B4 4
GPIO_H 1.28 Heater

Relay

GPIO_W 1.29 WaterPump

Relay

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.


   This product combines the clock and the coffee machine together. Using SJ one board to control the heater and the water pump to heat the water. Using SPI control the LCD screen to display time, date and alarm clock. 
   There are four push button switches on the top of the Wake up Barista. From left to right are button one, button two, button three and button four. Press button one and hold until the clock time flicker to start adjusting clock time. Press button one to adjust the hour, minute or date. Button three use for decrease the time, and button four use for increase the time. Press button two once to start setting the clock alarm, twice to adjust alarm time, third to finish adjusting and fourth to set the alarm on. When clock alarm on, there is a coffee cup pattern on the bottom right corner. When the clock alarm off, the pattern will disappear. If user only wants to make coffee without set the alarm clock, press button three and hold, and press button four. If user wants to stop the product directly, press button four and hold, and press button three. When the Wake up Barista start heating water, the pattern will change from green to red. After it done, press button one to stop the alarm clock, and the pattern will change from red to green.

Testing & Technical Challenges

  • 1. Control the heater and water pump.
  • 2. Work on RTC timer on SJ one Board.
  • 3. Control the speaker and vibrator as alarm clock.
  • 4. Display the clock time with LCD module


My Issue #1

Discuss the issue and resolution.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

List any references used in project.

Appendix

You can list the references you used.