b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

用Python为树莓派制作一个GPIO控制的音乐播放器(2)

电脑杂谈  发布时间:2020-03-17 01:00:51  来源:网络整理

Seethe#GNUGeneralPublicLicenseformoredetails。##YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense#alongwiththisprogram。Ifnot,see<;。##--------------------------------------importsmbusimporttime#DefinesomedeviceparametersI2C_ADDR=0x3f#I2CdeviceaddressLCD_WIDTH=16#Maximumcharactersperline#DefinesomedeviceconstantsLCD_CHR=1#Mode-SendingdataLCD_CMD=0#Mode-SendingcommandLCD_LINE_1=0x80#LCDRAMaddressforthe1stlineLCD_LINE_2=0xC0#LCDRAMaddressforthe2ndlineLCD_LINE_3=0x94#LCDRAMaddressforthe3rdlineLCD_LINE_4=0xD4#LCDRAMaddressforthe4thlineLCD_BACKLIGHT=0x08#On#LCD_BACKLIGHT=0x00#OffENABLE=0b00000100#Enablebit#TimingconstantsE_PULSE=0。

0005E_DELAY=0。0005#OpenI2Cinterface#bus=smbus。SMBus(0)#Rev1Piuses0bus=smbus。SMBus(1)#Rev2Piuses1deflcd_init():#Initialisedisplaylcd_byte(0x33,LCD_CMD)#110011Initialiselcd_byte(0x32,LCD_CMD)#110010Initialiselcd_byte(0x06,LCD_CMD)#000110Cursormovedirectionlcd_byte(0x0C,LCD_CMD)#001100DisplayOn,CursorOff,BlinkOfflcd_byte(0x28,LCD_CMD)#101000Datalength,numberoflines,fontsizelcd_byte(0x01,LCD_CMD)#000001Cleardisplaytime。sleep(E_DELAY)deflcd_byte(bits,mode):#Sendbytetodatapins#bits=thedata#mode=1fordata#0forcommandbits_high=mode|(bits&0xF0)|LCD_BACKLIGHTbits_low=mode|((bits<<4)&0xF0)|LCD_BACKLIGHT#Hiitsbus。

write_byte(I2C_ADDR,bits_high)lcd_toggle_enable(bits_high)#Lowbitsbus。write_byte(I2C_ADDR,bits_low)lcd_toggle_enable(bits_low)deflcd_toggle_enable(bits):#Toggleenabletime。sleep(E_DELAY)bus。write_byte(I2C_ADDR,(bits|ENABLE))time。sleep(E_PULSE)bus。write_byte(I2C_ADDR,(bits&~ENABLE))time。sleep(E_DELAY)deflcd_string(message,line):#Sendstringtodisplaymessage=message。ljust(LCD_WIDTH,"")lcd_byte(line,LCD_CMD)foriinrange(LCD_WIDTH):lcd_byte(ord(message[i]),LCD_CHR)defmain():#Mainprogramblock#Initialisedisplaylcd_init()whileTrue:#Sendsometestlcd_string("RP嗨L<",LCD_LINE_1)lcd_string("I2CLCD<",LCD_LINE_2)time。

sleep(3)#Sendsomemoretextlcd_string(">RPiSpy",LCD_LINE_1)lcd_string(">I2CLCD",LCD_LINE_2)time。sleep(3)if__name__=='__main__':try:main()exceptKeyboardInterrupt:passfinally:lcd_byte(0x01,LCD_CMD)

Python2.7和3都可以用,推荐使用3,可以在SSH里显示中文歌名。

哇我捣鼓了很久的东西这一会儿就说完了,不得劲啊。毕竟那些东西在树莓派上用Python实现非常省力,不涉及底层。如果做到单片机上就非常牛逼了(不使用现成的模块),不多说了,最近在研究电子电路。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-144409-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 程孟强
      程孟强

      话说有钱的马云和捡垃圾的马云都同样说了一句话“天下没有人靠炒股发财”

    热点图片
    拼命载入中...