Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.02.2014, 22:04   #1
viktor
Junior Member
 
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 45
Сообщений: 9
Вес репутации: 0
viktor is an unknown quantity at this point
По умолчанию Arduino Uno and HC-SR04. Ошибки в скетче

Доброго времени суток.
Подскажите по скетчу.
Делаю проверку сонара
Пример нашел тут:
http://arduinokit.ru/?p=272
при компиляции скетча получаю ошибки:
Цитата:

sketch_feb16a.ino: In function 'void loop()':
sketch_feb16a:27: error: 'class Ultrasonic' has no member named 'timing'
sketch_feb16a:29: error: 'class Ultrasonic' has no member named 'convert'
sketch_feb16a:29: error: expected unqualified-id before numeric constant
sketch_feb16a:30: error: 'class Ultrasonic' has no member named 'convert'
sketch_feb16a:30: error: 'IN' is not a member of 'Ultrasonic'
библиотеку скачал и выложил в каталог
Цитата:
Содержимое папки C:\Program Files (x86)\Arduino

16.02.2014 20:35 <DIR> .
16.02.2014 20:35 <DIR> ..
18.05.2013 00:26 860*160 arduino.exe
18.05.2013 00:24 969*728 cygiconv-2.dll
18.05.2013 00:24 1*872*821 cygwin1.dll
19.12.2013 01:25 <DIR> drivers
19.12.2013 01:25 <DIR> examples
19.12.2013 01:25 <DIR> hardware
19.12.2013 01:25 <DIR> java
19.12.2013 01:25 <DIR> lib
16.02.2014 20:37 <DIR> libraries
18.05.2013 00:24 43*520 libusb0.dll
19.12.2013 01:25 <DIR> reference
18.05.2013 00:24 37*903 revisions.txt
18.05.2013 00:24 77*759 rxtxSerial.dll
19.12.2013 01:25 <DIR> tools
16.02.2014 20:35 1*655 Ultrasonic.rar
19.12.2013 01:25 411*322 uninstall.exe
8 файлов 4*274*868 байт
10 папок 914*586*918*912 байт свободно

C:\Program Files (x86)\Arduino>cd librares
Системе не удается найти указанный путь.

C:\Program Files (x86)\Arduino>cd libraries

C:\Program Files (x86)\Arduino\libraries>dir /w
Том в устройстве C не имеет метки.
Серийный номер тома: E654-C5AF

Содержимое папки C:\Program Files (x86)\Arduino\libraries

[.] [..] [EEPROM] [Esplora]
[Ethernet] [Firmata] [FrequencyTimer2] [GSM]
[LiquidCrystal] [Robot_Control] [Robot_Motor] [SD]
[Servo] [SoftwareSerial] [SPI] [Stepper]
[TFT] [Ultrasonic] [WiFi] [Wire]
0 файлов 0 байт
20 папок 914*586*877*952 байт свободно

C:\Program Files (x86)\Arduino\libraries>cd ultrasonic

C:\Program Files (x86)\Arduino\libraries\Ultrasonic>dir /w
Том в устройстве C не имеет метки.
Серийный номер тома: E654-C5AF

Содержимое папки C:\Program Files (x86)\Arduino\libraries\Ultrasonic

[.] [..] [examples]
keywords.txt Ultrasonic.cpp Ultrasonic.h
UltrasonicDemo1.ino
4 файлов 1*513 байт
3 папок 914*586*877*952 байт свободно

C:\Program Files (x86)\Arduino\libraries\Ultrasonic>
как заставить оболочку считать библиотеку?
посмотрел демку сонара
разница в объявлении библиотеки:
демка:
Цитата:
#include "Ultrasonic.h"
скетч
Цитата:
#include <Ultrasonic.h>
заменил.
код демки
Код:
#include "Ultrasonic.h"

Ultrasonic ultrasonic(12,13);

void setup() {
Serial.begin(9600);
}

