大 创 实 验 室

更多内容请联系(xì)我们

第二章 科创板(bǎn)-灯光呼吸

发表时间:2020-05-27 16:06作者:大(dà)创实验室来源:大(dà)创实验室(shì)网址:http://www.yj.jian.ww38.viennacitytours.com


第2课 科创板-灯光(guāng)呼吸




1、了(le)解PWM原理;

2、利(lì)用PWM控制灯亮度;

3、通过编程制作呼吸灯。

1
PWM原理——Science

PWM又称脉冲(chōng)宽度调制,就是改变脉冲宽(kuān)度(dù)来实现对对象(xiàng)的控制,达(dá)到预期(qī)的效(xiào)果。

我们先来看(kàn)三组(zǔ)不同(tóng)的脉冲信(xìn)号,如下图所示:


这是一(yī)个周期是10ms的波形图,但(dàn)是在每个周期内,高(gāo)低电平的脉冲宽度各不相同,这就(jiù)是PWM的本质(zhì)。在这里(lǐ)大家(jiā)要记住(zhù)一(yī)个概念,叫做“占空比”,占空比是(shì)指在(zài)一个(gè)周期内,高电平(píng)的时间占整个周期的比例。比如第一部分波形的占空比是40%,第二部分波形占空比是60%,第三部分波形占空(kōng)比是80%,这就是PWM原理。

那为何它(tā)能(néng)对模拟电路进行控制呢?在数字电路里(lǐ),只有0和1两种状(zhuàng)态(tài),比如点亮LED灯的程序,当我们在(zài)控制程(chéng)序里面(miàn)写“1”时,灯就会点亮,写(xiě)“0”时,灯就会灭掉。我们让“1”和“0”间隔(gé)运(yùn)行(háng),灯(dēng)就会闪(shǎn)烁。如果(guǒ)我们把这个间隔不断的减小,减小到(dào)我们(men)的肉(ròu)眼分(fèn)辨不出来,这时候灯表现(xiàn)出来的现象(xiàng)就是保持亮的状态(tài),但亮度又没有“1”时的亮度高。明白了这个原理,那么我们就可以(yǐ)通过调(diào)节灯亮的时(shí)间(jiān)与整个周期的比例来调节灯(dēng)的(de)亮(liàng)度了。

二(èr)、试验与科学——Technology and Math

1、利用PWM控(kòng)制(zhì)灯的亮(liàng)度(dù)

认识“数字(zì)”代码块

“数字”代码块位(wèi)于“数学”模块中,它表示的是一个特定(dìng)的数字。


认识“赋值”代(dài)码块(kuài)

“赋(fù)值”代码块位于“变量”模块(kuài)中(zhōng),它(tā)的作(zuò)用是定义一个(gè)变量,并(bìng)给这个变(biàn)量一个特定(dìng)值。


设置一个(gè)变量“i”,i的取值空间(jiān)是0到10,周期为10。


i/10就是它的(de)占空比,将i依次从0到10写入(rù)程序并下(xià)载(zǎi)到(dào)科(kē)创板(bǎn),体验(yàn)下不(bú)同占空比时LED灯的亮度变化。


大(dà)家已经做完试验(yàn)了,想必大家会有(yǒu)这样的疑问,当i=0时(shí),管脚27为高电平,0秒后为低电平,10毫秒(miǎo)后再变为高(gāo)电平(píng),如此循环,理(lǐ)论上等应(yīng)该是灭的,为什么还(hái)稍(shāo)微有点暗红(hóng)色呢?

这是因为处理器在执(zhí)行(háng)程序(xù)时本(běn)来就需要时间的,在执行这段代(dài)码时 首先执行了管脚(jiǎo)27高电平(红灯亮),延时0毫秒,再执行管脚(jiǎo)27低电(diàn)平(红灯灭(miè)),这个过程需要执行3个程序块,另外在硬件电路(lù)里(lǐ)往往有震荡出现(xiàn),电流(liú)不是马上(shàng)消失的。

2、初尝呼吸灯

认识“对“range”中的每个项(xiàng)目”代码块(For循环)

“对“range”中的每(měi)个项目”代码块位于“控制(zhì)”模块分类中(zhōng),表示(shì)从(cóng)起(qǐ)始数(shù)到终止数中取出固定步长的变量,并执行接口中的程序。


呼吸灯是指灯光在控制(zhì)下完成由(yóu)暗到(dào)亮,再由亮(liàng)到暗的逐渐变化(huà),感(gǎn)觉好(hǎo)像是人在呼吸。

让灯光从暗(àn)到亮的逐(zhú)渐变化过程,可以转化成高电(diàn)平(píng)持续时(shí)间在固定周(zhōu)期中的比例逐渐升高(gāo)的过程,即占空比从0~1的过程。


上图所示程(chéng)序中, “range”模块(kuài)执行完要100次,执行一次周期10000微秒(miǎo),即10毫秒(miǎo)。执行完整个“range”模块需要(yào)100*10毫秒,即(jí)1秒。此为占空(kōng)比(bǐ)从0/10000~10000/10000的LED灯。

我(wǒ)们已经实现了LED灯由暗(àn)到亮的逐渐变化过程,同理可以写出LED灯(dēng)由亮到按的逐渐变化过程。将(jiāng)两个程(chéng)序(xù)块放到(dào)一起,就可以组成一(yī)个完(wán)整的呼吸灯了。


3、优(yōu)化呼(hū)吸(xī)灯(dēng)

认识“初(chū)始化PWM模拟输出”代(dài)码(mǎ)块以及“PWM模拟输出赋值”代(dài)码(mǎ)块

两个代码块(kuài)均位(wèi)于“输入\输出”模块中。其中“初始化(huà)PWM模拟(nǐ)输出”代码块作用为初(chū)始化指定管脚的PWM模拟输出值; “PWM模拟输出赋值”代码块作用(yòng)为将指定PWM管(guǎn)脚赋值为(wéi)特定值(0或1)。


此(cǐ)前PWM的原理以及(jí)应用,我们已(yǐ)经学会了(le)。但是我们还有(yǒu)更简单的(de)程序(xù)应(yīng)用,那就是用我们(men)科创板自(zì)带的PWM模块。

科创板自带PWM的赋值范围为0~1023,即占(zhàn)空比从0到1。

板载PWM呼吸灯程序:


执(zhí)行(háng)以上(shàng)程序(xù),就(jiù)可以点(diǎn)亮板载四个(gè)绿色呼吸灯了。



三、延(yán)伸与扩展——Arts

想一想,能(néng)不能设(shè)计一款流水呼吸灯呢,怎样去实(shí)现?


请以小组(zǔ)的(de)形(xíng)式进(jìn)行合作(zuò),尝试让多彩(cǎi)LED灯(dēng)的(de)三色(sè)灯光(guāng)轮流完(wán)成(chéng)一个呼吸灯流(liú)程。

设计要求:

能够让(ràng)多(duō)彩LED灯交依次完(wán)成一个呼吸灯流程(chéng);

保证控制(zhì)方式安全可靠(kào)。






山东省济南市(shì)历(lì)下区(qū)舜华(huá)路(lù)750号大学科技园北区(qū)3号楼
服务热线:13256445996                                  www.yj.jian.ww38.viennacitytours.com

乐投网页版-乐投(中国)

乐投网页版-乐投(中国)