一、图片:

    二、程序代码:

    1. /*
    2. 按键控制pwm进而调节LED灯的亮度,Arduino板的3、5、6、9、10、11引脚可输出pwm,
    3. P2接key1:减小pwm
    4. P8接key2:增加pwm
    5. P9接LED
    6. */
    7. boolean key1; //定义布尔变量:key1
    8. boolean key2; //定义布尔变量:key2
    9. int LED = 9; //定义整形变量:LED
    10. int pwm = 128;
    11. void setup()
    12. {
    13. pinMode(2,INPUT_PULLUP); //设置P2口为输入上拉模式
    14. pinMode(8,INPUT_PULLUP); //设置P8口为输入上拉模式
    15. pinMode(LED,OUTPUT); //设置P9口为输出模式
    16. Serial.begin(9600); //设置通讯波特率为9600
    17. }
    18. void loop()
    19. {
    20. key1 = digitalRead(2); //读取P2口的状态(高电平/低电平)
    21. key2 = digitalRead(8); //读取P8口的状态(高电平/低电平)
    22. if(!key1 && pwm > 0) //判断按键是否被按下
    23. {
    24. pwm --;
    25. }
    26. else if(!key2 && pwm < 225)
    27. {
    28. pwm ++;
    29. }
    30. analogWrite(LED,pwm); //根据输入值pwm调节LED亮度的函数
    31. Serial.println("pwm"); //在显示屏中显示pwm值
    32. delay(10); //延时10ms
    33. }

    三、串口通讯函数:
    (1).Serial.begin(int speed) //初始化串口比特率函数
    例:Serial.begin(9600);
    (2).Serial.available() //串口输入数据读取前的判断函数
    返回值为1时说明串口缓存(buff)中有数据,返回值为0时说明串口buff中无数据或者数据已经读取出来过
    例:if(Serial.available())
    (3).Serial.read() //从串口buff中读取数据进来
    例:information=Serial.read();
    (4).Serial.flush() //清空串口buff中的数据
    (5).Serial.print(data) //把数据data从串口发送出去
    a、Serial.print(data) //把data对应的字符串ASCII码发送出去。
    如:int data=79;
    Serial.print(data);
    串口发送出去的就是字符串”79”的ASCII
    b、Serial.print(data,DEC) //发送的是data的10进制字符串
    如:int data=79;
    Serial.print(data,DEC);
    串口发出去的就是字符串”79”
    c、Serial.print(data,HEX) //发送的是data的16进制字符串
    例:
    int data=79;
    Serial.print(data,HEX);
    串口发出去的就是10进制数字79对应的16进制值“4F”
    d、Serial.print(data,OCT) //发送的是data的8进制字符串
    例:
    int data=79;
    Serial.print(data,OCT);
    串口发出去的就是10进制数字79对应的8进制值“117”
    e、Serial.print(data,BIN) //发送的是data的二进制字符串
    例:
    int data=79;
    Serial.print(data,BIN);
    串口发出去的就是10进制数字79对应的二进制值“1001111”
    f、Serial.print(data,BYTE)
    这是把data作为ASCII码对应的字符后发送,有的Arduino版本不支持这个函数
    g、Serial.println(data)
    类似Serial.print (data),把数据发送出去,不同的是发送的数据后面带上了换行符号