void loop()
{
  
  Serial.print(ultrasonic.Ranging(CM));
  Serial.println(" cm");
    delay(1000);
}
работает
Цитата:
3 cm
3 cm
4 cm
17 cm
6 cm
8 cm
9 cm
7 cm
18 cm
3508 cm
код сонара с диодами:
Код:
#include "Ultrasonic.h"

#define TRIGGER_PIN  12
#define ECHO_PIN     13

Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

void setup()
  {
  Serial.begin(9600);
   pinMode(2, OUTPUT);
   pinMode(3, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(7, OUTPUT);
   pinMode(8, OUTPUT);
   pinMode(9, OUTPUT);
   pinMode(10, OUTPUT);
   pinMode(11, OUTPUT);
  }

void loop()
  {
  float cmMsec, inMsec;
  long microsec = ultrasonic.timing();

  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
  Serial.print("MS: ");
  Serial.print(microsec);
  Serial.print(", CM: ");
  Serial.print(cmMsec);
  Serial.print(", IN: ");
  Serial.println(inMsec);
  
  if ((cmMsec) < 10)  { digitalWrite(11, HIGH); }
  if ((cmMsec) > 10)  { digitalWrite(11, LOW);  }
  if ((cmMsec) < 20)  { digitalWrite(10, HIGH); }
  if ((cmMsec) > 20)  { digitalWrite(10, LOW);  }
  if ((cmMsec) < 30)  { digitalWrite(9, HIGH);  }
  if ((cmMsec) > 30)  { digitalWrite(9, LOW);   }
  if ((cmMsec) < 40)  { digitalWrite(8, HIGH);  }
  if ((cmMsec) > 40)  { digitalWrite(8, LOW);   }
  if ((cmMsec) < 50)  { digitalWrite(7, HIGH);  }
  if ((cmMsec) > 50)  { digitalWrite(7, LOW);   }
  if ((cmMsec) < 60)  { digitalWrite(6, HIGH);  }
  if ((cmMsec) > 60)  { digitalWrite(6, LOW);   }
  if ((cmMsec) < 70)  { digitalWrite(5, HIGH);  }
  if ((cmMsec) > 70)  { digitalWrite(5, LOW);   }
  if ((cmMsec) < 80)  { digitalWrite(4, HIGH);  }
  if ((cmMsec) > 80)  { digitalWrite(4, LOW);   }
  if ((cmMsec) < 90)  { digitalWrite(3, HIGH);  }
  if ((cmMsec) > 90)  { digitalWrite(3, LOW);   }
  if ((cmMsec) < 100) { digitalWrite(2, HIGH);  }
  if ((cmMsec) > 100) { digitalWrite(2, LOW);   }
  
  
  delay(100);
  }
сыпет ошибками
Цитата:
sketch_feb16a.ino: In function 'void loop()':
sketch_feb16a:27: error: 'class Ultrasonic' has no member named 'timing'
sketch_feb16a:29: error: 'class Ultrasonic' has no member named 'convert'
sketch_feb16a:29: error: expected unqualified-id before numeric constant
sketch_feb16a:30: error: 'class Ultrasonic' has no member named 'convert'
sketch_feb16a:30: error: 'IN' is not a member of 'Ultrasonic'
не понимаю - в чем разница.
вразумите
библиотека
Код:
/*
  Ultrasonic.h - Library for HR-SC04 Ultrasonic Ranging Module.
  Created by ITead studio. Alex, Apr 20, 2010.
  iteadstudio.com
*/


#ifndef Ultrasonic_h
#define Ultrasonic_h


#define CM 1
#define INC 0

class Ultrasonic
{
  public:
    Ultrasonic(int TP, int EP);
    long Timing();
    long Ranging(int sys);

    private:
    int Trig_pin;
    int Echo_pin;
    long  duration,distacne_cm,distance_inc;
    
};

#endif

Последний раз редактировалось viktor; 16.02.2014 в 22:24.
viktor вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:34. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика