Технический форум по робототехнике.
=DeaD= » 21 сен 2009, 12:46
Хм, скачать что ли BASCOM, откатать самому в нём... раз такие грабли... вроде с датчиком линии у меня всё ок работает, аж рекорды ставит, а тут всё то же самое по схеме. А какой именно BASCOM надо? У него демо-версия есть, чтобы не ломать?
SkyStorm » 21 сен 2009, 13:14
Демо BASCOM самый нижний файл Ограничения то ли 4 то ли 6 кб кода. Пока не достиг )))
galex1981 » 21 сен 2009, 17:10
Ограничения у демо BasCom 4 Кб кода
=DeaD= » 21 сен 2009, 23:29
Вот тестовая программка на gcc для проверки BW-SENS на порту А0, мигает светиком РС5 (который ближе к порту А) на OR-AVR-M32-D, тестировал на 10мм от поверхности:
- Код: Выделить всё • Развернуть
#include "defines.h"
#include <avr/interrupt.h>
#include <util/delay.h>
int main(void)
{
DDRC=0x20;
while(1==1){
DDRA=0xFF;
PORTA=0xFF;
_delay_us(2500);
DDRA=0x00;
PORTA=0x00;
_delay_us(2500);
int x=PINA;
if(x & 0x01 == 0x01){
PORTC=0x20;
}else{
PORTC=0x00;
};
_delay_us(1000);
};
}
Добавлено спустя 23 секунды:Ща попробую в BASCOM перетащить.
Добавлено спустя 30 минут 51 секунду:2SkyStorm:
Вот, освоил BASCOM, тут два светика сразу будет зажигать\гасить.
Пробуй, пиши чего получилось!
- Код: Выделить всё • Развернуть
$regfile = "m32def.dat"
$crystal = 7372800
Config Portc = Output
Config Portb = Output
Dim A As Byte
A = 1
While A > 0
Config Porta = Output
Set Porta.0
Waitms 3
Config Porta = Input
Reset Porta.0
Waitms 3
If Pina.0 = 1 Then
Set Portc.5
Set Portb.3
Else
Reset Portc.5
Reset Portb.3
End If
Wend
End
=DeaD= » 22 сен 2009, 14:51
2SkyStorm: Ну как, не попробовал пока?
SkyStorm » 22 сен 2009, 14:57
Нет тока вечером. На работе никак (((
=DeaD= » 23 сен 2009, 09:34
Еще не получилось проверить? Я же беспокоюсь

SkyStorm » 23 сен 2009, 10:15
Вчера вечером добрался до дома часов в 12.
Слегка глючил, но проверил.
Сеачала у меня случились непонятки диоды загараются но не зависимо от того на какой поверхности стоим... долго не мог понять в чем дело ))) на PA.0 был подкоючен Sharp ))) Подношу руку переставить на черное загарается убираю гаснет ... и так пол часа )))
Потом подключил BWSENS на PA.0 и тишина ни цвет поверхности, ни растояние до нее. Диоды не загораются и все. Расстроился и лег спать.
С утра на свежую голову пока ехал на работу подумал, что нужно было еще временем поиграться ... но это уже сегодня ... хотелось бы к суботе оживить.
Типа соревнования будут.
=DeaD= » 23 сен 2009, 10:18
А ты на чем тестировал? Оно же не цвет поверхности реально проверяет, а отражение ИК. Попробуй черную полосу на принтере напечатать тонером без режима эконом. А то может оно у тебя в ик-спектре отражает нормально черное то

.
Кстати, я вот подумал - а вообще оно как должно проверяться? На каких поверхностях надо испытывать? Черную изоленту наклеить чтоли на бумагу?
SkyStorm » 23 сен 2009, 11:43
Сегодня вечером планирую напечатать ринг для кегельринга.
На нем еще разок проверю.
Можно и изаленту, черная у меня есть )))
=DeaD= » 23 сен 2009, 11:44
А ты на чем проверял цвет поверхности?

или это у тебя специфичное, мне такое не найти?

SkyStorm » 23 сен 2009, 11:46
Ченое пластик ноутбука, белое лист бумаги.
=DeaD= » 23 сен 2009, 11:49
Пластик ноута может замечательно отражать ИК теоретически...
danger » 16 окт 2009, 07:49
OR-BWSENS: Датчик цвета поверхности как им пользоватся если у него 3 штекера или можно просто как фд,фт плюс минус подсоединить и работать будет?
=DeaD= » 16 окт 2009, 08:41
Датчик цвета ёмкостный - что позволяет регулировать чувствительность датчика не используя АЦП.
Принцип работы датчика:
1. Замыкаем на 2.5мс (2500мкс) сигнальную линию датчика на землю, разряжая конденсатор;
2. Делаем сигнальную линию входом для МК (т.е. перестаём её подтягивать к земле или к питанию) и ждём сколько-то времени, пока через открытый, в зависимости от отражающей способности поверхности в спектре ИК-излучения и расстояния до поверхности, оптодатчик зарядится конденсатор;
3. Замеряем что на выходе с датчика - 0 или 1.