You are on page 1of 14

Embedded Software Design

Assignment
Objectives
● Write assembly programs to obtain a given functionality

● Identify different hardware components that can be used with PIC


microcontrollers

● Be familiar with interfacing techniques

Evaluations
Evaluations are based on following points. Hardware implementation
is not expected.

● System design

 State diagrams

 Flow charts

● Assembly language programs

 Implemented functionalities

 Software simulations (demonstrations)

● Selected hardware components

 Specifications of hardware components

 Justification of selections (why do you select the same


component over others available)

● Estimated budget for the final product


Important dates
Presentations and demonstrations are on 11th and 12th of November
2010. Exact schedule will be given later.

Each group will be given a maximum of 20 minutes.

Presentation should include all the points mentioned under


“Evaluations” except code segments and software simulations. However,
software simulations should be carried out simultaneously with the
presentation.

Project details
All projects are listed and numbered in the same order as the project
group numbers.

Ex: Group 1 → Project 1

Find the basic requirements here. You are free to make reasonable
assumptions and extend the project scope accordingly. Please highlight
them during your demonstration/presentation.
1. Analog Clock using LEDs
a. Features

i. Use two concentric circles with 60 Dual Color LEDs on the


outer circle and 12 Single Color LEDs in the inner circle.

ii. Outer Circle indicates Seconds and Minutes

iii. Inner Circle indicates Hours

2. Triangular Wave generator using PIC 16F84


a. Features

i. Generate a square pulse train from the microcontroller

ii. Frequency and duty cycle are adjustable

iii. Integrate this pulse train using an op-amp based


integrator circuit and create the triangular wave

3. Number base converter


a. features

i. numbers are given using a keypad

ii. use a suitable method to specify the base

iii. input number and the output number with their


corresponding bases should be displayed on an LCD

iv. bases to be supported are the followings

1. Binary

2. Decimal

3. Octal

4. Hex decimal
4. I2C based text display system
a. A keypad and an array of 15 segment displays are interfaced via I2C
protocol, to MCU

b. Keypad should accommodate all the English letters

c. An enter button is available in keypad to denote the end of the


string

d. Use indicator LEDs to notify any messages such as “max


length exceeded”, “Enter is not pressed yet”

5. Barrier detection and analysis


a. A device that can detect the width and height of an obstacle in its
path

b. Use an LCD to display the results

6. Shape recognizing system


a. A shape (a polygon) within a certain range, say for instance
5cmx5cm, in dimensions should be identified

b. The detected shape should be presented in hyper terminal

7. Temperature monitoring device


a. features

i. option for setting the temperature unit (Celsius or Fahrenheit)

ii. Current temperature display in the configured unit

iii. User setting up temperature range as two distinct values for


lower bound and upper bound

iv. Unique alarm signal for temperature dropping below lower


bound

v. Unique alarm signal for temperature raising above the


upper bound
8. Sinusoidal signal analyzer
a. Description
i. In this project students are expected to build a device that
can determine the frequency, amplitude and peak to peak
voltage of an applied sinusoidal signal and display the result
in LCD
b. Features
i. User can select the format of units that he expects the
result to be (kilo hertz, mega hertz etc)
9. Ultrasonic reverse sensor
a. features

i. Should display the distance in cm on an LCD

ii. Should provide a pattern of beeps to indicate the


distance when less than 20, 10 and 5

10. Heat sensitive FAN


a. Speed of the fan increases as temperature increases and vice
versa

b. Use PWM module

c. Display the current temperature and fan speed on LCD

11. Traffic light system for a 'T' Junction


a. Count down timer with display (00 to 99)

b. Pedestrian crossings across two sides

c. Blinking amber light after 11PM and up to 6AM


12. Character case converter
a. features

i. input string is given through the hyper terminal of a PC

ii. for each alphabetic character in the string its case


should be converted such that an upper case letter
becomes a lowercase letter and a lowercase letter
becomes an uppercase letter

iii. it should be transmitted over RS 232 port and the


converted string should be returned to the same
terminal screen in a new line

iv. the max length of the input string is 50

v. non alphabetic characters should not be altered and


they should remain in the out put string as they are

13. Proximity map


a. A device that can monitor the surrounding in 360 degrees and
identify the closest object’s distance in every 5 degrees resolution

b. The observed results should be displayed in hyper terminal


indicating the angle and the distance in a comprehensive
manner

14. Fibonacci sequence generator


a. Features

i. User enter a positive integer(say n) and selects the


forward or backward direction

ii. Fibonacci sequence up to nth term is generated and


displayed on hyper terminal

iii. If the direction is forward, sequence should start from


term 1 and progress upward

iv. Otherwise sequence should start from term n and


progress downward
15. Text based chatting system using 2
PIC16F877 devices
a. Features

i. Chat system using asynchronous serial communication

ii. Max length of a string/sentence is limited to 12


characters

iii. Recent chat history of 5 lines on both sides

iv. Use hyper terminal as the display

16. Implement a symbol(say characters from


A to H) matching game
a. Some symbols are assigned to a 4x4 matrix

b. There are only 8 distinct symbols and therefore always the same
symbols is found in two cells of the matrix

c. This matrix is mapped to 4x4 key pad

d. When a user presses a button, the symbol should be displayed

e. The challenge for the user is to find matching symbols in two


consecutive button presses and score a point

f. The total time to score 8 points is counted and displayed

g. Current time should be displayed for users convenience

h. The system should always memorize the minimum time and the
user’s name and that should be updated as multiple users play the
game

