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