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
    +关注

    关注

    244

    文章

    24701

    浏览量

    692369
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    石英加速度计让空间受限的平台拥有“高精度感知”

    在惯性测量领域,传统加速度计往往面临两难:要么体积庞大,挤占宝贵的系统空间;要么温漂严重,一遇温度变化数据就“飘忽不定”。普通石英加速度计虽有一定精度,但零偏稳定性差、温度系数高,在长时间连续工作中
    的头像 发表于 04-14 15:01 101次阅读
    石英<b class='flag-5'>加速度计</b>让空间受限的平台拥有“高精度感知”

    高精度石英加速度计助力航空航天精准测量

    在航空航天惯性测量领域,每一次微小的加速度变化都可能关乎飞行器的姿态与轨迹。从运载火箭的主动段飞行,到卫星的在轨姿态控制,一个能够精准捕捉微弱信号、同时耐受严苛环境的加速度计,是惯性导航系统不可或缺
    的头像 发表于 03-26 15:47 638次阅读
    高精度石英<b class='flag-5'>加速度计</b>助力航空航天精准测量

    探索NXP FXLS8964AF 3轴低g加速度计:特性、应用与设计要点

    探索NXP FXLS8964AF 3轴低g加速度计:特性、应用与设计要点 在汽车电子领域,对于高性能、低功耗的传感器需求日益增长。NXP的FXLS8964AF 3轴低g加速度计,凭借其出色的特性和丰
    的头像 发表于 12-25 10:20 555次阅读

    深入解析FXLS8971CF:3轴低g加速度计的卓越性能与应用

    深入解析FXLS8971CF:3轴低g加速度计的卓越性能与应用 在当今工业和医疗物联网(IoT)领域,对于高性能、低功耗的传感器需求日益增长。NXP Semiconductors
    的头像 发表于 12-24 14:00 651次阅读

    深入解析FXLS8961AF:汽车应用中的3轴低g加速度计

    深入解析FXLS8961AF:汽车应用中的3轴低g加速度计 在汽车电子领域,传感器技术的发展日新月异。其中,3轴加速度计在汽车安全和便利性应用中扮演着至关重要的角色。今天,我们就来详细探讨NXP
    的头像 发表于 12-24 13:55 501次阅读

    探索Series 660低成本可嵌入式加速度计:应用与技术解析

    探索Series 660低成本可嵌入式加速度计:应用与技术解析 在电子工程领域,加速度计是用于测量加速度的设备,在众多应用场景中发挥着关键作用。今天,我们将深入探讨PCB Piezotronics
    的头像 发表于 12-12 15:45 481次阅读
    探索Series 660低成本可嵌入式<b class='flag-5'>加速度计</b>:应用与技术解析

    IMI微功耗ICP®嵌入式加速度计:无线物联网设备的理想之选

    IMI微功耗ICP®嵌入式加速度计:无线物联网设备的理想之选 在电子工程师的日常工作中,为无线、电池供电的物联网设备选择合适的加速度计是一项关键任务。今天,我们就来深入了解一下IMI的微功耗ICP
    的头像 发表于 12-10 16:00 580次阅读
    IMI微功耗ICP®嵌入式<b class='flag-5'>加速度计</b>:无线物联网设备的理想之选

    加速度计都有哪些分类?

    加速度计的分类主要依据其工作原理和测量维度(轴数),以下是详细的分类:按工作原理分类(这是最核心的分类方式)这是根据加速度计内部如何感知和转换加速度信号来划分的。
    的头像 发表于 12-04 15:55 718次阅读
    <b class='flag-5'>加速度计</b>都有哪些分类?

    加速度计伺服电路模块原理与应用

    在惯性导航与姿态控制这一尖端技术领域,系统感知运动状态的能力直接决定了其精度与可靠性。而将物理世界的加速度精确转换为可用电信号的关键,在于一个核心部件——加速度计伺服电路模块。该模块专为光电
    的头像 发表于 11-28 15:43 590次阅读

    如何为你的项目选择合适的加速度计

    在智能科技飞速发展的今天,从翱翔天空的飞行器到我们手中的智能设备,对运动的精准感知已成为关键。加速度计,作为测量加速度和振动的核心传感器,其选型直接决定了项目的成败。面对不同的技术类型,如何才能做出最明智的选择?本文将带您了解主要的加速
    的头像 发表于 11-06 15:32 401次阅读
    如何为你的项目选择合适的<b class='flag-5'>加速度计</b>?

    MEMS加速度计与石英加速度计的发展现状与水平对比

    在工程测量与惯性导航领域,加速度计是感知运动与振动的核心传感器。其中,微机电系统(MEMS)加速度计和石英加速度计是两种技术路线迥异但应用广泛的重要类型。它们各自的发展现状和技术水平呈现出一种既竞争又互补的格局。
    的头像 发表于 09-19 14:55 1411次阅读
    MEMS<b class='flag-5'>加速度计</b>与石英<b class='flag-5'>加速度计</b>的发展现状与水平对比

    洞察万物运动:详解加速度计的分类与广泛应用

    在我们日常生活中,从智能手机屏幕的自动旋转到汽车的紧急安全气囊触发,一种看不见的技术始终在默默工作,感知着物体的运动和振动。这种技术的核心元件就是加速度计。它是一种能够测量加速度(包括静态重力加速度
    的头像 发表于 09-18 16:06 1142次阅读
    洞察万物运动:详解<b class='flag-5'>加速度计</b>的分类与广泛应用

    为什么在振动分析中加速度计最常用?

    尽管振动可以通过位移、速度加速度三个参数来完整描述,但在现代预测性维护和状态监测领域,加速度传感器(加速度计)占据了绝对主导地位,原因如下:宽广的频率范围:机械设备的早期故障(如轴承
    的头像 发表于 09-12 12:02 1105次阅读
    为什么在振动分析中<b class='flag-5'>加速度计</b>最常用?

    超高精度MEMS加速度计能否撼动石英加速度计的市场地位?

    在惯性传感技术飞速发展的今天,ER-MA-6 MEMS加速度计以其突破性的技术指标,正在挑战传统石英加速度计的市场地位。这款采用先进微机电系统技术打造的高精度传感器,不仅继承了MEMS器件固有
    的头像 发表于 08-28 15:21 819次阅读
    超高精度MEMS<b class='flag-5'>加速度计</b>能否撼动石英<b class='flag-5'>加速度计</b>的市场地位?

    航空航天对石英加速度计的要求?

    最微弱的加速度变化,并将数据转化为毫无偏差的控制指令。那么,像ER-QA-03A这样的石英加速度计,究竟如何满足航空航天任务如此苛刻的全方位要求?
    的头像 发表于 08-21 15:56 1073次阅读
    航空航天对石英<b class='flag-5'>加速度计</b>的要求?