High Level Design

The Cooking Coach consists of the 320x200 pixel Seiko 321D LCD display, an ATMEL AT90s8515 MCU, a serial connection, and 7 push buttons. The user interface consists of a series of menus that group the Cooking Coach's functions into relevant blocks. Four push buttons serve as soft keys, two control the scrolling action, and the last button acts as an automatic shut-off for all appliance controls. When the unit is turned on, the main menu appears. From this menu, the user can choose either:
  1. the Options Menu
  2. to Generate List
  3. select a recipe
Menu Construct
  1. Options Menu
    1. Control Oven
    2. Control Stove
    3. Control Toaster
    4. Control Coffee Maker
    These controls can be turned on or off.

    Button 1 = Main Menu, Button 2 = On,
    Button 3 = Off

  2. Shopping List
    1. recipe 1
    2. .....
    3. recipe n
    Select the recipes for which you want to generate lists.
    Then display the shopping list.

    Button 1 = Main Menu, Button 2 = Select,
    Button 3 = Unselect, Button 4 = Display

      In Display mode
      1. item 1
      2. ...
      3. item n
      Check off the items as you pick them up.

      Button 1 = Main Menu, Button 2 = Redo List,
      Button 3 = Check, Button 4 = Uncheck

  3. Select Recipe
    1. recipe 1
    2. ...
    3. recipe n
    Scroll to the recipe you wish to cook and press select

    Button 1 = Main Menu, Button 2 = Select,
    Button 3 = Refresh, Button 4 = Delete

      In Select mode
      1. step 1
      2. ...
      3. step n
      Scroll through the steps as you execute them.
      When you arrive at a step that requires an action (e.g. preheating the oven) Button 3 will be the execute key. Once the action occurs, Button 3 will clear.
      When you arrive at a step with a timing function, Button 3 will control the start of Timer 1 and Button 4 will control the start of Timer 2.

      Button 1 = Main Menu, Button 2 = New,
      Button 3 = Execute/Timer 1, Button 4 = Timer 2

Timing
The timing sequences are tied to specific actions. Therefore, the end of a timing cycle is used to determine when to change an appliance setting or ring a buzzer.