i. The order of the symbols, arranged in matrix and the set of symbols
used should change for each game.

j. You may use a maximum time period for “game over”


17. Simple number guessing game
a. Description

i. This is a simple game that a user can guess the number that
PIC is thinking about in a pre determined amount of attempts.

b. Features

i. PIC generates a random number in a particular range such as


from 0 to 99.

ii. User can set the number of attempts he need to try to


successfully guess the number

iii. Then PIC prompts the user to enter his guess

iv. If it is correct, a message should be displayed to congratulate


him.

v. Else he can try the next attempt.

vi. This process is repeated until the number of attempts is


expired or user guess is correct.

vii. If user fails all attempts the number PIC thought initially
should be displayed.

18. Integer comparison game


a. Description

i. System generates two integers and these integers can


be negative or positive

ii. Negative numbers are displayed with the absolute


values operator

1. Ex: |-1429|

iii. Player has to say if the first number is greater than, less
than or equal to the second

iv. System records the time from the beginning to the end
of the game

v. Any wrong comment ends the game

vi. Player who correctly mention all the comparison in a


given period of time (say 3 minutes) wins the game
vii. Player who identify maximum number of comparisons in
the given time period holds the record

viii. Record holder’s name and his/her achievement are


displayed whenever a new game is started

19. Digital clock


a. features

i. Time of day

1. 12 hours format

2. 24 hours format

ii. Month and week

iii. Time reset option

iv. Birthday greeting message

v. Alarm function

vi. Stop watch with following features

1. Time display as MM:SS:msmsms

2. Start

3. Pause

4. Resume

5. Stop

6. Lap time for 5 laps

7. Average lap time


20. Simple statistics calculator
a. Features

i. User can enter the number of integer data items

ii. User can then enter the integer data set

iii. Following results are expected as outputs

1. Mode

2. Mean

3. Median

4. Standard deviation

5. Variance

6. Co-efficient of variance

iv. User can select the result he needs

21. Units converter


a. Features

i. Convert quantities from British unit SI units and vice


versa

ii. List of conversions should include length, mass, volume,


area and temperature

iii. User can select the desired conversion

iv. User can enter the quantity

v. Button to give the “convert” command

vi. All information should be displayed on an LCD


22. Multi channel Digital voltmeter for the range 0
-5V
a. Features

i. Voltage inputs are given from 5 different inputs

ii. Measured voltage of each channel is displayed on the


LCD

iii. Controls for measure and reset functions for each


channel

23. Digital weighing device using PIC16F877


a. Features

i. suggesta method to convert a weight in to a


measurable electrical signal

ii. Display the Weight in grams using LCD

iii. Accuracy should be +/- 10 grams

24. Modeling a rail gate controller


a. Description

i. A rail gate system with three rail tracks should be


modeled with the signal lights and alarms

b. Features

i. Train passing through should be tracked on both sides of


the rail gate area; i.e. the entrance of train to and the
departure of the train from the main road

ii. Gates should be closed when the train approaches


towards and remain closed till it leaves the main road
entirely

iii. Alarm should be activated as long as gate is closed with


the proper signal lights
25. Light dimmer for a 10 LED array using PWM
a. Features

i. Study PWM module

ii. The brightness should be controlled using up and down


buttons.

iii. Current brightness level should be indicated on 7-


segments using a number between 0 and 99.

26. Digital Ohm meter


a. study how an ohm meter measures resistance

b. you may use a set of resistance values in a certain range that


can be measured accurately in your system

c. display the result in LCD with units

27. Create a timed DC motor controller


a. User input the time that motor requires to rotate in minutes

b. Motor is driven that time and stops

c. User can enter a time duration via a keypad

d. System should verify the entered time is valid

e. Motor starts running as soon as time is entered properly

f. An abort button can stop the motor at any time

g. LCD display to prompt the user to enter time

h. Same display should give any error messages if the entered time is
not valid

i. Time left for the motor to run from current time should be displayed
when motor is running
28. ASCII character display using an 8*8 (or more)
LED matrix
a. Features

i. Hex value of the ASCII code will be entered via Key Pad

ii. Correct ASCII character should be displayed on the LED


Array

29. School bell controller


a. This is to control an electronic bell that controls the school
time table

b. Features

i. Separate tones should be used to denote school start


and end time

ii. The end of a period should be denoted accordingly

iii. Interval should be denoted with specific tones

iv. Alert signals should be provided to be used


asynchronously

30. Vehicle speed detector


a. Description

i. Measure a vehicle’s speed using PIC16F84A

b. features

i. Measure without any physical contact with vehicle

ii. Display the measured speed on 3 seven segment displays.

iii. Light up warning lights/activate alarms when the speed


exceeds 70kmph
31. LUX meter using a photo diode as the light
sensor
a. features

i. Support the visible light range

ii. Display the intensity of light using Lux as the unit of


measurement

32. Digital phone book which can store 10 names


and phone numbers
a. Features

i. Use EEPROM to store data

ii. Add / Modify / Delete Records using a Keypad

iii. Record Search should be using the first letter + arrow


keys

33. Access control system based on USER ID and


PASSWORD

a. Features
i. Allow 20 users

ii. Admin can add new users + delete users + reset password

iii. Access Granted and Access Denied Messages should be displayed

iv. Door Open / Close status should be indicated using an LED

v. Use a relay to represent the door control circuit

34. Fan Controlling system using an IR Transmitter


and an IR Receiver
a. Features

i. Implement both transmitter and receiver

ii. Fan should have the start/stop commands and four


speed levels