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.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply