模拟输出和输入;analog

255是灯的最大亮度;
模拟输入analogRead(pin); //模拟输入引脚读取数值
1.模拟输出analogWrite(pin,参数) //通过参数的大小,控制引脚(比如说亮度)
boolean pushButton1;
boolean pushButton2;
int LED=9;
int brightness=128 //LED亮度参数
void setup(){
pinMode(2,INPUT_PULLUP);
pinMode(8,INPUT_PULLUP);
pinMode(LED,OUTPUT);
Serial.begin(115200);
}
void loop(){
pushButton1=digitalRead(D2);
pushButton2=digitalRead(D3);
if(!pushButton1 && brightness>0) //当按下开关1,并且brightness>0
{
brightness--;
}
if(!pushButton2 && brightness<255) //当按下开关2,并且brightness<255
{
brightness++;
}
analogWrite(LED,brightness); //通过birghtness的大小来模拟控制LED亮度
Serial.println(brightness);
delay(10);
}
二、电位器,电阻总和为1000欧姆,向左转R1-2减小,R2-3增大


如果如上图所示,那么,旋钮向左旋转,模拟输入引脚的电压减小,接地引脚是电压的参考位置。

int analogvalue=analogRead(A0);
int brigthness=map(analogvalue,0,1023,0,255);
电位器通过模拟输入的引脚A0把模拟输入传给ARDUINO,ARDUINO有10位转换器,0~5伏特电压对应这0~1023;
map();等比映射
浙公网安备 33010602011771号