Professional Documents
Culture Documents
Lab number 2
02/05/2015
Components:
3 Resistors 220 ohms;
1 Resistor 1k ohms;
1 Buzzer;
1 Red LED;
1 LDR(Light Dependent Resistor);
1 Pushbutton;
1 Homework Board;
Circuit:
Answer:
' {$STAMP BS2}
' {$PBASIC 2.5}
' Breno Henrique Tavares Gomes
OUTPUT 5
INPUT 0
Main:
OUT5=1
PAUSE 500
FREQOUT 10, 1000, 1900
OUT5=0
PAUSE 500
GOTO Main
Challenge 3
Answer:
' -----[ Title ]------------------' {$STAMP BS2}
' {$PBASIC 2.5}
' Breno Henrique Tavares Gomes
PIN 10
LED
PIN 5
Buzzer
PB
PIN 10
PIN 13
PBVal
VAR Bit
PAUSE 500
LOW LED
ENDIF
' ******** 1/4 second pause
PAUSE 500
LOOP
Challenge 4
Answer:
Code:
' {$STAMP BS2}
' {$PBASIC 2.5}
' Breno Henrique Tavares Gomes
' -----[ Declarations ]---------------------------------------------------Photo
PIN 0
LED
PIN 5
Buzzer
PIN 10
PhotoMax = 5000
PAUSE 1000
HIGH Photo
PAUSE 10
RCTIME Photo,1,PhotoVal
DEBUG DEC PhotoVal, ",", DEC PhotoMin, "," ,DEC PhotoMax,CR
RETURN
CheckLightHigh:
CheckLightLow:
Checksystem:
HIGH 5
PAUSE 250
LOW 5
RETURN
Challenge 5
Answer:
' {$STAMP BS2}
' {$PBASIC 2.5}
'Breno Henrique Tavares Gomes
' -----[ Declarations ]---------------------------------------------------Photo
PIN 0
LED
PIN 5
Buzzer PIN 10
PB
PBVal
PIN 13
VAR Bit
VAR Byte
DO
GOSUB WaitForButton
GOSUB GetFreq
GOSUB GetCount
GOSUB GetDuration
GOSUB SoundTone
PAUSE 1000
LOOP
' -----[ Subroutines ]-----------------------------------------------------
WaitForButton:
DEBUG CLS, "Press the pushbutton to begin",CR
DO
LOOP WHILE (PB=1)
RETURN
GetFreq:
DO
DEBUG CR,"Enter the frequency to play (1 to 4000)",CR
DEBUGIN DEC FreqVal
LOOP UNTIL (FreqVal <= 4000) ' loop until within range
RETURN
GetCount:
DO
DEBUG CR,"Enter the number of times to play (1 to 10)",CR
DEBUGIN DEC CountVal
LOOP WHILE (CountVal > 10)
RETURN
GetDuration:
DO
RETURN
SoundTone:
FOR X = 1 TO CountVal
FREQOUT Buzzer,Duration,FreqVal
DEBUG "Buzzing ", DEC X,CR
NEXT
RETURN