急啊,大神们帮帮我吧~-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4180|回复: 1

[过期] 急啊,大神们帮帮我吧~

[复制链接]
回帖奖励 2 金币 回复本帖可获得 1 金币奖励! 每人限 1 次(中奖概率 50%)
发表于 2013-10-18 12:23 | 显示全部楼层 |阅读模式
本帖最后由 bonnieyuan 于 2013-10-18 12:27 编辑

本人arduino小白一个,编程也是很烂。但是最近要做的东西里要用到它,很着急啊,大神们帮帮忙吧~
谢啦谢啦!
希望大神们耐心看完,给个意见,感激啊!
我要做的是个计时系统,像下面这个图一样。
有个L形的水箱,两端各放一对感应器。水箱中有一个小机器人,从红色盘子里捡起东西,再放到两端。红色盘子里共16个东西,两端最后应各放8个,放的先后顺序无所谓。计算完成整个过程的时间。
系统的设计思路如下:
1.按下“开始”键,感应器开始准备;
2.机器人第一次被感应器感应到,开始计时;
3.当最后一粒物体被捡起来时,按下“READY”键;
4.之后机器人再次被感应到时,停止计时,并将计时结果显示在LCD上。

用到的东西有:
lcd,两对感应器,还有两个控制按钮,还缺什么帮忙补充下哈。。[mw_shl_code=c,true]
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
  // when characters arrive over the serial port
     if ( Serial.available())
  {
    // wait a bit for the entire message to arrive
     delay(100);
    // clear the screen
     lcd.clear();
    // read all the available characters
     while (Serial.available() > 0)  
     {
      // display each character to the LCD
        lcd.write(Serial.read());
     }
  }

unsigned long start, finished, elapsed;
int sensorPin= 8;
int val= 0;
void setup()
{
  Serial.begin(9600);
  pinMode(2, INPUT); // the start button
  pinMode(3, INPUT); // the ready button
  Serial.println("ress 1 for Start/reset, 2 for elapsed time");
}
  void displayResult()
{
   float h, m, s, ms;
   unsigned long over;
   elapsed = finished - start;
   h = int(elapsed / 3600000);
   over = elapsed % 3600000;
   m = int(over / 60000);
   over = over % 60000;
   s = int(over / 1000);
   ms = over % 1000;

   Serial.print("Elapsed time: ");
   Serial.print(h, 0);
   Serial.print(": ");
   Serial.print(m, 0);
   Serial.print(": ");
   Serial.print(s, 0);
   Serial.print(": ");
   Serial.print(ms, 0);
   Serial.println();
}
  void loop()
{
   if (digitalRead(2) == HIGH)
   {
     if(val=digitalRead(sensorPin))
     {
     start = millis();
     delay(200); // for debounce
     Serial.println("Started...");
     }
   }
   if (digitalRead(3) == HIGH)
   {
     if (val=digitalRead(sensorPin))
     {
     // digitalWrite(ledpin,!val);
      //delay(10);
      finished = millis();
      delay(200); // for debounce
      displayResult();
     }
   }
}

[/mw_shl_code]
我之前学的一点点编程全部又还回去了,大概凑出来的是这样,可是显示是有问题,怎样改,大神们给看看嘛~
  

水箱

水箱
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-1 01:28 , Processed in 0.097068 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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