新手求助 用map函數控制led的亮燈數-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6508|回复: 4

[已解决] 新手求助 用map函數控制led的亮燈數

[复制链接]
发表于 2014-7-7 08:33 | 显示全部楼层 |阅读模式
個為老手們
小弟這次想做一個可以讀取類筆值然後再用map函數來控制led的亮燈數
不過功力不夠
怎麼寫都覺得好像少了什麼!!
怪怪的
下面是我寫的
有請大大教學






[mw_shl_code=c,true]int leds[] =
{
5, 6, 7, 8, 9, 10, 11,
};

int total = sizeof(leds);
int readpin = A0;

void setup() {


}

void loop() {
int val = analogRead(readpin);
map(val, 0, 1023, 0, 6);
}[/mw_shl_code]

发表于 2014-7-7 09:30 | 显示全部楼层
[mw_shl_code=c,true]int leds[] =
{
5, 6, 7, 8, 9, 10, 11,
};

int total = sizeof(leds);
int readpin = A0;

void setup() {


}

void loop() {
int val = analogRead(readpin);
map(val, 0, 1023, 0, 6);

for(int i = 0; i <= val; i++)
{
digitalWrite(i+5, HIGH );
}
}[/mw_shl_code]
 楼主| 发表于 2014-7-7 09:50 | 显示全部楼层
Lee 发表于 2014-7-7 09:30
[mw_shl_code=c,true]int leds[] =
{
5, 6, 7, 8, 9, 10, 11,

感謝大大的回覆與支持

我還有一件是想拜託大大

就是可以幫我付上註解嗎??

如果您願意的話^^

謝謝您
发表于 2014-7-7 10:24 | 显示全部楼层
本帖最后由 .oο麽麽茶㊣ 于 2014-7-7 12:00 编辑

首先初始化 for循环把你的leds数组都pinMode OUTPUT
然后loop转换后的0~6 先判断是否改变,如果改变了全部至低电平,把上一次亮的全变暗。然后新检测的再做for循环
for(int i = 0; i <= 6; i++)
{
digitalWrite(led, LOW);
}
for(int i = 0; i <= val; i++)
{
digitalWrite(led, HIGH );
}

应该是这样。。不出意外
发表于 2014-7-7 13:32 | 显示全部楼层
.oο麽麽茶㊣ 发表于 2014-7-7 10:24
首先初始化 for循环把你的leds数组都pinMode OUTPUT
然后loop转换后的0~6 先判断是否改变,如果改变了全部 ...

正解。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-5 10:26 , Processed in 0.079286 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表