roboforum.ru

Технический форум по робототехнике.

MiniBot и датчики Sharp

Re: MiniBot и датчики Sharp

Ulysses » 06 авг 2009, 22:15

На странице wiki/GP2D12 приведена функция для работы с GP2D12
Function Sharp_d12(byval Adc_chanel As Byte) As Byte

Похоже, что там ошибка: возвращаемое значение должно быть объявлено как WORD, а не Byte, не так ли?

В man-е BASICa написано, что:
'Note that the same data type must be used !
'So when declared as an Integer function, the result can only be
'assigned with an Integer in this case.

Re: MiniBot и датчики Sharp

SkyStorm » 07 авг 2009, 10:43

В результате преобразования данные 10бит АЦП (0-1023) тип word преобразуются в сантиметры (0-80) тип byte.
Код компилировался и проверялся.
Есть какие то проблеммы??? или это теоретические изыскания???

Re: MiniBot и датчики Sharp

Ulysses » 07 авг 2009, 13:07

Проблема разрешилась, и она не связана с этой функцией.
Вчера при экспериментах с этой функцией она иногда возвращала странные результаты. Работа следующего фрагмента:
Код: Выделить всёРазвернуть
Vout1 = Vout + B                                      
Print "Vout1:" ; Str(vout1)
Range = M / Vout1                                     
Print "Range:" ; Str(range)
Sharp_d12 = Range - K                                 
Print "Distance:" ; Str(sharp_d12)

приводила к таким результатам:
Код: Выделить всёРазвернуть
Vo:742
Vout1:702
Range:14
Distance:14
Sharp_d12 has returned:0

Vo:283
Vout1:243
Range:41
Distance:0
Sharp_d12 has returned:0

После добавления в преамбулу программы директив:
$hwstack = 32
$swstack = 10
$framesize = 50
все заработало как должно. Жаль, что basic не предупреждает об этом. Это бы сэкономило время начинающих: то, что необходимо позаботиться о стеке в голову пришло не сразу :oops:

Re: MiniBot и датчики Sharp

SkyStorm » 16 сен 2009, 23:48

Закончилась долгая борьба с этим дальномером подключенным к MiniBot v.1 (3.3вольт)
Проблемма была такая. При движении робота дальномер врал безбожно.
Поставил 5 вольт step-up и все в заработало!!!

PS: Что бы не было проблемм с кодом, как у Ulysses в вике обновил страничку [[GP2D12]] вместо процедуры вставил тестовую программу.


cron
Rambler\'s Top100 Mail.ru counter