相关商品

  • Arduino 水蒸气传感器 雨水探测器 液位开关 湿度传感器 电子积木
  • Arduino 魔法书 实现梦想的工具和技术
  • A-Star 32u4 Mini LV 可编程模块 ATmega32U4开发板 pololu原装
  • A-Star 32U4 Mini ULV 可编程模块 ATmega32U4开发板 Pololu原装
  • 动手玩转Arduino套件 爱上Arduino互动电子入门套件
  • 动手玩转 Arduino 爱上 Arduino 互动电子入门套件 Arduino必备教材
  • PVCBOT机器人设计与制作套件 DIY机器人套件升级版 第二册套件 配套书籍
  • 4WD机器人调试助手v2.0软件 智能小车 Arduino 履带 WiFi蓝牙小车
  • Arduino 实验电源连接线 9V电池扣
  • SparkFun原装进口 Block for Intel® Edison 扩展板 Arduino扩展
  • 机智云开发板 Arduino UNO 传感器扩展板 GoKit智能硬件
  • 学Arduino玩转机器人制作 爱上 Arduino套件 爱上制作图书 机器人制作知识大全 爱上机器人
  • Arduino 电流传感器 电流检测模块 过流保护模块 交流电检测
  • Arduino Yun Mini 控制器 ATmega32U4开发板 WIFI Linux原装限量
  • Arduino 9 Axes Motion Shield 9轴运动扩展板 三轴加速度计
  • Arduino M0 Pro 电路板 ATSAMD21G18 Arduino UNO 升级 原装
  • Arduino 制作手册 36个活用扩展板的制作项目 Arduino 创客之选
  • 原装进口 Arduino Mega 2560 控制器板 Arduino uno升级 A000067
  • 原装进口 Arduino Micro 控制器 ATmega32U4开发板 A000053
  • 基于Arduino UNO R3开发板 乐高外壳 UNO保护外壳 透明盒子 注塑外壳
  • 官方版 完美图解物联网IoT实操第二册:ESP8266 Arduino Cordova物联网书籍
  • 当前位置: 首页 > 应用教程 > 【创客学堂】玩转Arduino-脉宽调制(PWM)实例

    【创客学堂】玩转Arduino-脉宽调制(PWM)实例

    编辑:Xtm2014-09-17 浏览次数:1378

    这次就用Arduino和一组三色灯(红、黄、绿)来实际应用一下PWM吧,首先先观察一下Arduino板子,共有六个PWM接口,他们分别是数字接口3、5、6、9、10、11 ,方便起见我们使用9、10、11这三个连续的PWM接口。在编写程序的过程中,我们会用到模拟写入analogWrite(PWM接口,模拟值)函数,对于模拟写入analogWrite()函数,PWM的调制频率被设置为30KHz

    先按照下图连接好电路

    Arduino 电路

    这里我使用的电阻阻值是50欧姆,这里并不唯一,需要根据所使用的LED及其亮度选择适合阻值的电阻。

    Arduino 电路 元件 连接

    下面就可以编写程序了,我们就让三个小灯依次缓慢亮起再缓慢熄灭,这样往复循环。

    int redpin=11;//定义LED接口

    int yellowpin=10;

    int greenpin=9;

    int redval;//定义LED变量

    int yellowval;

    int greenval;

    int i=0;

    void setup()

    {

    pinMode(redpin,OUTPUT);//设置LED接口为输出接口

    pinMode(yellowpin,OUTPUT);

    pinMode(greenpin,OUTPUT);

    pinMode(redval,INPUT);//设置LED变量为输入值

    pinMode(yellowval,INPUT);

    pinMode(greenval,INPUT);

    Serial.begin(9600);//连接到串行端口,波特率为9600

    }

    void loop()

    {

    i++;

    if(i<200)

    {

    redval+=1;//红灯变亮

    greenval-=1;//绿灯变暗

    yellowval=1;//黄灯不变

    }

    else if(i<400)

    {

    redval-=1;//红灯变暗

    greenval=1;//绿灯不变

    yellowval+=1;// 黄灯变亮

    }

    else if(i<600)

    {

    redval=1;//红灯不变

    greenval+=1;//绿灯变亮

    yellowval-=1; //黄灯变暗

    }

    else

    {

    i=0;//重新给i赋值进行新循环

    }

    analogWrite(redpin,redval);//给LED接口赋模拟值

    analogWrite(yellowpin,yellowval);

    analogWrite(greenpin,greenval);

    Serial.print(i,DEC);//显示出i的值

    Serial.print(    "     R:");//分别显示出各个LED的模拟值

    Serial.print(redval,DEC);

    Serial.print(    "     Y:");

    Serial.print(yellowval,DEC);

    Serial.print(    "    G:");

    Serial.println(greenval,DEC);

    }

    Arduino编辑环境

    下载好程序就可以看到最终结果了。

    Arduino 实际效果

    相关文章:玩转Arduino-脉宽调制

                     玩转Arduino-编程语言

    本文转自:Rebecca●Arduino极客

     

    • 用户评价

    暂时还没有任何用户评论

    总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
    用户名: 匿名用户
    E-mail:
    评价等级:
    评论内容:
    验证码:
    captcha

    Hi,大家好,我是小奥!

    欢迎来到奥松机器人的世界!

    需要咨询服务请点小奥哦!

    • 销售咨询: 销售咨询
    • 销售咨询: 销售咨询
    • 技术支持: 技术支持
    • 咨询电话:
      0451-86628691
    Top