|
|
发表于 2013-12-2 17:41:59
|
显示全部楼层
- #include <Ultrasonic.h>
-
- #define TRIGGER_PIN 3
- #define ECHO_PIN 2
-
- #define NUMBER_BUFFERS 3
- #define BUFFER_SIZE 3
-
- #define BUFFER_01 0
- #define BUFFER_02 1
- #define BUFFER_03 2
-
- Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
- bool disableSD = false;
-
- size_t count = 0;
-
-
- void setup()
- {
- Serial.begin(9600);
- Serial.println("Starting Ultasonic Test using standard deviation ...");
- pinMode(13,OUTPUT);
- if(!ultrasonic.sampleCreate(NUMBER_BUFFERS, BUFFER_SIZE, BUFFER_SIZE,
- BUFFER_SIZE))
- {
- disableSD = true;
- Serial.println("Could not allocate memory.");
- }
- }
-
- void loop()
- {
- float cmMsec, inMsec;
- float msStdDev, cmStdDev, inStdDev;
- long microsec = ultrasonic.timing();
-
- cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
- inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
-
-
- if(disableSD)
- {
- Serial.print("CM: ");
- Serial.print(cmMsec);
- Serial.print(", IN: ");
- Serial.println(inMsec);
- }
- else
- {
- msStdDev = ultrasonic.unbiasedStdDev((float) microsec, BUFFER_01);
- cmStdDev = ultrasonic.unbiasedStdDev(cmMsec, BUFFER_02);
- inStdDev = ultrasonic.unbiasedStdDev(inMsec, BUFFER_03);
- Serial.print(", CM: ");
- Serial.print(cmMsec);
- }
-
- if(cmMsec<=200)
- {
- Serial.println("in if") ;
- digitalWrite(13,HIGH);
- delay(cmMsec*3);
- digitalWrite(13,LOW);
- delay(cmMsec*6);
- }
- delay(100);
- }
复制代码 根据刚才那个帖子改写的,没测试,不保证好使 |
|