16.02.2014, 22:04 | #1 | ||||||
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Arduino Uno and HC-SR04. Ошибки в скетче
Доброго времени суток.
Подскажите по скетчу. Делаю проверку сонара Пример нашел тут: http://arduinokit.ru/?p=272 при компиляции скетча получаю ошибки: Цитата:
Цитата:
посмотрел демку сонара разница в объявлении библиотеки: демка: Цитата:
Цитата:
код демки Код:
#include "Ultrasonic.h" Ultrasonic ultrasonic(12,13); void setup() { Serial.begin(9600); } void loop() { Serial.print(ultrasonic.Ranging(CM)); Serial.println(" cm"); delay(1000); } Цитата:
Код:
#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); } Цитата:
вразумите библиотека Код:
/* 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. |
||||||
16.02.2014, 22:15 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
Читать датчик можно без библиотек
Код:
digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); duration = pulseIn(Echo_pin, HIGH); duration = duration / 58; |
16.02.2014, 22:28 | #3 |
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
Это понятно, хочется разобраться в найденном примере.
Первую ошибку убрал - заменив timing на Timing дальше уперся в convert. |
16.02.2014, 22:31 | #4 | |
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
все - понял. в том примере - код библиотеки доработан
Цитата:
|
|
16.02.2014, 22:33 | #5 |
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
заработало дети довольны
|
17.02.2014, 00:06 | #6 |
Member
Регистрация: 06.01.2014
Сообщений: 42
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
Куда планируешь прилепить датчик?
|
17.02.2014, 00:50 | #7 |
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
Думаю - сделать аналог машины робота.
Только в качестве шасси взять корпус от р/у танка ( масштаб 1:16). Детям покупали т-34 и тигра, у 34 сломано крепление башни, тигр более "живой", его за башню брать не удобно . В перспективе - доработку камерой и подъемной площадкой - что-то вроде ножничного подъемника- например - подъехал - поднял камеру - посмотрел. Ттакже есть мысль пользовать робота как диагноста для осмотра автомобиля снизу - без подъемника. Последний раз редактировалось viktor; 17.02.2014 в 00:52. |
17.02.2014, 00:53 | #8 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
Посмотри в разделе "Робототехника", там есть готовое решение
Допилишь под себя |
17.02.2014, 00:55 | #9 | |
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
В данном случае - проверял работу сонара, после покупки датчика обнаружил что один конденсатор обломлен. Впаял замену на 0.1мкф.
Работает Цитата:
Последний раз редактировалось viktor; 17.02.2014 в 00:59. |
|
17.02.2014, 01:05 | #10 |
Junior Member
Регистрация: 16.02.2014
Адрес: moscow
Возраст: 46
Сообщений: 9
Вес репутации: 0 |
Re: Arduino Uno and HC-SR04. Ошибки в скетче
Такое бы вот чудо собрать.
Но дома - такое точно не сдлеать, а хочется.. Если только... хм.. а ить мысль. из картона попробовать собрать, на базе того-же танка |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|