大 创 实 验 室

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

第(dì)二(èr)章 科创板-灯光呼吸

发表时间(jiān):2020-05-27 16:06作者:大创实验室来(lái)源:大创实验室(shì)网址:http://www.hnfhclfz.bijie.shanxi.linyi.jiaxing.zz.pingliang.ww38.viennacitytours.com


第2课 科(kē)创板-灯光呼吸




1、了解PWM原理;

2、利(lì)用PWM控制(zhì)灯亮(liàng)度;

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

1
PWM原理——Science

PWM又称(chēng)脉冲宽度调制,就是改变脉(mò)冲宽度(dù)来(lái)实现对对象的控制,达到预期的效果。

我们先(xiān)来看三(sān)组不同(tóng)的脉冲信(xìn)号(hào),如下(xià)图(tú)所示:


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

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

二、试验与科学(xué)——Technology and Math

1、利用(yòng)PWM控(kòng)制灯的亮度

认识“数字”代码块

“数字”代码块位于(yú)“数学”模块(kuài)中,它表示的是一个特定的数字。


认识(shí)“赋值”代码(mǎ)块

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


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


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


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

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

2、初(chū)尝呼吸灯

认识(shí)“对“range”中的每(měi)个项(xiàng)目”代(dài)码(mǎ)块(For循(xún)环)

“对“range”中(zhōng)的每个项目”代码块位于“控(kòng)制”模块分(fèn)类中,表示从起(qǐ)始数到终止数中取出(chū)固(gù)定步长(zhǎng)的(de)变量,并执行接口中的程序。


呼吸灯(dēng)是指灯光在控制下完成由(yóu)暗到亮,再由亮到暗(àn)的逐渐(jiàn)变化(huà),感觉好像(xiàng)是人在呼吸。

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


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

我们已经实(shí)现了LED灯由暗到亮的逐渐变化过程,同理(lǐ)可以写(xiě)出LED灯由亮到按(àn)的(de)逐渐变化过程。将两个(gè)程序块放到一起(qǐ),就可以组成一个完整的呼吸灯(dēng)了。


3、优化(huà)呼吸灯

认识“初始化PWM模拟输(shū)出”代码(mǎ)块以及“PWM模(mó)拟输出赋值(zhí)”代码块

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


此前PWM的原理(lǐ)以及应用,我们已经(jīng)学会了。但是我们还有更简单的程序应用,那就是用我们科创板自带的PWM模块。

科创板自带PWM的赋(fù)值范围为0~1023,即占空(kōng)比从0到1。

板载PWM呼吸灯程序(xù):


执行以上程(chéng)序,就可以点亮板载四个绿色呼(hū)吸灯了。



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

想(xiǎng)一想,能不(bú)能(néng)设计(jì)一款流水(shuǐ)呼(hū)吸灯呢,怎样去实现?


请以小组的(de)形式进行合作,尝试让多彩LED灯的三色灯光轮(lún)流完成一个呼吸灯流程。

设计要求:

能够(gòu)让多彩LED灯交依次完成一个呼(hū)吸灯流(liú)程(chéng);

保证控制方(fāng)式安全可(kě)靠。






文(wén)章分类: 教学课程
分享(xiǎng)到:
山东省济南市历下区(qū)舜华路750号大学科技园北区3号楼
服务热(rè)线(xiàn):13256445996                                  www.hnfhclfz.bijie.shanxi.linyi.jiaxing.zz.pingliang.ww38.viennacitytours.com

QY球友会

QY球友会