我有一组LED,每组LED都反向设置,所以当我以一种方式向电源1,3,5 ...供电时,会向相反方向供电。更改功率和2,4,6 ...我正在尝试使用数字引脚上的PWM设置亮度。这是我的代码:
<mat-form-field>
<mat-select placeholder="Favorite food">
<mat-option [value]="'a'">A</mat-option>
<mat-option [value]="'b'">B</mat-option>
<ng-container *ngTemplateOutlet="otherOptions"></ng-container>
</mat-select>
</mat-form-field>
<ng-template #otherOptions>
<mat-option [value]="'c'">Other</mat-option>
</ng-template>
如果我将AnalogWrite改为255而不是1,它将切换两组LED。如果将AnalogWrite更改为127或更小,则只有一组亮起。如果我将LED导线切换到引脚,问题将切换到另一组灯。
指示灯如下:
'LaunchRequest': function () {
this.emit(':ask', "Hi, Welcome to the my classes skill. What day would you like to know about?");
},
答案 0 :(得分:2)
将LED的连接更改为均支持PWM的引脚。
并非所有引脚都支持PWM。 analogWrite文档指定了哪个引脚取决于哪个板:
在大多数Arduino板上(带有ATmega168或ATmega328P的那些),此功能可在引脚3、5、6、9、10和11上使用。在Arduino Mega上,它可在引脚2-13和44-46上使用。带有ATmega8的旧版Arduino板仅在引脚9、10和11上支持AnalogWrite()。
另一个因素是analogWrite(255)
和analogWrite(0)
将恢复为将输出驱动为数字输出。因此,写入255将导致两个引脚都输出(一个作为数字输出,另一个作为PWM模式)。但是将1写入127只会导致具有PWM功能的引脚发生变化。
答案 1 :(得分:1)
从arduino的联机帮助页中:
语法 AnalogWrite(pin,value)
参数 引脚:要写入的引脚。允许的数据类型:整数。 值:占空比:在0(始终关闭)和255(始终打开)之间。允许的数据类型:int
使用值为1的AnalogWrite本质上接近零。 255将是满电压。您试图像使用digitalWrite()一样使用analogWrite()。
请考虑在代码中使用数字写入:https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/
关于LED的行为,似乎还需要调试电路:仅当引脚7接通时,电路才允许电流流动。二极管(发光二极管)仅允许一个方向的电流。如果您打算让LED备用,则它们的所有正极都应指向其GPIO引脚,并且在它们相遇的地方应通过一个下拉电阻器接地。