0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加速度计控制的LED的制作图解

454398 来源:wv 2019-10-25 17:51 次阅读

步骤1:材料

Arduino Uno

加速度计模块

LED

连接线

面包板

USB数据线

步骤2:连接加速度计

加速度计主要有5个端子

VCC(5V)

接地

X轴

Y轴

Z轴

电源电压和接地由Arduino Uno通过连接线提供。通电后,板上的红色小LED发光,表明模块正在读取X,Y和Z轴的运动。

步骤3:互连LED的

为了控制LED,必须将它们互连到Arduino Uno。负极端子与地面(Arduino的Gnd)共用,正极端子与Arduino的数字引脚相连。

第4步:编写代码

这部分需要一些思考。为了使X,Y和Z轴控制LED的亮度,必须将它们连接到Arduino的Analog引脚。

代码可能类似于此代码-

const int RedPin = 3;

const int GreenPin = 5;

const int BluePin = 6;

const int sensorPinRed = A0;

const int sensorPinGreen = A2;

const int sensorPinBlue = A4;

int var = 1 ;

int minReadingRed = 750;

int maxReadingRed = 0;

int minReadingGreen = 750;

int maxReadingGreen = 0;

int minReadingBlue = 750;

int maxReadingBlue = 0;

int模拟值= 0;

int时间;

int模拟输出;

int闪烁;

无效setup(){

Serial.begin(9600);

Serial.println();

}

