PWM调光实验

电位器实验

PWM调光实验

实验目的

电位器控制LED的亮度

理论学习

PWM简介

脉冲宽度调制,简称为脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,广泛应用在测量、通信到功率控制与变换的许多领域

  • PWM是一种对模拟信号电平进行数字编码的方法,由于计算机不可以输出模拟电压,而只可以输出0V或者5V的数字电压值(0V为0 ,5V为1)所以通过高分辨率器,利用方波的占空比被调制的方法对一个具体的模拟信号的电平进行编码,但是PWM信号仍然是数字的,因为在给定的任意时刻,直流供电要么是5V(1)要么是0V(0)。电压或者电流源以一种通(ON)、断(OFF)的重复脉冲序列加到模拟负载上,只要带宽足够,任何的模拟值都可以使用PWM进行编码
  • 输出的电压值是通过通和断的事件进行计算的

输出电压 = (接通时间/脉冲时间)* 最大电压值

PWM的三个基本参数

脉冲宽度变化幅度(最小值/最大值)
脉冲周期(1秒内脉冲频率个数的倒数)
电压高度(0V-5V)

arduino uno控制器上有6个PWM接口,分别是数字接口3、5、6、9、10、11

原理图

在这里插入图片描述
在这里插入图片描述

代码编写

#define pot A0
#define LED 3
int potbuffer = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(LED, OUTPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  potbuffer = analogRead(pot);
  potbuffer = map(potbuffer, 0, 1023, 0, 255);
  analogWrite(LED, potbuffer);
}
/*
  函数的用法:
    map(x,in_min,in_max,out_min,out_max);
    函数的作用:
      可以用来将某一数值从一个区间等比映射到一个新的区间
    参数:
      x:要映射的值
      in_min:映射前区间的最小值
      in_max:映射前区间的最大值
      out_min:映射后区间的最小值
      out_max:映射后区间的最大值
    analogWrite(pin,value);
    函数的作用:
      将一个模拟数值写入arduino引脚,可以用来控制LED灯的亮度,或者是电机的转速
    参数:
      pin:被读取的模拟引脚号码
      value:0到255之间的PWM频率值,0对应OFF,255对应ON
*/

无源蜂鸣器实验

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_45671732

你们鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值