Embedded Systems Formal Report
Task: For your formal report you are required to design a microcontroller-based system, to monitor the usage of a laboratory at your university. The hardware system will be based on the ATMEL development board which is used in our laboratory. All your development work will be based on the Keil Integrated Development Environment, in which you can simulate the running of your software through the Debug facility. With this facility you can also monitor I/O ports so that you can simulate the interaction of the software with I/O parts. For example,
You can use the switches as inputs to detect students coming into the laboratory, and those coming out of the laboratory.
You can use the output LEDs to indicate the count representing the number of students in the lab.
The following brief specification gives details of a simple laboratory usage monitor system. It is supposed to allow the lab supervisor to see how many students are using the lab over a period of time.
You may assume that two sets of photo-transmit/receive sensors are spaced 30cm apart as shown in the diagram below. Each sensor will indicate a logical '1' every time that an object is detected. If sensor A detects an object before sensor B, the student is entering the lab. Conversely, if sensor B detects an object before sensor A, the student is leaving the lab.
You system should be as complete as possible and should display the current reading of people inside the lab as an 8-bit binary number on the output port connected to LEDs.
You will need to take the following into consideration:
[url removed, login to view]: At Power Up if there are some students inside the lab, the software should allow you to set this number as initial condition.
[url removed, login to view] a student crosses one sensor BUT not the other THEN the count does not change and an error code is generated.
[url removed, login to view] should allow for the lab supervisor to store MAXIMUM, MINIMUM and TOTAL number of students inside the laboratory for readings taken during one full day. As there are a number of lab sessions during any one day, your system should record each separate session.
You should provide the programming in EITHER Assembly Or ‘C’ language.
If you wish you may choose a different topic to implement for your assignment. There are many possible applications of embedded control that requires a processor to take some inputs and produce outputs based some control law or process. Therefore provided that your system does this you can implement it and submit the software and report along the lines given below.
Some ideas for you:
1. Car alarm system – opening doors, shaking the car will trigger an intermittent siren alarm etc.
2. House or room alarm system – intruder detection will trigger a visual and an audible alarm and if you really want to be flash, it will send you a text message (you do not have to implement this just provide the software logic to do it.
3. Simple lift control system
4. Simple traffic and pedestrian crossing system
5. Electronic car ignistion system (if you know how an internal combustion engine works)
6. Automatic control of a miniature car to avoid obstacles. Once again you simulate the sensor input by switches and outputs by LED lights blinking or any other way of displaying a reaction to inputs.
7. Etc etc…..
Note: If you select your own system please write a brief specification and diagram similar to the one above so that I know what you are designing.
Your report should include:
Introduction (15 marks)
Design stage (20 marks)
Implementation details(20 marks)
Testing (10 marks)
Discussions and conclusions (10 marks)
Appendix: Your software listing and floppy disk (20 marks)