鳕鱼天空

This is Mr Wang's Tech Blog.

arduino学习备忘——WS2812B柔性拼接屏

2018-10-5 今日为了中旬的上海展会在调试led拼接屏,备忘如下:

1、之前困扰许久的显示过亮问题可以通过将RgbColor转换为然后HslColor调低L(亮度)来实现,初步测试亮度为0.1~0.01区间即可。

arduino中的HslColor取值:

H:Hue(色调)。0~1,0表示红色,0.33表示绿色,0.67表示蓝色

S:Saturation(饱和度)。取值为:0.0% - 100.0%

L:Lightness(亮度)。取值为:0.0% - 100.0%

 

2、每个WS2812B的LED小灯珠0.3W,具体说明如下:

主要特点

  • 智能反接保护,电源反接不会损坏IC。
  • IC控制电路与LED点光源公用一个电源。
  • 控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。
  • 内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。
  • 内置上电复位和掉电复位电路。
  • 每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。
  • 串行级联接口,能通过一根信号线完成数据的接收与解码。
  • 任意两点传传输距离在不超过5米时无需增加任何电路。
  • 当刷新速率30帧/秒时,级联数不小于1024点。
  • 数据发送速度可达800Kbps
  • 光的颜色高度一致,性价比高。

主要应用领域

  • LED全彩发光字灯串,LED全彩模组, LED全彩软灯条硬灯条,LED护栏管。
  • LED点光源,LED像素屏,LED异形屏,各种电子产品,电器设备跑马灯。

引用自:WS2812B电路与引脚图及规格书下载 RGB5050资料(出处: 单片机论坛)

低压大功率电器的电线选择(LED整列)

查表可得不同温度下铜的电阻率:
0 0.0165欧姆平方毫米/米
10 0.0172欧姆平方毫米/米
20 0.0178欧姆平方毫米/米
30 0.0185欧姆平方毫米/米
35 0.0188欧姆平方毫米/米
40 0.0192欧姆平方毫米/米
50 0.0200欧姆平方毫米/米
60 0.0206欧姆平方毫米/米
70 0.0212欧姆平方毫米/米
75 0.0216欧姆平方毫米/米
80 0.0219欧姆平方毫米/米
90 0.0226欧姆平方毫米/米
100 0.0233欧姆平方毫米/米

 

线路选取计算公式:

5v供电,1米,20A,降压控制在0.5v

假设用铜线,全部按最大计算,R=0.0175欧*1米*2条*/S=0.5V/20A,
S=0.0175欧*1M*2*20A/0.5V=1.4
解得:S=1.4,取1.5平方铜线。

 

如果距离加长,需要大大增加导线截面积!

 

 

2018/10/5 加电测试所得,如果长时间保持全屏100%亮度显示,70A电压的风扇会持续工作,LED屏的功率还是很可观的,0.3W/个,加起来耗电相当厉害,此时使用的是2.5平方2米的线。

教孩子学编程(Python版)

MU 1.0.0

https://pan.baidu.com/s/1935q1m7nMj9QL4vS8j6eeQ

 

彩色的乌龟1

import turtle
colors = ["red", "yellow", "blue", "green"]
t=turtle.Pen()
for x in range(100):
    t.pencolor(colors[x%4])
    t.forward(x)
    t.left(92)

可控制的彩色乌龟:

import turtle
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green", "pink", "purple", "orange"]
t = turtle.Pen()
siders = eval(input("Please enter a number of siders between 2 and 7:"))
if(siders > 7):
    siders = 7
if(siders < 2):
    siders = 2
for x in range(400):
    t.pencolor(colors[x % siders])
    t.forward(x*3/siders+x)
    t.left(360/siders+1)
    t.width(x*siders/200)

 

 

 

教孩子学编程(Python)PDF

Excel 日常记录

2018-09-05

记分册中的名单打印:

分辨率1440*900,学号4px,姓名8px,行高14px,字体9pt

微信小程序页面跳转

微信小程序页面跳转目前有以下方法(不全面的欢迎补充):

1. 利用小程序提供的 API 跳转:

复制代码

// 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,但是 redirectTo 
wx.navigateTo({
  url: 'page/home/home?user_id=111'
})

复制代码

// 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

wx.navigateTo({
  url: 'page/home/home?user_id=111'  // 页面 A
})
wx.navigateTo({
  url: 'page/detail/detail?product_id=222'  // 页面 B
})
// 跳转到页面 A
wx.navigateBack({
  delta: 2
})

复制代码

// 关闭当前页面,跳转到应用内的某个页面。
wx.redirectTo({
  url: 'page/home/home?user_id=111'
})
// 跳转到tabBar页面(在app.json中注册过的tabBar页面),同时关闭其他非tabBar页面。
wx.switchTab({
  url: 'page/index/index'
})
// 关闭所有页面,打开到应用内的某个页面。
wx.reLanch({
  url: 'page/home/home?user_id=111'
})

复制代码

 

 2. wxml 页面组件跳转(可以通过设置open-type属性指明页面跳转方式):

  

复制代码

// navigator 组件默认的 open-type 为 navigate 
<navigator url="/page/navigate/navigate?title=navigate" hover-class="navigator-hover">跳转到新页面</navigator>
// redirect 对应 API 中的 wx.redirect 方法
<navigator url="../../redirect/redirect/redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">在当前页打开</navigator>
// switchTab 对应 API 中的 wx.switchTab 方法
<navigator url="/page/index/index" open-type="switchTab" hover-class="other-navigator-hover">切换 Tab</navigator>
// reLanch 对应 API 中的 wx.reLanch 方法
<navigator url="../../redirect/redirect/redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">关闭所有页面,打开到应用内的某个页面</navigator>
// navigateBack 对应 API 中的 wx.navigateBack 方法
<navigator url="/page/index/index" open-type="navigateBack" hover-class="other-navigator-hover">关闭当前页面,返回上一级页面或多级页面</navigator>
 

复制代码