Ect109 Course Project Page 1 Of 4 Name Read This Documentation Severa
Read this documentation several times before beginning any programming. Use a systematic, modular approach to develop Project 1. Follow the procedures explained in
the lecture and developed in the class activities. Avoid a “shotgun” approach (trying any and
everything without any definite direction) to the development. Refrain from creating
“spaghetti” code (A complicated set of unstructured control structures). Include adequate
comments.
Follow these steps. Begin by reading the problem statement multiple times until you have a complete
understanding of all project requirements. Define the variables. Construct the Main flowchart. Write the functions and populate the Main flowchart. Use previously written functions,
if possible. Execute and troubleshoot the program.
Problem Statement
This project will focus on development of the controller for a newspaper dispenser. The
newspaper dispenser will accept nickels, dimes, and quarters. The LCD will display a
welcome message to each customer: “Today’s Paper Only 30 Cents.” Each time a coin is
inserted, the LCD displays the total amount deposited: “Total: $XX.” When a minimum of 30
cents is inserted, the program will cycle between two screens. The first screen will indicate
the total amount deposited: “Total: $XX.” This is displayed on the top line and the amount of
change available (“Change: $XX”) is displayed on the second line. The second screen will
display “Enjoy” on the first line and “Your Paper” on the second line in green backlight.
Depositing coins:
Nickels, dimes, and quarters are represented by the switches on the Adafruit LCD + Keypad
as shown below.
Coins
Nickel
Dime
Quarter Switch on Adafruit
Left
Right
Down
If the left button is pressed, a nickel is recorded; if the right button is pressed, the controller
records a dime; and if the down button is pressed, a quarter is recorded.
Initial Screen
The initial display will appear as in the figure below. Displaying the Running Total
As soon as the first switch is pressed (coin entered) the LCD displays the total amount
entered. If Nickel is pressed, the screen below is displayed. Note the leading zero. The program keeps a running total of the amount entered and displays the total amount
deposited after each switch is pressed (coin is entered). If Dime is now pressed, the LCD will
show the screen below. This process continues until the minimum amount of 30 cents is entered.
Displaying the Total and Change
The focus of this portion of the project is to count and display the change amount that would
be refunded along with the total amount inserted. The change amount is displayed on the
bottom row of the LCD. Keep in mind the price of the newspaper is 30 cents. The display
must look like the following. Develop “Door Open” Indication Function
When the adequate change has been entered, the Total and Change screen is displayed for
1 second and the message reading “Enjoy Your Paper” is displayed for 1 second (with a
green backlight0. The display must look like the following.
The program returns to the beginning and displays the initial screen.
Upload the completed newspaper dispenser (FiLastNameProject.py) to the weekly iLab Dropbox.
Leave a Reply
Want to join the discussion?Feel free to contribute!