大 创 实 验 室

更(gèng)多内容请联系我们

第二章 科(kē)创板-灯光呼吸

发表时间:2020-05-27 16:06作(zuò)者:大创实验室来源:大(dà)创实验室网址:http://www.bellistspa.com


第(dì)2课 科创板(bǎn)-灯光呼(hū)吸(xī)




1、了解PWM原(yuán)理;

2、利用PWM控(kòng)制灯亮度;

3、通过编程制作呼(hū)吸灯(dēng)。

1
PWM原理——Science

PWM又称脉冲宽度(dù)调制,就(jiù)是改变脉冲(chōng)宽度来实现对对象的控制(zhì),达到预期的效果(guǒ)。

我们先(xiān)来看三组不同的脉冲信号,如(rú)下(xià)图所示:


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

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

二、试(shì)验(yàn)与科(kē)学(xué)——Technology and Math

1、利用PWM控制灯的亮度

认识“数(shù)字”代码块

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


认识“赋值”代码块

“赋值”代码块位(wèi)于“变量”模块中(zhōng),它的作用(yòng)是定义一个(gè)变量,并(bìng)给这个变量一个特(tè)定值。


设置一个变量(liàng)“i”,i的取值空间是0到10,周期(qī)为10。


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


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

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

2、初(chū)尝呼吸灯

认(rèn)识“对(duì)“range”中的每个项目”代码块(For循环)

“对“range”中的每个项目”代码块(kuài)位于(yú)“控制(zhì)”模块分类中,表示从起始数到终止数中取出(chū)固定步长的变量,并执行接口中(zhōng)的程序。


呼吸(xī)灯是指灯光在(zài)控制(zhì)下(xià)完成由暗到亮,再由亮到暗的逐渐变化,感(gǎn)觉好像是人在呼吸。

让灯光从暗到亮的逐渐(jiàn)变化过程,可以转化成高电平持续时(shí)间在(zài)固定(dìng)周期中的比例逐(zhú)渐升(shēng)高的过(guò)程,即占空比从0~1的过程。


上图(tú)所示程序中, “range”模块执行完要100次,执行一次周(zhōu)期(qī)10000微(wēi)秒,即10毫秒。执(zhí)行完整个“range”模块需要(yào)100*10毫(háo)秒,即1秒。此为占空(kōng)比从(cóng)0/10000~10000/10000的LED灯。

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


3、优化呼吸灯

认(rèn)识“初(chū)始化(huà)PWM模拟输出”代(dài)码块以及“PWM模(mó)拟输(shū)出赋值(zhí)”代码(mǎ)块

两个(gè)代码块(kuài)均位(wèi)于“输(shū)入(rù)\输出”模(mó)块中。其中(zhōng)“初始(shǐ)化PWM模(mó)拟输出”代码块作用为初始化指定管脚的PWM模拟(nǐ)输出(chū)值; “PWM模拟输出赋值”代(dài)码(mǎ)块作用为将指定PWM管脚(jiǎo)赋值为特定(dìng)值(0或1)。


此前PWM的原理以及应用,我们已(yǐ)经学会(huì)了(le)。但是我们还有更简单(dān)的(de)程(chéng)序应用(yòng),那就是用我们科(kē)创板自带(dài)的PWM模块。

科(kē)创(chuàng)板自带PWM的赋值范围为0~1023,即占空比从0到(dào)1。

板载PWM呼吸灯(dēng)程(chéng)序:


执行以上程(chéng)序,就可以点(diǎn)亮板载四(sì)个绿色呼吸灯了。



三、延伸与扩展——Arts

想(xiǎng)一想(xiǎng),能(néng)不能设计一款流水呼吸灯(dēng)呢,怎(zěn)样去实现?


请(qǐng)以小(xiǎo)组的形式进行合作,尝(cháng)试让(ràng)多彩(cǎi)LED灯(dēng)的三色灯光轮流完成一个呼吸灯流程。

设计要(yào)求:

能(néng)够让多彩LED灯交依(yī)次完成一个呼吸灯流程(chéng);

保证(zhèng)控制方(fāng)式(shì)安全(quán)可靠。






文章(zhāng)分类: 教学课程
分享(xiǎng)到:
山东省济南市历下区舜华路750号(hào)大学科技园北(běi)区(qū)3号楼
服务热线:13256445996                                  www.bellistspa.com

首页_JDB(中国)电子_官方网站

首页_JDB(中国)电子_官方网站