通过arduino串口输入PWM值控制电机转速

本文介绍了一个基于Arduino的PWM控制LED亮度的程序实例。通过串口接收0-9的数字字符,将其转换为整数并映射到0-255的范围,控制连接到模拟输出引脚9的LED亮度。程序包含初始化串口通讯、设置引脚模式、读取串口数据和调整PWM输出等关键步骤。

const int analogOutPin = 9; // Analog output pin that the LED is attached to
int outputValue = 0; // value output to the PWM (analog out)

void setup() {
// initialize serial communications at 9600 bps:
pinMode(analogOutPin, OUTPUT);
Serial.begin(9600);
}

void loop() {

String inString;
while(Serial.available()>0)
{
// 读取一个字符
int inChar = Serial.read();
// 判定是不是数值字符(0~9)
// [注意]该判定方法组会导致只提取字符串中的所有数字并将其构成一个数字字符序列
if (isDigit(inChar)) {
// 添加到字符串中(byte转换为char类型)
inString+= (char)inChar;
outputValue=inString.toInt();
}

}
analogWrite(analogOutPin, outputValue);
Serial.println(outputValue);
delay(1000);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值