void loop(){

while(time 《1000){

时间= millis();

AnalogWrite(RedPin,255);

AnalogWrite(GreenPin,255);

AnalogWrite(BluePin,255);

延迟(1000);

AnalogWrite(RedPin,0);

AnalogWrite(GreenPin,0);

AnalogWrite(BluePin,0);

延迟(10);

}

而(time》 1000 && time 《16000){

time = millis() ;

analogValue = AnalogRead(sensorPinRed);

maxReadingRed = max(analogValue,maxReadingRed);

minReadingRed = min(analogValue,minReadingRed);

Serial.print(“ Analog Red”);

Serial.print(analogValue,DEC);

延迟(20);

analogValue = AnalogRead(sensorPinGreen);

maxReadingGreen = max(analogValue,maxReadingGreen);

minReadingGreen = min(analogValue,minReadingGreen);

Serial.print(“ Analog Green”);

Serial.print(analogValue,DEC);

延迟(20);

analogValue = AnalogRead(sensorPinBlue);

maxReadingBlue = max(analogValue,maxReadingBlue);

minReadingBlue = min(analogValue,minReadingBlue);

Serial.print(“ Analog Blue”);

Serial.println(analogValue,DEC);

延迟(20);

}

while(时间》 16000 &&时间《17000){

时间= millis() ;

analogWrite(RedPin,255);

AnalogWrite(GreenPin,255);

AnalogWrite(BluePin,255);

延迟(1000);

AnalogWrite(RedPin,0);

AnalogWrite(GreenPin,0);

AnalogWrite(BluePin,0);

}

而(var == 1){

minReadingRed = minReadingRed + 0.5 * (maxReadingRed-minReadingRed);

minReadingGreen = minReadingGreen + 0.5 *(maxReadingGreen-minReadingGreen);

minReadingBlue = minReadingBlue + 0.5 *(maxReadingBlue-minReadingBlue);

Serial.println();

Serial.print(“ minReadingRed =”);

Serial.print(minReadingRed,DEC);

Serial.print(“ maxReadingRed =”);

Serial.println(maxReadingRed,DEC);

Serial.print(“ minReadingGreen =”);

Serial.print(minReadingGreen,DEC);

Serial.print(“ maxReadingGreen =”);

Serial.println(maxReadingGreen,DEC);

Serial.print(“ minReadingBlue =”);

Serial.print(minReadingBlue,DEC);

Serial.print(“ maxReadingBlue =”);

Serial.println(maxReadingBlue,DEC);

var = 2;

}

analogValue = AnalogRead(sensorPinRed);

AnalogValue = constrain(analogValue,minReadingRed,maxReadingRed);

Serial.print(“ analogValue Red =”);

Serial.print(analogValue);

AnalogOut = map(analogValue,minReadingRed,maxReadingRed,0,255);

AnalogOut = constrain(analogOut,0,255);

Serial.print(“缩放为”);

Serial.print(analogOut,DEC);

AnalogWrite(RedPin,AnalogOut);

analogValue = AnalogRead(sensorPinGreen);

AnalogValue = constrain(analogValue,minReadingGreen,maxReadingGreen);

Serial.print(“ Green =”);

Serial.print(analogValue);

模拟输出= map(analogValue,minReadingGreen,maxReadingGreen,0,255);

AnalogOut = constrain(analogOut,0,255); Serial.print(“缩放为”);

Serial.print(analogOut,DEC);

analogWrite(GreenPin,AnalogOut);

analogValue = AnalogRead(sensorPinBlue);

AnalogValue = constrain(analogValue,minReadingBlue,maxReadingBlue);

Serial.print(“ Blue =”);

Serial.print(analogValue);

模拟输出= map(analogValue,minReadingBlue,maxReadingBlue,0,255);

AnalogOut = constrain(analogOut,0,255);

Serial.print(“缩放为”);

Serial.println(analogOut,DEC);

AnalogWrite(BluePin,AnalogOut);

延迟(25);

analogValue = AnalogRead(sensorPinRed);

AnalogOut = map(analogValue,minReadingRed,maxReadingRed,0,255);

Serial.print(“ Red =”);

Serial.print(analogValue,DEC);

analogWrite(RedPin,AnalogOut);

analogValue = AnalogRead(sensorPinGreen); AnalogOut = map(analogValue,minReadingGreen,maxReadingGreen,0,255);

Serial.print(“ Green =”);

Serial.print(analogValue,DEC);

analogWrite(GreenPin,AnalogOut);

analogValue = AnalogRead(sensorPinBlue);

模拟输出= map(analogValue,minReadingBlue,maxReadingBlue,0,255);

Serial.print(“ Blue =”);

Serial.println(analogValue,DEC);

AnalogWrite(BluePin,AnalogOut);

delay(25);

步骤5:上传代码!

再次检查所有连接,然后将代码上载到板。现在,您可以通过运动来控制LED的亮度。当倾斜到相应的轴时,不同颜色的LED点亮。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23052

    浏览量

    656956
收藏 人收藏

    评论

    相关推荐

    具有TLV2772的3V加速度计

    电子发烧友网站提供《具有TLV2772的3V加速度计.pdf》资料免费下载
    发表于 10-11 11:00 0次下载
    具有TLV2772的3V<b class='flag-5'>加速度计</b>

    EPSON工业级加速度计选型

    爱普生加速度计(Accelerometers)是一种工业级三轴输出压电式加速度传感器,采用具有专利技术的双音叉式石英传感器元件和Quarts光刻技术,通过压电效应来计算出诸如此类的内容物体运动的方向
    的头像 发表于 09-19 15:31 209次阅读
    EPSON工业级<b class='flag-5'>加速度计</b>选型

    三轴加速度计LIS2DUX12开发(2)----静态校准

    零偏是影响加速度计输出精度的重要指标之一,零偏可分为静态零偏和动态零偏 。静态零偏也称为固定零偏,通常经标定与补偿减小静态零偏。动态零偏是由于加速度计自身的缺陷或环境因素(如温度、振动、电子干扰等
    的头像 发表于 05-17 15:27 1075次阅读
    三轴<b class='flag-5'>加速度计</b>LIS2DUX12开发(2)----静态校准

    采用可调电热微梁的近零刚度MEMS加速度计

    MEMS加速度计正越来越多地应用于各种移动和测试设备,以测量运动、冲击和振动。
    的头像 发表于 05-09 09:11 504次阅读
    采用可调电热微梁的近零刚度MEMS<b class='flag-5'>加速度计</b>

    MEMS加速度计与MEMS陀螺仪的区别

    MEMS加速度计与MEMS陀螺仪是现代惯性导航系统中最常用的传感器。
    的头像 发表于 02-17 14:05 2840次阅读
    MEMS<b class='flag-5'>加速度计</b>与MEMS陀螺仪的区别

    ADXL1001加速度计没有输出的原因?

    近期在使用ADXL1001加速度计时出现问题,具体表现为供电电压为5V时加速度计没有输出电压,所以我们无法判断是加速度计本身有问题,还是我们电路设计有问题,电路原理图如图所示,电源为15V,经
    发表于 12-29 07:05

    两轴加速度计和三轴加速度计的使用区别?

    有个问题请教一下:在静态测量的情况下,两轴的加速度计在测得X、Y轴上的加速度后,是不是就可以根据这两个值和重力加速度g算出Z轴方向的加速度,这样的话XYZ三个方向的角度也可以推导出来。
    发表于 12-29 06:06

    mems加速度计的量程是指什么

    Mems加速度计(Micro Electro Mechanical Systems Accelerometer)是一种微型化的加速度传感器,可以测量物体在三个轴向上的加速度,并且广泛地应用于许多领域
    的头像 发表于 12-15 10:21 1511次阅读

    iMEMS加速度计和陀螺仪的相位及频度响应性能

    电子发烧友网站提供《iMEMS加速度计和陀螺仪的相位及频度响应性能.pdf》资料免费下载
    发表于 11-28 11:19 0次下载
    iMEMS<b class='flag-5'>加速度计</b>和陀螺仪的相位及频度响应性能

    MEMS加速度计基本振动特性

    电子发烧友网站提供《MEMS加速度计基本振动特性.pdf》资料免费下载
    发表于 11-28 11:18 1次下载
    MEMS<b class='flag-5'>加速度计</b>基本振动特性

    加速度计输出转换为倾斜角度的基本原理

    电子发烧友网站提供《加速度计输出转换为倾斜角度的基本原理.pdf》资料免费下载
    发表于 11-28 11:01 0次下载
    <b class='flag-5'>加速度计</b>输出转换为倾斜角度的基本原理

    加速度计和其他感器主导的应用领域

    电子发烧友网站提供《加速度计和其他感器主导的应用领域.pdf》资料免费下载
    发表于 11-27 11:58 0次下载
    <b class='flag-5'>加速度计</b>和其他感器主导的应用领域

    MEMS加速度计振动校正说明

    电子发烧友网站提供《MEMS加速度计振动校正说明.pdf》资料免费下载
    发表于 11-23 16:03 0次下载
    MEMS<b class='flag-5'>加速度计</b>振动校正说明

    基于MEMS麦克风高带宽加速度计的声学性能设计

      加速度计可捕获高达2.4KHz的振动信号,使用具有降噪功能的MEMS麦克风,可以显着提高耳戴式设备或智能手机的音频质量。加速度计中嵌入的自检功能消除了对每个产品PCB进行机械测试的需要[3]。
    发表于 11-23 10:10 970次阅读
    基于MEMS麦克风高带宽<b class='flag-5'>加速度计</b>的声学性能设计

    MEMS加速度计的振动校正介绍

    电子发烧友网站提供《MEMS加速度计的振动校正介绍.pdf》资料免费下载
    发表于 11-23 09:45 0次下载
    MEMS<b class='flag-5'>加速度计</b>的振动校正介绍