The RCTIME command is used to obtain a varying number from the charge or discharge of a capacitor in a resistor-capacitor circuit. The PWM command produces a modulated pulse on an oputput pin to simulate a varying voltage. The FREQOUT command pulses a frequency on the given pin.
' there is a variable resistor-capacitor circuit on pin 7, a speaker circuit on pin 8, ' and an LED on pin 0, and an LED on pin 3 for this program: pwrLED con 0 LED2 co 3 potPin con 7 spkrPin con 9 ' declare variables: potVar var word ' a word-sized variable to hold the results of the RCTIME command byteVar var byte ' a byte-sized variable that will vary proprtional to potVar output pwrLED 'light an LED on pin 8 high pwrLED'just so we know the stamp's working main: high potPin'put voltage out to the capacitor pause 1 'hold a millisecond (0.4 ms on the BS2-SX) rctime potPin, 1, potVar 'time how long the cap takes to discharge debug ?potVar byteVar = potVar /3 'convert potvar to a smaller number pwm LED2, byteVar, 10 'output a varying voltage based on bytevar freqout spkrPin,10,byteVar*50 'make a varying sound on the speaker debug ?byteVar goto main
Schematic: