' -----[ Title ]----------------------------------------------------------------------- ' ' For Demonstration - BeethovensFifthAndLedsBot2.bs2 ' ' '------[ Notes ]----------------------------------------------------------------------- ' ' Play the first few notes from Beethoven's Fifth symphony. ' ' ' -----[ Program ]--------------------------------------------------------------------- ' ' {$STAMP BS2} ' Stamp directive. ' {$PBASIC 2.5} ' PBASIC directive. ' ' ' -----[ Variables/Constants/Pins ]---------------------------------------------------- Green1Led PIN 1 Green2Led PIN 11 Green3Led PIN 12 YellowLed PIN 13 FreqDetectable CON 3000 C6 CON 1047 ' Piano notes C6_sharp CON 1109 D6_flat CON 1109 D6 CON 1175 D6_sharp CON 1245 E6_flat CON 1245 E6 CON 1319 F6 CON 1397 F6_sharp CON 1480 G6_flat CON 1480 G6 CON 1568 G6_sharp CON 1661 A6_flat CON 1661 A6 CON 1760 A6_sharp CON 1865 Be6_flat CON 1865 Be6 CON 1976 C7 CON 2093 C7_sharp CON 2218 D7_flat CON 2218 D7 CON 2349 D7_sharp CON 2489 E7_flat CON 2489 E7 CON 2637 F7 CON 2793 F7_sharp CON 2960 G7_flat CON 2960 G7 CON 3136 G7_sharp CON 3322 A7_flat CON 3322 A7 CON 3520 A7_sharp CON 3729 Be7_flat CON 3729 Be7 CON 3951 C8 CON 4186 Rest CON 0 ' end of piano notes ' 60s/min * 1000ms/s * 1/(q_n/min) * 4q_n/w_n = ms/w_n. whole CON 1000 * 60 / 150 * 4 ' Timing half CON whole/2 quarter CON whole/4 eighth CON whole/8 sixteenth CON whole/16 thirty_second CON whole/32 whole_dot CON whole + half half_dot CON half + quarter quarter_dot CON quarter + eighth eighth_dot CON eighth + sixteenth ' end of timing Piezospeaker PIN 4 ' Speaker ' -----[ Initialization ]-------------------------------------------------------------- FREQOUT Piezospeaker, 1000, FreqDetectable ' Signal program start/reset. ' -----[ Main Routine ]---------------------------------------------------------------- PAUSE 4000 GOSUB first ' Low intro. GOSUB second ' First series of high notes GOSUB third ' Second series of high notes GOSUB fourth ' Crecindo END first: FREQOUT Piezospeaker, eighth, Rest 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, half, Rest 'LOW YellowLed HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest HIGH Green1Led FREQOUT Piezospeaker, eighth, F6 LOW Green1Led HIGH Green2Led FREQOUT Piezospeaker, eighth, F6 LOW Green2Led HIGH Green3Led FREQOUT Piezospeaker, eighth, F6 LOW Green3Led HIGH YellowLed FREQOUT Piezospeaker, half, D6 LOW YellowLed RETURN second: FREQOUT Piezospeaker, eighth, Rest 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, eighth, Rest 'LOW YellowLed 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, eighth, Rest 'LOW YellowLed 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, half, Rest 'LOW YellowLed RETURN third: FREQOUT Piezospeaker, eighth, Rest HIGH Green1Led FREQOUT Piezospeaker, eighth, G6 LOW Green1Led HIGH Green2Led FREQOUT Piezospeaker, eighth, G6 LOW Green2Led HIGH Green3Led FREQOUT Piezospeaker, eighth, G6 LOW Green3Led HIGH YellowLed FREQOUT Piezospeaker, eighth, D6 LOW YellowLed HIGH Green1Led FREQOUT Piezospeaker, eighth, G6_sharp LOW Green1Led HIGH Green2Led FREQOUT Piezospeaker, eighth, G6_sharp LOW Green2Led HIGH Green3Led FREQOUT Piezospeaker, eighth, G6_sharp LOW Green3Led HIGH YellowLed FREQOUT Piezospeaker, eighth, G6 LOW YellowLed HIGH Green1Led FREQOUT Piezospeaker, eighth, F7 LOW Green1Led HIGH Green2Led FREQOUT Piezospeaker, eighth, F7 LOW Green2Led HIGH Green3Led FREQOUT Piezospeaker, eighth, F7 LOW Green3Led HIGH YellowLed FREQOUT Piezospeaker, half, D7 LOW YellowLed RETURN fourth: FREQOUT Piezospeaker, eighth, Rest 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, eighth, Rest 'LOW YellowLed HIGH YellowLed FREQOUT Piezospeaker, eighth, C7 LOW YellowLed HIGH Green3Led FREQOUT Piezospeaker, eighth, C7 LOW Green3Led HIGH Green2Led FREQOUT Piezospeaker, eighth, D7 LOW Green2Led HIGH Green1Led FREQOUT Piezospeaker, eighth, D7_sharp LOW Green1Led 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, eighth, Rest 'LOW YellowLed HIGH YellowLed FREQOUT Piezospeaker, eighth, C7 LOW YellowLed HIGH Green3Led FREQOUT Piezospeaker, eighth, C7 LOW Green3Led HIGH Green2Led FREQOUT Piezospeaker, eighth, D7 LOW Green2Led HIGH Green1Led FREQOUT Piezospeaker, eighth, D7_sharp LOW Green1Led 'HIGH Green1Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green1Led 'HIGH Green2Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green2Led 'HIGH Green3Led FREQOUT Piezospeaker, eighth, Rest 'LOW Green3Led 'HIGH YellowLed FREQOUT Piezospeaker, eighth, Rest 'LOW YellowLed FREQOUT Piezospeaker, quarter_dot, Rest HIGH YellowLed FREQOUT Piezospeaker, eighth, F6 LOW YellowLed FREQOUT Piezospeaker, quarter_dot, Rest HIGH YellowLed FREQOUT Piezospeaker, quarter, F6_sharp LOW YellowLed RETURN