![]() |
|
|
#151 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Но у меня же компилируется.
|
|
|
|
|
|
#152 |
|
Junior Member
Регистрация: 15.03.2015
Сообщений: 3
Вес репутации: 0 ![]() |
Я не знаю, в чем проблема, возможно это как раз из-за библиотеки
Просто понимаете, я ее скачала и вроде как разархивировала, и отправила, куда нужно, однако, что вполне вероятно, он ее не видит А у вас нет других каналов, по которым с вами можно связаться? Просто дело срочное, а мне очень нужна помощь Последний раз редактировалось Анастасия; 15.03.2015 в 23:39. |
|
|
|
|
|
#153 | |
|
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
|
|
#154 |
|
Junior Member
Регистрация: 15.03.2015
Сообщений: 3
Вес репутации: 0 ![]() |
#include <CyberLib.h>
#include <avr/vdt.h> #define motors_init {D4_Out; D5_Out; D6_Out; D7_Out;} #define robot_go {D4_Low; D5_High; D6_High; D7_Low;} #define robot_stop {D4_Low; D5_Low; D6_Low; D7_Low;} #define robot_rotation_left {D4_Low; D5_High; D6_Low; D7_High;} #define robot_rotation_right {D4_High; D5_Low; D6_High; D7_Low;} #define size_buff 5 //размер массива sensor uint16_t sensor[size_buff]; //массив для хранения замеров дальномера uint8_t stat=0; void setup() { motors_init; //инициализация выходов моторов D11_Out; //динамик D14_Out; D14_Low; //пин trig ультразвукового сонара D15_In; //пин echo ультразвукового сонара for(uint8_t i=0; i<12; i++) beep(50, random(100, 1000)); //звуковое оповещение готовности робота wdt_enable (WDTO_500MS); //Сторожевая собака 1сек. } void loop() {Start uint16_t dist=GetDistance(); //производим замер if( dist < 10) {rotation(stat, 255);} else if( dist < 20) {rotation(stat, 200);} else if( dist < 40) {rotation(stat, 130);} else {robot_go; stat=~stat;} //поехали!!! wdt_reset(); //покормить собаку End;} //**************************************** *********** void rotation(uint8_t arr, uint8_t dur) { switch (arr) { case 0: robot_rotation_right; break; case 255: robot_rotation_left; break; } delay_ms(dur); robot_stop; } //**************************************** *********** uint16_t GetDistance() { uint16_t dist; for (uint8_t i = 0; i < size_buff; ++i) //производим несколько замеров { D14_High; delay_us(10); D14_Low; //запустить измерение dist = pulseIn(15, HIGH, 2400); //считываем длительность времени прохождения эха, ограничить время ожидания if(dist==0) dist=2400; sensor[i]=dist; delay_ms(40); //задержка между посылками wdt_reset(); //покормить собаку, что бы она не сбежала } dist=(find_similar(sensor, size_buff, 58))/58; // //фильтруем показания датчика и переводим в см return dist; } //**************************************** *********** void beep(uint8_t dur, uint16_t frq) { dur=(1000/frq)*dur; //расчет длительности бипа for(byte i=0; i<dur; i++) { D11_High; delay_us(frq); D11_Low; delay_us(frq); } } |
|
|
|
|
|
#155 | |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
|
|
#156 |
|
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Код компилится.
Правда ругается на эту строчку: void setup() { motors_init; //инициализация выходов моторов D11_Out; //динамик D14_Out; D14_Low; //пин trig ультразвукового сонара D15_In; //пин echo ультразвукового сонара for(uint8_t i=0; i<12; i++) beep(50, random(100, 1000)); //звуковое оповещение готовности робота wdt_enable (WDTO_500MS); //Сторожевая собака 1сек. } Без неё всё окей. Среда 1.5.5 |
|
|
|
|
|
#157 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Разобрался.
Проблема в том что в свежей версии CyberLib функция beep(); включена в библиотеку Где Вы нашли этот устаревший скетч? Правильный скетч PHP код:
|
|
|
|
|
|
#158 | |
|
Member
Регистрация: 14.04.2015
Сообщений: 45
Вес репутации: 0 ![]() |
Цитата:
куда расположить: резистор 150ом и конденсаторы блокирующие от 0,1мкф. фото расположения смотрели но так и не понял с оборотной стороны платы есть контактные площадки я правильно понимаю они замыкаются если подразумевается установка дополнительного датчика? спасибо за ответ |
|
|
|
|
|
|
#159 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
По одному электролиту и блокируещему конденсатору для каждого установленного модуля
резистор токоограничивающий? |
|
|
|
|
|
#160 |
|
Member
Регистрация: 14.04.2015
Сообщений: 45
Вес репутации: 0 ![]() |
|
|
|
|
![]() |
| Метки |
| сделать робота дома, робот, робота свими руками, robot, как сделать робота, платформа для робота |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|