Giter Site home page Giter Site logo

embedded-system's Introduction

Microwave Oven Controller

Aim

This project simulates the embedded controller in a microwave oven


Project Description

The project is implemented using Tiva TM4C123GH6PM microcontroller depending on the state machine diagram attached on the github repository At the beginning, you need to enter a choice on the keypad to begin:

  1. If A is pushed on the keypad (for popcorn), the LCD should show “Popcorn” and then ​ cook for 1 minute while the remaining cook time counts down (in seconds) on the LCD, ​ then clear the LCD after cooking completes.

  2. If B (for Beef) or C (for chicken) is pushed on the keypad, the words “Beef weight?” or ​ “Chicken weight?” (respectively) should appear on the LCD. After that, the user must ​ enter an integer value between 1 and 9 on the keypad to indicate how many kilos are ​ there to be defrosted,After a valid number is entered ​ the LCD display is cleared and show the value of the weight on the LCD for 2 seconds then ​ start cooking while the remaining cook time counts down (in seconds) on the LCD o Beef is defrosted at a rate of 0.5 minutes per kilo. o Chicken is defrosted at a rate of 0.2 minutes per kilo. o If an illegal number is entered, then the LCD should show “Err” for 2 seconds, ​ then show previous message to set kilo again

  3. If D is pushed on the keypad, the words “Cooking Time?” should appear on the LCD. ​ After that the user can enter a value between 1 sec. and 30 min. to indicate the cooking time ​ required in minutes and seconds. This value is displayed on the LCD as it is entered, right ​ to left. ​ For example, pressing 1 displays 00:01, then pressing 2 displays 00:12, then pressing 4 displays 01:24, then pressing 5 displays 12:45. Press push button SW1 to clear the LCD display and show 00:00 and press SW2 to start cooking (if valid time) and counting down

    But, if the time entered is invalid, display "invalid time" on LCD for 2 sec then enter time again

  4. Switch SW3 (external push button), position 1, will simulate the microwave oven door ​ latch, where the switch being down would be simulating the open-door situation and the ​ switch being up would be simulating the door closed situation. Only when the latch is closed should the oven be able to be started. o When SW2 is pressed, the oven starts operation. o When SW1 (external push button) is pressed for first time, the oven operation ​ pauses (keeping remaining time on the display). o When SW1 is pushed for second time after pressing it for first time, the time is cleared and the cooking stops. o If SW2 is pushed after the oven is paused and the door is closed, then cooking must resume from the time it was paused. • If it is cooking, opening the door should pause the cooking and keep the remaining time on display. • When the microwave is running, the array of LEDs should be on. When it is stopped, they should go off. If paused, the array of LEDs should blink till the cooking is resumed or stopped. When the microwave completes its function and timer has counted down to zero (regular timed cooking or defrosting), the array of LEDs should flash 3 times and the buzzer should produce an audible tone/alarm during these 3 seconds


Snapshots

1

2

3

4

5

6

7

8

9

10

11

12

13

14


Setup

To run this project, you need to intsall keil version 4 -embedded system platform-


Live Demo

To see live demo for project, follow this link:

Microwave Oven Project


Contributors

Zeyad Mohamed [email protected]

Bishoy Yousry [email protected]

Hassan Khaled [email protected]

Yusuf Ebrahim [email protected]

Andrw Adel [email protected]

Basel Khaled [email protected]


License & Copyright

© Embedded Software Team ,Faculty Of Engineering Ain Shams University Cairo

​ Licensed under the MIT License


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.