当前位置: 主页 > 新闻资讯 >

覆盆子Pi RP2350

发布者:BET356官网在线登录
来源:未知 日期:2025-07-02 10:16 浏览()
本文指出:1个覆盆子PI RP2350-DESKTOP动态温度和湿度计本文介绍了将DHT11模块,锂电池模块和随机闪烁动画结合在一起的Dfrobot Beetle RP2350项目设计,以实现桌面动态温度和卫生表显示。 2简介项目本项目包括工作原理:ADC电压采集和电源转换工程调试:功率采集,电源图标显示,DHT11的DHT11温度和水分显示器显示:框架动画显示,餐具显示器显示,最终和水分表。 3人工原理根据开发委员会的示意图,电池电路VBAT分隔器的电压连接到Partrights控件的GPIO29模拟界面,因此可以通过此销量实时收集和监视电池电压信息,从而实现了电力的显示。 4硬件连接GP0-DATA(DHT11)GP4-SDA(OLED)GP5-SCL(OLED)BATA-BATTORY阳性电池负电池负5示意图6项目调试包括ADC功率习得,OLED显示功率,DHT11温度和其他湿度数据以及其他湿度数据以及显示电力图标,电动动画和其他电力调试项目。 7功率采集读取ADC的GPIO29的电压值,并在夹板印刷中打印在终端8代码中? 1.从机器导入引脚,adc2.import untime3.4。#siizize adc pin5.adc = adc(pin(29))6.7。电池电量:{:.1f}%'。电池电压值和ADC 10电池百分比电池电池显示显示ADC收集的电源百分比。 11代码查看platercopy to剪贴板打印? 1.从机器导入PIN,ADC,I2C2.IMPORT SSD13063.IMPORT UTIME4.5。 SDA = PIN(4))10.OLED = SSD1306.SSD1306_I2C(128,64,I2C)11.12。 #电压参数除以电阻13.R1,R2 = 1000000,1000000#1M14。 vref_bat = 3.9#状态电荷的电池电压15.16.def get_battery_level():17.ADC_VALUE = ADC.READ_U16()18. valtage =(adc_value / 6555535) * 3.319.div_ratio =(r1 + r2)#d频率r2 seys21.percent21.percent = percent = min(max(max aface_voltage-3.3) MATEA_VOLTAGE23.24.DEF draw_battery(百分比):25.OLED.FILL(0)0f}%'。2,2,int(26 *% / 100),11,1)#electric Parten31.OLED.Rot.Rot.Rotate(0)32.oled.show.show.show()33.34。 Bat_display (percent, x, y): # percent of battery, icon position (x, y) 35.oled.fill (0) 36.oled.text ('{:. 0f}%'. Format (percent), 0+x, 17+y) 37. # battery, icon position (x, y) 45.oled.fi ll (0) 46.oled.text ('{:. 0f} ll_h,1)#percent column52.oled.Rotate(0)53.OLED.SHOW()54.55.while true:56.%,电压= get_battery_display()57。#draw_battery(pers)58.bat_display(百分比,90,2)609.#draws_vertical uptern。电压:{:等级:{:1f}%'。,配置翻译器并操作。 12水平Pagshow电池图标。电池图标的垂直显示。 13 DHT11带电荷显示器的DHT11温度计温度计。 14代码查看platecopy到剪贴板打印? 1.从机器导入PIN,ADC,i2c22.from picodht22导入picodht2233.import ssd13064.import utime5.6。 SDA = PIN(4))11.OLED = SSD1306.SSD1306_I2C(128,64,I2C)12.13。 #电压参数划分电阻14.r1,r2 = 1000000,100000015.VREF_BAT = 3.81#电荷状态的电池电压。 -3.3) * 100,0),100)23。返回百分比,实际voltage24.25.def draw_battery(百分比):26.OLED.FILL.FILL(0)27.OLED.TEXT('{:。0f}%'。格式(百分比),90,27),90,27)28。 5,1)#anode31.OLED.FILL_RECT(92,12,INT(26 *% / 100),11,1)#electric pertival Parteage column32.show.show.show()35.Oled。fill (0) 36.Oled.text ('{: 0f}%'. 90, 27) 37. percent / 100), 11, 1) 41.Oled.Show () 42.43.Def draw_vertical_battery (percent, x, y): 44. #Local i -Clear the screen and show the battery percentage 45.oled.Fill_rect (X, Y, 15+8,30+16,0) 46.Oled.Text ('{{0f} frame (x, y, width, height) 49.oled.rect (5+x, 0+y, 5, 3, 1) # anode50.fill_h = int (26 * percent / 100) 51.oled.fill_rect (2+x, 2+ (28 - fill_h)+y, 11, fill_h, 1) OLED.SHOW () 54.55.led.Text(“温度:”,0,0)58.OLED.TEXT(“ {:1f} C”,20,15)59.oled.text(“ humid:”,0,0,0,35)60。true:66.emp,humi = dht_sensor.read,read read,bolt,bolt,bolty = get_ed_batter = get_batter = get_batter = get_batter = get_batter = leclage = get_batter = leclage = get_batter = leclage = leclage = get_batter。 69.#bat_display(百分比)70.Draw_vertical_battery(百分比,90,16)71.display_th(temp,humi)72。{:.2f} v,电池级别:{:1f}秒16眨眼动画OLED显示矩形充满眼睛,Chan绕形状并利用人眼的视觉保留效应,以达到眨眼的眼睛。 17代码查看platecopy到剪贴板打印? 1.从机器进口引脚,i2c2.import ssd13063.import undime4.import urandom5.6.i2c = i2c = i2c(0,scl = pin = pin(5),sda = pin(4))7.OLED_WIDTH = 1288.OLED_HEIGHT i2c)10.11.defdraw_eyes(状态,x什夫,yshift):12。 18. 1: # Semi-CLI ) y+(int).yshift): 35. #The open eye state remains 36.draw_eyes (0, XShift, yshift) 37.utime.sleep (1) 38. #Blink Animation Sequence 39.Draw_eyes (1, XShift, Yshift) #Half-Closed 40.UTime.Sleep (0.1) full closed 4 # full-open 46.47.DEF(0)51。18眨眼效应效果(眼睛位置在屏幕中随机移动)19项目代码结合了项目投影项目实现温度和水分数据显示(包括电池容量)和屏幕上随机闪烁动画的传递。请参阅夹板上的plaincopy?1.从机器导入引脚,aDC,i2c2.from picodht22导入picodht2233.import ssd13064.import utime5.import5.import urandom6.7。 sda = pin(4))12.OLED_WIDTH = 12813.OLED_HEIGHT = 6414.OLED = SSD1306.SSD1306_I2C(OLED_WIDTH,OOLED_HEIGHT,oled_height,i2c)15.16#bateryublete#Bateryublete ubletyeblete ubletyeblete uplyeblete in Full PallyState19.20.20.def get_batter_batter_battery_ledy_ledy = 21.VAL() adc.Read_U16()22. wttage =(adc_value /65535) *3.323.div_ratio =(r1+r2) /r124.voltage = voltage = voltage = voltage* div_ratio#voltage voltage voltage voltage voltage voltage voltage voltage voltage voltage voltage 25.percent = percent = percent = min(max _voltage-3.3) 26.返回百分比,实际_voltage27.28.def draw_vertical_battery(百分比,x,y):29。##局部清洁屏幕并显示电池百分比30.OLED.FILL_RECT(x,y,15+8,30+16,0,0+16,0)31.Oled.oled.oled.text(0f) (20,15,6*8,64-15,0)#part clear42.oled.text(“ tempe)rature:", 0, 0) 43.oled.text ("{:. 1f} c", 20, 15) 44.oled.text ("humidity:", 0, 35) " Open58.oled.fill_rect (X, Y, width, height, 1) 59.elif state == 1: # half open60.oled.fill_rect (x, y+(int) (height/4), width, (int)(高度/2),1)61.Else:#clos62.oled.hline(x,y+(in+(int)0:#full Open65.OLED.FILL_RECT(x+width+(int)(width/2)(width/2),y,width,y,width,1)66.el state == 1:half half open67.oled.fill y67.oled.fill_led y+wid+(x+wid+(x+wid)+(x+(x+(x)+(x+(x)+(x+(x)+(x) (高度/4),宽,(int)(高度/2),1)接近(x+width+(int)(width/2),y+(int)(高度/2),宽度,1)70.OLED.SHOW()71.72.def blink_eyes(xshift,yshift,yshift,yshift):73。 (0.5)76。81.draw_eyes(1,x shift,yshift)#half half open82.utime.sleep(0.1)83.draw_eyes(0,xshift,yshift)#整个open84.ime.utime.sleep(0.5)85.86.def ander_eyes(0.5) (OLED_WIDTH/4))88.YSHIFT = urandom.randint( - (int)(oled_height/3),(int)(oled_height/3))89.oled.fill.fill(0)90.blink_eyes(xs xs)hift,yshift)91。#print(xshift,yshift)92.93.dht_sensor = picodht22(pin(0,pin.in,pin.in,pin.pull_up),dht11 = true)94.def th_bat():95。get_battery_level() 100.Draw_vertical_battery(百分比,90,16)101.Print('温度:{.2f} C,湿度:{:.2F} RH,电池电压:{:.2f} V,电池级:{:.1f}%'。103.104。代码到根目录,删除数据电缆,连接电池以达到显示的影响。人类计算机的指定功能功能和联系,扩展和丰富该开发委员会在物联网领域的变化和应用,并为开发,设计和RP2350产品设计和应用提供参考。
分享到