倾家荡产求解答arduino计数问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5330|回复: 4

[已解决] 倾家荡产求解答arduino计数问题

[复制链接]
发表于 2014-3-14 06:01 | 显示全部楼层 |阅读模式
11金币
新手上路,求问一个问题:
现在想用arduino来进行计数
具体情况时现在有一个光敏电阻,比如设置1200为触发值
当出发光敏电阻时记为一个数
触发10次以后要求给某一个IO口高电平
这个计数的部分应该怎么编程嘞?
求助求助
越详细越好
新手上路
不懂的比较多,希望大家多多指教,谢谢。

发表于 2014-3-14 08:53 | 显示全部楼层
直接用模拟口读呗
发表于 2014-3-14 12:23 | 显示全部楼层
if(读取光敏电阻模拟信号》=1200)
   计数++;
if(计数》=10)
   某个IO口输出高电平;
发表于 2014-3-15 14:09 | 显示全部楼层
[mw_shl_code=c,true]int flag = 0;
int counter = 0;
int ledPin = 13;

void setup()
{
  pinMode(ledPin, OUTPUT);
}
void loop()
{

  int i = analogRead(0);
  if ((i >= 512)&&(flag == 0))   
    {
      flag = 1;
      counter++;
    }
  else if (i < 512)     flag = 0;

  if (counter > 9)
  {
    counter = 0;
    digitalWrite(ledPin, HIGH);
  }   
}[/mw_shl_code]
发表于 2014-3-26 17:05 | 显示全部楼层

/****************
现在想用arduino来进行计数
具体情况时现在有一个光敏电阻,比如设置1200为触发值
当出发光敏电阻时记为一个数(这里注意要加入一个消除抖动的语句,也就是触发一次会记录很多次,因主板太快了!)
触发10次以后要求给某一个IO口高电平
这个计数的部分应该怎么编程嘞?
求助求助
越详细越好
新手上路
不懂的比较多,希望大家多多指教,谢谢。
******************/

#define dianzu A0
#define shuchu 2
int jishu=0;
void setup()
{
  pinMode(dianzu,INPUT);
  pinMode(shuchu,OUTPUT);
}
void loop() {
if (analogRead(dianzu)>=600)  //你说的1200是不行的,只能到1023,本例选600
{
  jishu++;
  delay(20);
}
if (jishu>=10)
{
  digitalWrite(shuchu,HIGH);
  jishu=0;
}
//想问一下提问者,什么时候让IO口回到低电平呢?
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-4 17:28 , Processed in 0.096922 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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