极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12075|回复: 2

新手求助 用map函數控制led的亮燈數

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






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);
}
回复

使用道具 举报

发表于 2014-7-7 20:03:38 | 显示全部楼层
  1. #define NUM 5

  2. int leds[NUM] = { 2, 3, 4, 5, 6 };


  3. void setup()
  4. {               
  5.     for(int i = 0; i < NUM; i++)
  6.     {
  7.         pinMode(leds[i], OUTPUT);
  8.     }

  9.     pinMode(A1,INPUT);  
  10.     Serial.begin(9600);
  11. }


  12. void loop()
  13. {
  14.     int val = analogRead(A1);

  15.     Serial.println(val);

  16.     int i =  map(val,0,1023,0,4);
  17.    
  18.     for(int j=0;j<=i;j++)
  19.     {
  20.         digitalWrite(leds[j],HIGH);   // 把0到i之间的LED都点亮
  21.     }
  22.    
  23.     for(int j=i+1;j<=NUM-1;j++)
  24.     {
  25.         digitalWrite(leds[j],LOW);    // 把i+1到4(NUM-1)之间的LED都点亮之间的LED都熄灭
  26.     }
  27. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 13:48 , Processed in 0.034173 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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