Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
73 views

Arduino Programming Part7 Slides

This document introduces flow charts and top-down design for developing algorithms. It discusses flow chart symbols and provides exercises to practice drawing flow charts that break down the steps to read and display salinity values. Top-down design is presented as a technique to recursively refine problem-solving steps from general to specific.

Uploaded by

puteri.s1530
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views

Arduino Programming Part7 Slides

This document introduces flow charts and top-down design for developing algorithms. It discusses flow chart symbols and provides exercises to practice drawing flow charts that break down the steps to read and display salinity values. Top-down design is presented as a technique to recursively refine problem-solving steps from general to specific.

Uploaded by

puteri.s1530
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Arduino Programming

Part 7: Flow charts and


Top-down design
EAS 199B, Winter 2010

Gerald Recktenwald
Portland State University
gerry@me.pdx.edu
Goals

Introduce flow charts


❖ A tool for developing algorithms
❖ A tool for documenting algorithms
❖ A visual method of communicating about any sequential or
iterative process
❖ Great for visual learners!

Top-down design
❖ One technique for creating a plan for large, multi-step problems
❖ Not tied to flow charts, but can be used effectively with flow
charts

Arduino Programming Part 7: EAS 199B 2


Flow chart symbols
Terminator Start or stop a sequence.
May contain module name.

Process A step in the process or


computational algorithm

Data input Information from outside of


the algorithm or process

Decision Choose a flow path for continuing


the algorithm or process

Flow indicators Connect other elements

Connector or Junction Optional joint where flow


indicators merge

Arduino Programming Part 7: EAS 199B 3


Exercise 1

Draw the flow chart to read and display the salinity


value on the LCD monitor
Keep it simple
❖ 5 or so symbols (not counting arrows)
❖ Describe only the high level actions

Arduino Programming Part 7: EAS 199B 4


Exercise 1

Your answer goes here.

Arduino Programming Part 7: EAS 199B 5


Exercise 1

Read and display salinity

Specify constants

Initialize LCD

Read salinity

Display value to LCD

Arduino Programming Part 7: EAS 199B 6


Exercise 2

Expand the “Read salinity” step in another flow chart


❖ Keep it simple
❖ “analog data” is an external input
Read and display salinity
analog
input
Specify constants

Initialize LCD

Read salinity

Display value to LCD

Arduino Programming Part 7: EAS 199B 7


Exercise 2

Your answer goes here.

Arduino Programming Part 7: EAS 199B 8


Exercise 2

Read salinity

output pin,
input pin

Turn on power

Wait

analog
Read analog input
value

Turn off power

Stop
Arduino Programming Part 7: EAS 199B 9
Exercise 3

Expand the “Read analog input” step in another flow chart


❖ Compute the average of n readings
❖ “analog data” is an external input Read salinity

output pin,
input pin

Turn on power

Wait

analog
Read analog input
value

Turn off power

Stop

Arduino Programming Part 7: EAS 199B 10


Exercise 3

Your answer goes here.

Arduino Programming Part 7: EAS 199B 11


Exercise 3
Read average analog input

n readings,
input pin

Initialize: sum=0, counter=0

analog
Read analog input
value

Add to sum, increment counter

yes
Counter<n?

no

Average = sum/n

Stop
Arduino Programming Part 7: EAS 199B 12
Top-down design

1. Start with a general statement of the solution


a. List the main steps
b. Don’t worry yet about details
2. Pick one of the steps
a. Break this step into a manageable number of sub-steps
b. Don’t worry about too many of the details
c. Apply step 2 to one of steps just generated

Arduino Programming Part 7: EAS 199B 13


Top-down design

Recursive refinement: from general to specific


Read and display salinity
Read salinity

Specify constants output pin, Read average analog input


input pin
n readings,
Initialize LCD Turn on power input pin

Initialize: sum=0, counter=0


Read salinity Wait

analog
Display value to LCD Read analog input
value
analog
Read analog input
value
Turn off power

Add to sum, increment counter


Stop

yes
Counter<n?

Repeat refinement until individual no

steps can be translated in to


Average = sum/n

concrete actions or lines of code Stop

Arduino Programming Part 7: EAS 199B 14

You might also like