slide 1 599 menlo drive suite 100 rocklin, ca 95765
TRANSCRIPT
Slide 1
www.parallax.com599 Menlo Drive
Suite 100Rocklin, CA 95765
Slide 2
Copyrights and TrademarksCopyrights and TrademarksThis documentation is copyright 2004 by Parallax, Inc. By downloading or obtaining a printed copy of this documentation or software you agree that it is to be used exclusively with Parallax products. Any other uses are not permitted and may represent a violation of Parallax copyrights, legally punishable according to Federal copyright or intellectual property laws. Any duplication of this documentation for commercial uses is expressly prohibited by Parallax, Inc. Duplication for educational use is permitted subject to the following conditions: Parallax grants the user a conditional right to download, duplicate, and distribute this text without Parallax's permission. This right is based on the following conditions: the document, or any portion thereof, may not be duplicated for commercial use; it may be duplicated only for educational purposes when used solely in conjunction with Parallax products, and the user may recover from the student only the cost of duplication.
BASIC Stamp, Stamps in Class, and Board of Education are registered trademarks of Parallax, Inc. If you decide to use the names BASIC Stamp, Stamps in Class, and/or Board of Education on your web page or in printed material, you must state that "BASIC Stamp is a registered trademark of Parallax, Inc.," "Stamps in Class is a registered trademark of Parallax, Inc.," and/or "Board of Education is a registered trademark of Parallax, Inc.," respectively, upon the first appearance of the trademark name. Other brand and product names are trademarks or registered trademarks of their respective holders.
Slide 3
IntroductionIntroduction
How many How many microcontrollers microcontrollers did you use did you use today?today?
What’s a BASIC What’s a BASIC Stamp?Stamp?
Excerpts from pages 1, 2, and 14
For the ClassroomFor the Classroom
BASIC Stamp and BASIC Stamp and Board of EducationBoard of Education
BASIC Stamp BASIC Stamp HomeWork BoardHomeWork Board
Slide 4
Stamps In Class CurriculumStamps In Class Curriculum
Cited in Further Investigation Sections
Slide 5
Chapter #1: Getting StartedChapter #1: Getting Started
Parallax CD - where to get:
• BASIC Stamp Editor
• Software BASIC Stamps Windows…
• What’s a Microcontroller
• Documentation Educational Curriculum
• BASIC Stamp Manual
• Documentation BASIC Stamp
www.parallax.com - where to get:• BASIC Stamp Editor
• Downloads BASIC Stamp Software
•What’s a Microcontroller
• Downloads Educational Curriculum
•BASIC Stamp Manual
• Documentation BASIC Stamp
DocumentationExcerpts from pages 5 and 18
Slide 6
IntroductionIntroduction
Amazing inventions with the BASIC StampAmazing inventions with the BASIC Stamp
Excerpts from pages 2 - 4
Slide 7
Chapter #1: Getting StartedChapter #1: Getting Started
Com
1 0 0 1 1
0 1
0 1 1 1 0 0
1 1
0 0 0 0 0
0 0 1 1 0 0 0 0 1
1 0
1 0
1 0
1 0
0 1
0
0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 00
www.stampsinc lass.com
Reset
STAMPS CLASSin
B o a rd o f E d u c a tio n
P wr
9 V dcB a tte ry
6-9V D C
Sou tSinATNVssP0P1P2P3P4P5P6P7
P11
P9P8
Vin
P10
P15P14P13P12
VddRstVss
BlackRed
X4 X5
15 14 13 12
1
X1
VssP1P3P5P7P9P11P13P15Vin
VssP0P2P4P6P8P10P12P14Vdd
U 1
T M
0 1 2
© 2000 -2003
Vdd
P15P14P13P12P11P10P9P8P7P6P5P4P3P2P1P0
X2
X3
Vdd VssVin
Alk
alin
e B
atte
ryP
ow
erce
ll
PBASIC
Progra
m
Write a PBASIC program then
download it to the BASIC Stamp
Plug BASIC Stamp into Board of Education (if it is not already plugged in), then connect serial cable and battery or power supply.
Connect serial cable to computer COM port.
Excerpts from pages 5 and 18
Alk
alin
e B
atte
ryP
ow
erc
ell
2
1
www.stampsinc lass.com
Reset
STAMPS CLASSin
B o a rd o f E d u c a tio n
P wr
9 V dcB a tte ry
6-9V D C
Sou tSinATNVssP0P1P2P3P4P5P6P7
P11
P9P8
Vin
P10
P15P14P13P12
VddRstVss
BlackRed
X4 X5
15 14 13 12
1
X1
VssP1P3P5P7P9P11P13P15Vin
VssP0P2P4P6P8P10P12P14Vdd
U 1
T M
0 1 2
© 2000 -2003
Vdd
P15P14P13P12P11P10P9P8P7P6P5P4P3P2P1P0
X2
X3
Vdd VssVin
3 4or
Slide 8
Chapter #1: Getting StartedChapter #1: Getting Started
' What's a Microcontroller - FirstProgram.bs2 ' BASIC Stamp sends message to Debug Terminal.' {$STAMP BS2}' {$PBASIC 2.5}DEBUG "Hello, it's me, your BASIC Stamp!"ENDRun the
BASIC Stamp Editor
Software Enter this program
Click the ‘Run’
button
Click the PBASIC
2.5 button
Click the BASIC
Stamp 2 Button
Excerpts from pages 20-23
Slide 9
Chapter #1: Getting StartedChapter #1: Getting StartedClick the
‘Run’ button
The Debug Terminal appears with a message sent by the BASIC Stamp
1 0 0 1 1
0 1
0 1 1 1 0 0
1 1
0 0 0 0 0
0 0 1 1 0 0 0 0 1
1 0
1 0
1 0
1 0
0 1
0 0 1
1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 00
www.stampsinc lass.com
Reset
STAMPS CLASSin
B o a rd o f E d u c a tio n
P wr
9 V dcB a tte ry
6-9V D C
Sou tSinATNVssP0P1P2P3P4P5P6P7
P11
P9P8
Vin
P10
P15P14P13P12
VddRstVss
BlackRed
X4 X5
15 14 13 12
1
X1
VssP1P3P5P7P9P11P13P15Vin
VssP0P2P4P6P8P10P12P14Vdd
U 1
T M
0 1 2
© 2000 -2003
Vdd
P15P14P13P12P11P10P9P8P7P6P5P4P3P2P1P0
X2
X3
Vdd VssVin
Alk
alin
e B
atte
ryP
ow
erce
llHello,
it’s me
DEBUG "Hello, it's me…"
The command:
Causes the BASIC Stamp to send a message to the Computer
Excerpts from pages 20, 22
Slide 10
Chapter #1: Getting StartedChapter #1: Getting Started
' What's a Microcontroller - FirstProgram.bs2 ' BASIC Stamp sends message to Debug Terminal.
' {$STAMP BS2}' {$PBASIC 2.5}
DEBUG "Hello, it's me, your BASIC Stamp!"END
comment
comment
Stamp 2 directivePBASIC 2.5
directive
DEBUG command
END command
Excerpts from pages 20-21, 23-24, 26-27
Slide 12
Chapter #2: Lights on – Lights off Chapter #2: Lights on – Lights off
P14
Vss
LED470
P15
P13P12P11P10P9P8P7P6P5P4P3P2P1P0
P14
X 2
X 3
V dd V ssV in
+
BASIC Stamp – LED Circuit
S O U T
S IN
ATN
V S S
P 0
P 1
P 2
P 3
P 4
P 5
P 6
P 7
V IN
V S S
R E S
V D D (+ 5 V )
P 1 5
P 1 4
P 1 3
P 1 2
P 11
P 1 0
P 9
P 8
2 4
23
2 2
2 1
2 0
1 9
1 8
17
1 6
15
1 4
13
1
2
3
4
5
6
7
8
9
10
11
12
B S 2-IC
B S 2
V dd
V ss
S O U T
S IN
ATN
V S S
P 0
P 1
P 2
P 3
P 4
P 5
P 6
P 7
V IN
V S S
R E S
V D D (+ 5 V )
P 1 5
P 1 4
P 1 3
P 1 2
P 11
P 1 0
P 9
P 8
2 4
23
2 2
2 1
2 0
1 9
1 8
17
1 6
15
1 4
13
1
2
3
4
5
6
7
8
9
10
11
12
B S 2-IC
B S 2
V dd
V ss
Next StepWrite a PBASIC Program to make the BASIC Stamp Switch the LED circuit input between Vdd (5 V) and Vss (0 V).
Excerpts from pages 47-49
' {$STAMP BS2}' {$PBASIC 2.5}
DO
HIGH 14 PAUSE 250 LOW 14 PAUSE 250
LOOP
LedOnOff.bs2
Slide 13
Chapter #2: Lights on – Lights offChapter #2: Lights on – Lights off
√ Use the same circuit
√ Replace DO and LOOP
with the segments of code shown here.
√ Run your modified program.
√ Remember to save your
modified program.Excerpts from pages 53-54
LedOnOffTenTimes.bs2
Changing the program to make the LED flash on/off 10 times
Before making any changes, save the original program, then save a copy(to be modified) under a new name:
' {$STAMP BS2}' {$PBASIC 2.5}
counter VAR Byte
FOR counter = 1 TO 10
DEBUG ? counter
HIGH 14 PAUSE 500 LOW 14 PAUSE 500
NEXT
DEBUG "All done!"
END
' {$STAMP BS2}' {$PBASIC 2.5}
HIGH 14 PAUSE 500 LOW 14 PAUSE 500
Slide 14
LED Test Circuit Parts(1) LED – Green(1) LED - Yellow(2) Resistor – 470 (yellow-violet-brown)
Chapter #2: Lights on – Lights off Chapter #2: Lights on – Lights off
BASIC Stamp – LED Circuit(Modified)
P14
P15
Vss Vss
LEDLED
470
470
P15P14P13P12P11P10P9P8P7P6P5P4P3P2P1P0
X 2
X 3
V dd V ssV in+
+
Next Step - Make both LEDs flash on/off √ Open FlashLed.bs2 √ Add two lines of code √ Run your modified program.√ Remember to save your modified program under a different name! Use FlashBothLeds.bs2
Excerpts from pages 56-59
FlashBothLeds.bs2
Important: Leave this circuit on your
board!This circuit is re-used in the next set
of activities. Do not take it apart beforebuilding the next circuit.
' {$STAMP BS2}' {$PBASIC 2.5}
DO
HIGH 14 HIGH 15 PAUSE 250 LOW 14 LOW 15 PAUSE 250
LOOP
HIGH 15
LOW 15
Slide 15
LED Test Circuit Parts(1) Resistor – 220 Ω (red-red-brown)(1) Resistor – 10 kΩ (brown-black-orange)(1) Pushbutton - normally open
(2) Jumper wires
Chapter #3: Digital Input - Chapter #3: Digital Input - PushbuttonsPushbuttons
1, 4
2 , 3 2
1 4
3
1, 4
2 , 3
1 , 4
2 , 3
How the Pushbutton Works
P15P14P13P12P11P10P9P8P7P6P5P4
P2P1P0
P3
X 2
X 3
V dd V ssV in
Vdd
10 k
Vss
P3
220
Pushbutton Circuit
Excerpts from pages 75, 76
Slide 16
Chapter #3: Digital Input - Chapter #3: Digital Input - PushbuttonsPushbuttons
' {$STAMP BS2}' {$PBASIC 2.5}
DO
DEBUG ? IN3 PAUSE 250
LOOP
S O U T
S IN
ATN
V S S
P 0
P 1
P 2
P 3
P 4
P 5
P 6
P 7
V IN
V S S
R E S
V D D (+ 5 V )
P 1 5
P 1 4
P 1 3
P 1 2
P 11
P 1 0
P 9
P 8
2 4
23
2 2
2 1
2 0
1 9
1 8
17
1 6
15
1 4
13
1
2
3
4
5
6
7
8
9
10
11
12
B S 2-IC
B S 2
1
0
Vdd
10 k
Vss
220
S O U T
S IN
ATN
V S S
P 0
P 1
P 2
P 3
P 4
P 5
P 6
P 7
V IN
V S S
R E S
V D D (+ 5 V )
P 1 5
P 1 4
P 1 3
P 1 2
P 11
P 1 0
P 9
P 8
2 4
23
2 2
2 1
2 0
1 9
1 8
17
1 6
15
1 4
13
1
2
3
4
5
6
7
8
9
10
11
12
B S 2-IC
B S 2
1
0
Vdd
10 k
Vss
220
How the Circuit andProgram Work
Excerpt from page 78
ReadPushbuttonState.bs2
√ Follow instructions with checkmarks on page 78
Slide 17
Pushbutton/LED Circuit Parts
(1) Pushbutton – normally open(1) Resistor - 10 k Ω (brown-black-orange)(1) LED – any color(1) Resistor – 220 Ω (red-red-brown)(1) Resistor – 470 Ω (yellow-violet-brown)(2) Jumper wires
Chapter #3: Digital Input - Chapter #3: Digital Input - PushbuttonsPushbuttons
P15P14
P3
P13P12P11P10P9P8P7P6P5P4
P2P1P0
X 2
X 3
V dd V ssV in
Vdd
10 k
Vss
P3
220
P14
Vss
LED470
+
Excerpts from pages 80-82
PushbuttonControlledLed.bs2
√ Follow instructions with checkmarks on page 81
Pushbutton/LED Circuit
ELSE PAUSE 100
ENDIF
' {$STAMP BS2}' {$PBASIC 2.5}
DO
HIGH 14 PAUSE 50 LOW 14 PAUSE 50
LOOP
DEBUG ? IN3
IF (IN3 = 1) THEN
Slide 18
Pushbutton/LED Circuit Parts
(2) Pushbuttons – normally open(2) Resistors - 10 kΩ (brown-black-
orange)(2) Resistors – 470 Ω (yellow-violet-
brown)(2) Resistors – 220 Ω (red-red-brown)(2) LEDs – any color
Chapter #3: Digital Input - Chapter #3: Digital Input - PushbuttonsPushbuttons
' {$STAMP BS2}' {$PBASIC 2.5}DO
DEBUG HOME DEBUG ? IN4 DEBUG ? IN3
IF (IN3 = 1) THEN HIGH 14 PAUSE 50
ELSEIF (IN4 = 1) THEN HIGH 15 PAUSE 50
ELSE PAUSE 50
ENDIF
LOW 14 LOW 15
PAUSE 50
LOOP
Vdd Vdd
10 k
Vss
10 k
Vss
P4
P3
P14
P15
Vss Vss
LEDLED
470
220
220
470
P15P14
P4P3
P13P12P11P10P9P8P7P6P5
P2P1P0
X 2
X 3
V dd V ssV in
++
PushbuttonControlOfTwoLeds.bs2
Excerpts from pages 83-86
√ Follow instructions with checkmarks on pages 82,
85, 87, and 88
Slide 19
Servo Circuit Parts(1) Resistor – 470 Ω (yellow-violet-brown)(1) LED – any color(1) Servo (STD)
Chapter #4: Controlling Motion Chapter #4: Controlling Motion
www.pa ra llax inc .com
PARALLAXSTD BB HS
1
2
3
4
Vdd
Vss
P14 White
Red
BlackServo
P14
Vss
LED470
Excerpts from pages 110, 111
Important: Leave the P14 LED and
pushbuttoncircuits on your board!These circuits are re-used in this set of activities.
Vss
P14 White
Red
BlackServo
P14
Vss
LED470
Vin
Servo Circuit
P15
P4P3
P14P13P12P11P10P9P8P7P6P5
P2P1P0
X 2
X 3
V dd V ssV in
B lackR ed
X4 X5
15 13 1214
+
www.pa ra llax inc .com
PARALLAXSTD BB HS
BlackRed
White
Slide 20
Chapter #4: Controlling MotionChapter #4: Controlling Motion
PULSOUT pin, duration
Use 0 to 15 to select BASIC
Stamp I/O pin P0 through P15
duration × 2 s = pulse duration
Vdd (5 V)
Vss (0 V)
2.0 ms 2.0 ms
20 ms
www.para llaxinc.com
PA R ALLAXSTD BB HS
Example:
PULSOUT 14, 1000
Vss
P14 W hite
Red
BlackServo
P14
Vss
LED470
Vin
Vss
Vin
3300 µ F
ms
s
sdurationpulse
0.2
2000
10002
Excerpts from pages 111, 112
www.parallaxinc.com
PA R ALLAXSTD BB HS
www.parallaxinc.com
PA R ALLAXSTD BB HS
www.parallaxinc.com
PA R ALLAXSTD BB HS
10 o-clock 2 o-clock 12 o-clock
Vss
P14 White
Red
BlackServo
P14
Vss
LED470
Vin
Slide 21
Chapter #4: Controlling MotionChapter #4: Controlling Motion
Vdd (5 V)
Vss (0 V)
2.0 ms 2.0 ms
20 ms
www.para llaxinc.com
PA R ALLAXSTD BB HS
Vdd (5 V )
Vss (0 V)
1.0 ms 1.0 ms
20 ms
www.para llaxinc.com
PA R ALLAXSTD BB H S
Vdd (5 V )
Vss (0 V)
1.5 ms 1.5 ms
www.para llaxinc.com
PA R ALLAXSTD BB HS
20 ms
FOR counter = 1 TO 150 PULSOUT 14, 1000 PAUSE 20NEXT
FOR COUNTER = 1 TO 150 PULSOUT 14, 500 PAUSE 20NEXT
FOR counter = 1 TO 150 PULSOUT 14, 750 PAUSE 20NEXT
Excerpts from Example Program: ServoTest.bs2
≈ 3 seconds
≈ 3 seconds
≈ 3 seconds
Excerpts from pages 113-115
Slide 22
Chapter #4: Controlling MotionChapter #4: Controlling Motion
Excerpt from Example Program: ServoControlWithDebug.bs2
Receive windowpane
Transmit windowpane
DEBUG CLS, "Enter number of pulses:", CR DEBUGIN DEC pulses
DEBUG "Enter PULSOUT duration:", CR DEBUGIN DEC duration
Excerpts from pages 119, 120
√ Follow instructions with checkmarks on pages 119 and 120.
Slide 23
Chapter #4: Controlling MotionChapter #4: Controlling Motion
Excerpts from Example Program: ServoVelocities.bs2
FOR counter = 500 TO 1000 STEP 4 PULSOUT 14, counter PAUSE 20 DEBUG DEC5 counter, CR, CRSRUPNEXT
Excerpts from pages 124-125
√ Follow instructions with checkmarks on page 124.
counter VAR Word
STEP value controls the rate at which counter increases
Counter increments with FOR…NEXT loop.
As counter changes, so does the pulse width. As the pulse width changes, the servo’s position updates. Position changing over time gives an apparent velocity.
FOR counter = 1000 TO 500 STEP 10 PULSOUT 14, counter PAUSE 20 DEBUG DEC5 counter, CR, CRSRUPNEXT
Count down instead of up at a faster step rate.
Slide 24
Servo Circuit
Chapter #4: Controlling Motion Chapter #4: Controlling Motion
Vss
P14 W hite
Red
BlackServo
P14
Vss
LED470
Vin
Vss
Vin
3300 µ F
Vss
P14 W hite
Red
BlackServo
P14
Vss
LED470
Vin
Vss
Vin
3300 µ F
Vdd Vdd
10 k
Vss
10 k
Vss
P4
P3
220
220
Extra Pushbutton Parts(2) Pushbuttons normally open(2) Resistors – 10 k (brown-black-orange)(2) Resistors – 220 (red-red-brown)(3) Jumper wires
The pushbutton circuits should still be on your board.
√ If not, build it now.
Excerpts from pages 126-127
P15
P4P3
P14P13P12P11P10P9P8P7P6P5
P2P1P0
X 2
X 3
V dd V ssV in
B lackR ed
X4 X5
15 13 1214
+
www.pa ra llax inc .com
PARALLAXSTD BB HS
BlackRed
White
Slide 25
Chapter #4: Controlling MotionChapter #4: Controlling MotionExcerpt from: ServoControlWithPushbuttons.bs2
DO
IF IN3 = 1 THEN IF duration > 500 THEN duration = duration - 25 ENDIF ENDIF
IF IN4 = 1 THEN IF duration < 1000 THEN duration = duration + 25 ENDIF ENDIF
PULSOUT 14, duration PAUSE 10
DEBUG HOME, DEC4 duration, " = duration"
LOOP Excerpts from pages130-131
√ Follow instructions with checkmarks on page
130.
Slide 26
Chapter #5: Measuring RotationChapter #5: Measuring Rotation
Dial Circuit Parts
(1) Resistor – 220 Ω (red-red-brown) (1) Capacitor – 0.1 F
(2) Jumper wires (1) Potentiometer – 10 kΩ
10 kPot
++
A
B
W
A
B
W
104
0.1 µF
0.01 µF103
Vss
P7
Pot10 k
X
0 .1 µF
220 nc
Dial Circuit
P15P14P13P12P11P10P9P8
P6P5P4P3P2P1P0
P7
X 2
X 3
V ssV in
Excerpts from pages 146-148
Important – more info: √ Replace your pushbutton
circuits with this dial circuit. √ Remember to Leave the P14 LED and servo circuits connected.
√ Run ReadPotWithRcTime.bs2.√ Monitor time variable in Debug Terminal.NOTE: The pot must be firmly
seated in its breadboard sockets.√ Run ControlServoWithPot.bs2.√ Have fun controlling the servo with the pot.
Slide 27
Chapter #5: Measuring RotationChapter #5: Measuring Rotation
Excerpt from: ReadPotWithRcTime.bs2
HIGH 7
PAUSE 100
RCTIME 7, 1, time
ControlServoWithPot.bs2' {$STAMP BS2}' {$PBASIC 2.5}
time VAR Word
DO HIGH 7 PAUSE 10 RCTIME 7, 1, time time = time + 330 PULSOUT 14, time
LOOP
Excerpt from page 148
√ Your course guide will explain how to adjust
the example program so that it works best with
the pulsout command and gives your servo a
range of motion that uses the potentiometer’s
entire range of motion.
√ Run ReadPotWithRcTime.bs2√ Twist the potentiometer’s input shaft,
and make notes of the time values displayed by the Debug Terminal.
Slide 28
Chapter #6: Digital DisplayChapter #6: Digital Display
Display Parts(8) Resistors – 1 kΩ (brown-black-red)(5) Jumper wires(1) 7-segment LED
E C BAF
LED’s
com m on
GDP
Vss
1 k(A ll)
P8
P9
P10
P11
P12
P13
P14
P15
G
F
A
B
E
D
C
10 9 7 6
1 2 4 5
Com monCathode
Com monCathode
E D C DP
G F A B
8
3
E C B A F
LED ’s
3 8
G DP
1 4 6 7 9 10 5
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
X2 X3
Vdd
Vss
Vin
EDP
CD G F A B
Excerpts from pages 161-162, 166-167
Slide 29
Chapter #6: Digital DisplayChapter #6: Digital Display
SegmentTestWithHighLow.bs2'{$STAMP BS2}'{$PBASIC 2.5}
pinCounter VAR Nib
DEBUG "I/O Pin", CR, "-------", CR
FOR pinCounter = 8 TO 15
DEBUG DEC2 pinCounter, CR HIGH pinCounter PAUSE 1000 LOW pinCounter
NEXT
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
X2 X3
Vdd
Vss
Vin
EDP
CD G F A B
Excerpts from pages 167-168
G
F
A
B
E
D
C
10 9 7 6
1 2 4 5
Com monCathode
Com monCathode
E D C DP
G F A B
8
3
√ Predict which segment will glow. How long will each segment glow? In what order will they glow?
√ Run the example program shown on this slide and compare to your predictions.
Slide 30
Chapter #6: Digital DisplayChapter #6: Digital Display
Excerpt from: DisplayDigits.bs2
'{$STAMP BS2}'{$PBASIC 2.5}
OUTH = %00000000 DIRH = %11111111' BAFG.CDE ' Digit:OUTH = %11100111 ' 0PAUSE 1000OUTH = %10000100 ' 1PAUSE 1000OUTH = %11010011 ' 2PAUSE 1000OUTH = %11010110 ' 3PAUSE 1000OUTH = %10110100 ' 4PAUSE 1000
OUTH = %00000000DIRH = %11111111
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
X2X3
Vd
dV
ssV
in
OUTH = %11010110
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
X2X3
Vdd
Vss
Vin
‘ BAFG.CDE
Excerpts from pages 170-172
√ Run the example program from this slide.√ Make notes on how the OUTH and DIRH variables
control the I/O pins, which in turn control the segments.
G
F
A
B
E
D
C
10976
1245
CommonCathode
CommonCathode
E DC DP
G FA B
8
3
Slide 31
Chapter #6: Digital DisplayChapter #6: Digital DisplayFOR index = 0 TO 9
LOOKUP index, [ %11100111, %10000100, %11010011, %11010110, %10110100, %01110110, %01110111, %11000100, %11110111, %11110110 ], OUTH
DEBUG " ", DEC2 index, " ", BIN8 OUTH, CR
PAUSE 1000
NEXT
Excerpt from: DisplayDigitsWithLookup.bs2
Excerpts from pages 174-175
Lookup tables are useful for many things.
√ Make notes on how the LOOKUP command is used to
place a predetermined sequence of bit patterns into the
OUTH variable.
Slide 32
Chapter #8: Frequency and SoundChapter #8: Frequency and Sound
Piezospeaker Circuit Parts(2) Jumper wires(1) Piezoelectric speaker
Piezospeaker Circuit
TestPiezoWithFreqout.bs2
P15P14P13P12P11P10
P8P7P6P5P4P3P2P1P0
P9
X 2
X 3
V dd V ssV in
Vss
P9 +
'{$STAMP BS2}'{$PBASIC 2.5}
DEBUG "Tone sending...", CR
FREQOUT 9, 1500, 2000
DEBUG "Tone done."
P15P14P13P12P11P10
P8P7P6P5P4P3P2P1P0
P9
X 2
X 3
V dd V ssV in
Vss
P9 +
f = 2000 Hz
T = 1÷2000 s
duration = 1500 ms
= 1.5 s
I/O pin = P9
T
Excerpt from page 212
√ Build the piezospeaker circuit.√ Run TestPiezoWithFreqout.bs2
Slide 33
Chapter #8: Frequency and SoundChapter #8: Frequency and SoundExcerpts from: ActionTones.bs2
DEBUG "Alarm...", CR PAUSE 100 FREQOUT 9, 500, 1500 PAUSE 500 FREQOUT 9, 500, 1500 PAUSE 500
DEBUG "Robot reply...", CR PAUSE 100 FREQOUT 9, 100, 2800 FREQOUT 9, 200, 2400 FREQOUT 9, 140, 4200 FREQOUT 9, 30, 2000 PAUSE 500
DEBUG "Hyperspace...", CR PAUSE 100 FOR duration = 15 TO 1 STEP 1 FOR frequency = 2000 TO 2500 STEP 20 FREQOUT 9, duration, frequency NEXT NEXT
duration VAR Wordfrequency VAR Word
Excerpts from pages 214-215
√ Run ActionTones.bs2
Slide 34
Chapter #8: Frequency and SoundChapter #8: Frequency and Sound
'{$STAMP BS2}'{$PBASIC 2.5}
DEBUG "Frequency = 2000", CRFREQOUT 9, 4000, 2000
DEBUG "Frequency = 3000", CRFREQOUT 9, 4000, 3000
DEBUG "Frequency = 2000 + 3000", CRFREQOUT 9, 4000, 2000, 3000
DEBUG "Frequency = 2000 + 2001", CRFREQOUT 9, 4000, 2000, 2001
DEBUG "Frequency = 2000 + 2002", CRFREQOUT 9, 4000, 2000, 2002
DEBUG "Frequency = 2000 + 2003", CRFREQOUT 9, 4000, 2000, 2003
DEBUG "Frequency = 2000 + 2005", CRFREQOUT 9, 4000, 2000, 2005
DEBUG "Frequency = 2000 + 2010", CRFREQOUT 9, 4000, 2000, 2010
DEBUG "Done", CREND
MixingTones.bs2
+
Excerpt from page 218
=
√ Run MixingTones.bs2
Slide 35
Chapter #8: Frequency and SoundChapter #8: Frequency and Sound
1046
.5
1318
.5
1174
.7
1396
.9
1568
.0
1760
.0
1975
.5
2093
.0
2349
.3
2637
.0
2793
.0
3136
.0
3520
.0
3951
.1
4186
.0
1108
.7
1244
.5
1480
.0
1864
.7
1661
.2
1217
.5
2489
.0
2960
.0
3322
.4
3729
.3
C 6 D 6 E6 F6 G 6 D 7B6A6 C 7 E7 F7 G 7 C 8A7 B7
D
E6
6#
b
or
C6#
D6b
or
F
G6
6#
b
or
A
B6
6#
b
or
G
A6
6#
b
or
C7
D7
#
b
or
D
E7
7#
b
or
F
G7
7#
b
or
G
A7
7#
b
or
A
B7
7#
b
or
DEBUG "Mi...", CR: FREQOUT 9,500,1319 ' E6
DEBUG "Fa...", CR: FREQOUT 9,500,1396 ' F6
DEBUG "Sol..", CR: FREQOUT 9,500,1568 ' G6
Frequencies inMusic
Excerpts from pages 219, 221
Excerpt from DoReMiFaSolLaTiDo.bs2
√ Run DoReMiFaSolLaTiDo.bs2