sound code

i’m using a BS2p 24 with a botboard2 and would like to add code to a programme so i can generate a sound (via the on board speaker) as various parts of the programme are executed.

can anyone offer some code/resource pointers please?

plingboot,

You might want to try the Parallax Forum for the Basic Stamp:

forums.parallax.com/forums/default.aspx?f=5

Just a thought.

Regards,
TCIII

Here’s an example right out of the basic stamp editor help file. If you are using the Bot Board II you will need to change the pin out from pin #10 to Pin#9 to use the built in speaker.

' FREQOUT.BS2
' This program demonstrates a sound-effects generation by the BASIC Stamp.
' Conditional compilation sets timing and frequency adjustment factors so
' that the output will sound the same on any BS2 module.

' {$STAMP BS2}
' {$PBASIC 2.5}

Spkr            PIN     9              ' output pin for FREQOUT (changed from pin 10 to 9 to work with the ABB)

#SELECT $STAMP
  #CASE BS2, BS2E
    TmAdj       CON     $100            ' x 1.0 (time adjust)
    FrAdj       CON     $100            ' x 1.0 (freq adjust)
  #CASE BS2SX
    TmAdj       CON     $280            ' x 2.5
    FrAdj       CON     $066            ' x 0.4
  #CASE BS2P
    TmAdj       CON     $3C5            ' x 3.77
    FrAdj       CON     $044            ' x 0.265
  #CASE BS2PE
    TmAdj       CON     $100            ' x 1.0
    FrAdj       CON     $0A9            ' x 0.66
  #CASE BS2PX
    TmAdj       CON     $607            ' x 6.02
    FrAdj       CON     $02A            ' x 0.166
#ENDSELECT


Main:
  DEBUG "Let's make a call...", CR
  ' combine 350 Hz & 440 Hz for dial tone
  FREQOUT Spkr, 2000 */ TmAdj, 350 */ FrAdj, 440 */ FrAdj
  ' dial number (digits 150 ms on, 25 ms off)
  DTMFOUT Spkr, 150 */ TmAdj, 25, [5, 5, 5, 1, 2, 1, 2]
  PAUSE 500

  ' bad connection (SIT sequence)
  FREQOUT Spkr, 375 */ TmAdj, 985 */ FrAdj
  FREQOUT Spkr, 375 */ TmAdj, 1371 */ FrAdj
  FREQOUT Spkr, 375 */ TmAdj, 1777 */ FrAdj

  DEBUG "Oops! -- try again...", CR
  PAUSE 1000
  DTMFOUT Spkr, 150 */ TmAdj, 25, [5, 5, 5, 2, 2, 2, 2]
  DEBUG "Ringing"
  FREQOUT Spkr, 2000 */ TmAdj, 440 */ FrAdj, 480 */ FrAdj
  PAUSE 4000
  FREQOUT Spkr, 2000 */ TmAdj, 440 */ FrAdj, 480 */ FrAdj
  INPUT Spkr
  DEBUG CLS, "Done."
  END

thanks for that - just what i needed…