吴泽原-2019080017-2021A-M08-92-WW8

来自iCenter Wiki
2021年11月2日 (二) 09:06Zhenchen讨论 | 贡献的版本

跳转至: 导航搜索

树莓派——无源蜂鸣器

   "#!/usr/bin/env python3"
   import RPi.GPIO as GPIO
   import time
   makerobo_Buzzer = 11
   Tong_CL = [0,131,147,165,175,196,211,248]
   Tong_CM = [0,262,294,330,350,393,441,495]
   Tong_CH = [0,525,589,661,700,786,882,990]
   makerobo_song_1 = [Tong_CM[1],Tong_CM[2],Tong_CM[3],Tong_CM[1],Tong_CM[3],Tong_CM[5],Tong_CM[5],Tong_CM[3],Tong_CM[6],Tong_CM[6],Tong_CM[6],Tong_CM[5],Tong_CM[5],Tong_CM[3]]
   makerobo_beat_1=[1,1,1,1,1,1,2,1,0.5,0.5,1,1,1,1]
   def makerobo_setup():
       GPIO.setmode(GPIO.BOARD)
       GPIO.setwarnings(False)
       GPIO.setup(11,GPIO.OUT)
   global makerobo_Buzz
   makerobo_Buzz = GPIO.PWM(11, 440)
   makerobo_Buzz.start(50)
  1. loop
   def makerobo_loop():
       while True:
           for i in range(1,len(makerobo_song_1)):
               makerobo_Buzz.ChangeFrequency(makerobo_song_1[i])
               time.sleep(makerobo_beat_1[i]*0.5)
           time.sleep(1)
   def makerobo_destory():
       makerobo_Buzz.stop()
       GPIO.output(makerobo_Buzzer,1)
       GPIO.cleanup()
   if __name__=='__main__':
           makerobo_setup()
           try:
               makerobo_loop()
           except KeyboardInterrupt:
               makerobo_destory()


"12.py"

   import RPi.GPIO as GPIO
   import time


   GPIO.setmode(GPIO.BCM)
   GPIO.setup(25,GPIO.IN)
   GPIO.setup(5,GPIO.OUT)
   Tong_CL = [0,131,147,165,175,196,211,248]
   Tong_CM = [0,262,294,330,350,393,441,495]
   Tong_CH = [0,525,589,661,700,786,882,990]


   GPIO.setwarnings(False)
   GPIO.setup(17,GPIO.OUT)
   global makerobo_Buzz
   makerobo_Buzz = GPIO.PWM(17, 440)
   makerobo_song_1 = [Tong_CM[1],Tong_CM[2],Tong_CM[3],Tong_CM[1],Tong_CM[3],Tong_CM[5],Tong_CM[5],Tong_CM[3],Tong_CM[6],Tong_CM[6],Tong_CM[6],Tong_CM[5],Tong_CM[5],Tong_CM[3]]
   makerobo_beat_1=[1,1,1,1,1,1,2,1,0.5,0.5,1,1,1,1]
   while True:
       input1=GPIO.input(25)
       if(input1 == True):
           GPIO.output(5,GPIO.HIGH)

       else:
           GPIO.output(5,GPIO.LOW)