ArduinoUNO实战-第七章-PWM调光

ArduinoUNO实战-第七章-PWM调光

目录

概述

通过电位器控制LED的亮度。

脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。

学习目标

学会PWM的使用:PuleWidth Modulation脉冲宽度调制,简称脉宽调制。是利用微处理器的数字输出来模拟电路进行控制的一种非常有效的技术,广泛应用在从测量,通信到功率控制与变换的许多领域中。

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

输出的电压值是通过通和断的时间进行计算的,计算公式为:

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

PWM的三个基本参数:

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

Arduino UNO控制器上有6个PWM的接口分别是数字接口3、5、6、9、10、11

Arduino中的设置PWM的语句:

analogWrite(pin, value);
// pin:用于输入数值的引脚
// value:占空比:0(完全关闭)到255(完全打开)之间

led

www.zeeklog.com  - ArduinoUNO实战-第七章-PWM调光

Mind+开始

www.zeeklog.com  - ArduinoUNO实战-第七章-PWM调光

IDE

/*
  测试PWM控制LED
*/

// 定义一个LED
#define LED 3
// 定义电位器引脚
#define POT A0

// 定义接收电位器的值
int PotBuffer = 0;

// the setup function runs once when you press reset or power the board
void setup() {
  // 打开串口
  Serial.begin(9600);
  // LED设置为输出
  pinMode(LED, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  // 电位器控制led灯亮度
  PwmLed();
}

void PwmLed()
{
  // 读取电位器的值
  PotBuffer = analogRead(POT); 
  PotBuffer = map(PotBuffer, 0 ,1023 , 0, 255);  
  analogWrite(LED, PotBuffer);  
}

此时转到电位器,发现led的亮度会变化。

Read more

印度统治阶级锁死底层人的5大阳谋

印度统治阶级锁死底层人的5大阳谋

基于社会学和心理学视角: 1. 情感道德: 统治阶级通过塑造道德规范和情感价值观,引导底层人群的行为。例如,宣扬“勤劳致富”“忍耐美德”等观念,让底层人接受现状并自我约束。这种道德框架往往掩盖结构性不平等,使人们将个人困境归咎于自身而非系统。 2. 欲望控制: 通过消费主义和媒体宣传,统治阶级刺激底层人的物质与社会欲望(如名牌、地位),但同时设置经济壁垒,使这些欲望难以实现。底层人被困在追求“更好生活”的循环中,精力被分散,无法聚焦于挑战权力结构。 3. 情绪煽动: 利用恐惧、愤怒或民族主义等情绪,统治阶级可以通过媒体或公共事件转移底层人对社会问题的注意力。例如,制造外部敌人或内部对立(如阶层、种族矛盾),让底层人内耗而非联合反抗。 4. 暴利诱惑: 通过展示少数“成功案例”或快速致富的机会(如赌博、投机),诱导底层人追逐短期暴利。这种机制不仅让底层人陷入经济风险,还强化了对现有经济体系的依赖,削弱长期变革的可能性。 5. 权力震撼: 通过展示统治阶级的权力(

By Ne0inhk