roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 июл 2025, 06:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 1502 ]  На страницу Пред.  1 ... 41, 42, 43, 44, 45, 46, 47 ... 101  След.
Автор Сообщение
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 14:13 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10991
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
затем ключевой момент - лазер вынесен для засветки вертикально вниз
forum107/topic15929-465.html#p344292

Добавлено спустя 37 секунд:
затем вот forum107/topic15929-495.html#p344369

Добавлено спустя 48 секунд:
ну и сейчас пилю
forum107/topic15929-540.html#p346358


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 15:32 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
ales2k писал(а):
Напряжение на постоянку +5v, не парился с включением с ноги, мне это не нужно.
SCL - D12
SDA - D10
Как в конфиге.

Debug 1(пробовал разные)
Serial аппаратный (просто текст выдает, то есть рабочий)
Тип Nano - компиляет, значит переменные установились как надо.

Случайно spi не аппаратный выставлен в конфиге? Лучше конфиги сюда залить, посмотрим.
С докой у нас все плохо :)
А, во, я же с этим чипом игрался, вечером попробую свои конфиги показать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 15:36 
Не в сети
Аватара пользователя

Зарегистрирован: 30 июн 2014, 12:50
Сообщения: 463
Большой путь вами пройден.

Электронику в горячей зоне держать не хочу, поэтому, если получится,то все цепи управления уйдут наружу,
Снаружи у меня p328au уже трудится "сопроцессором" к основному контроллеру и довесить управление на нее никаких сложностей не вызовет.

Корпус попытаюсь сделать покомпактнее и с регулировкой фокусного расстояния (есть набор линзочек разных от указок и т.п.).



Конфиг
Вложение:
Config.h [6.48 КиБ]
Скачиваний: 305
Вложение:
board_ArduinoNano.h [1.77 КиБ]
Скачиваний: 278
Вложение:
sensor_ADNS_2620.h [1.59 КиБ]
Скачиваний: 270


Потом скачал поновее, но тоже не заработало Конфиги там почти такие же, но под рукой их нет.

_________________
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 18:00 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
У меня вот тут конфигурация под нану (вроде даже запушил изменения): https://github.com/dccharacter/RF3Sens
А, блин, не запушил :-( Попозже сделаю.

А что значит "не работает"? Видео в программу не выводит?

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 18:24 
Не в сети
Аватара пользователя

Зарегистрирован: 30 июн 2014, 12:50
Сообщения: 463
Вообще ничего не выводит ни в одном режиме дебага.

_________________
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 18:29 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Ну так надо траблшутить. Нана-то живая?
В дебаг_тайп_3 должно сыпать текст в консоль. Вставь там где-нибудь несколько принтлайнов ДО начала работы с датчиком.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 18:59 
Не в сети
Аватара пользователя

Зарегистрирован: 30 июн 2014, 12:50
Сообщения: 463
Нана живая с референсной библиотекой, даже изображение с датчика читает

_________________
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 19:08 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
А что за референсная библиотека? Ты только бблиотеку какую-то подменил или вообще прошивку другую зали и другой визуализатор?

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 21:15 
Не в сети
Аватара пользователя

Зарегистрирован: 30 июн 2014, 12:50
Сообщения: 463
Все другое брал. forum107/topic15929-630.html#p347204

_________________
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 21:43 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Превед "гит наше фсе!"
Кто следит за "Люди, мы думаем о вас"???
ales2k, не могу пока понять в чем дело. Надо пытать реформаторa, типа dccharacter-a...

Добавлено спустя 8 минут 6 секунд:
Смотрю свой старый конфиг, отличия от гит:
Код:
//pin_led
//PB5 D13
#define pin_led_bit         5
#define pin_led_DDR         DDRD
#define pin_led_PORT        PORTD

Код:
//pin_led
//PB5 D13
#define pin_led_bit         5
#define pin_led_DDR         DDRB
#define pin_led_PORT        PORTB

Напомните, почему стало так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 21:47 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
привет привет
ну я вот думаю - простейший-то траблшутинг можно было сделать - светодиодом мигнуть или еще что. Что уж совсем с нуля не начинать. У меня-то все работает...

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 21:55 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Нет уж, вписался? Помогай, без твоего гита я бы без вопросов помог...
dccharacter писал(а):
У меня-то все работает...

Вооооооот, за это я не люблю кошек.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 08 фев 2016, 22:56 
Не в сети
Аватара пользователя

Зарегистрирован: 30 июн 2014, 12:50
Сообщения: 463
Итак не работает этот кусок, подключение верное
while (1) {
temp_byte = ADNS_read(Pixel_Grab);Это отрабатывает
if (temp_byte & Pixel_data_valid) { тут вечный цикл
break;
}
ADNS_read() Всегда возвращает 0. что то с ним не так... будем посмотреть дальше


В то же время простейший код отрабатывает идеально
//-------------------------------------------------------
#define SDIO 12 //значения ставил как у вас и переключал физику, тоже работает.
#define SCLK 10 //
//-------------------------------------------------------
byte DriverRead(byte address)
{
pinMode (SDIO, OUTPUT);
for (byte i=128; i >0 ; i >>= 1)
{
digitalWrite (SCLK, LOW);
delayMicroseconds(10);
digitalWrite (SDIO, (address & i) != 0 ? HIGH : LOW);
delayMicroseconds(10);
digitalWrite (SCLK, HIGH);
delayMicroseconds(10);
}
delayMicroseconds(120);
pinMode (SDIO, INPUT);
byte res = 0;
for (byte i=128; i >0 ; i >>= 1)
{
digitalWrite (SCLK, LOW);
delayMicroseconds(10);
digitalWrite (SCLK, HIGH);
delayMicroseconds(10);
if( digitalRead (SDIO) == HIGH )
{
res |= i;
}
}
delayMicroseconds(100);
return res;
}
//-------------------------------------------------------
void DriverWrite(byte address, byte data)
{
address |= 0x80;
pinMode (SDIO, OUTPUT);
for (byte i = 128; i > 0 ; i >>= 1)
{
digitalWrite (SCLK, LOW);
delayMicroseconds(10);
digitalWrite (SDIO, (address & i) != 0 ? HIGH : LOW);
delayMicroseconds(10);
digitalWrite (SCLK, HIGH);
delayMicroseconds(10);
}
delayMicroseconds(120);
for (byte i = 128; i > 0 ; i >>= 1)
{
digitalWrite (SCLK, LOW);
delayMicroseconds(10);
digitalWrite (SDIO, (data & i) != 0 ? HIGH : LOW);
delayMicroseconds(10);
digitalWrite (SCLK, HIGH);
delayMicroseconds(10);
}
delayMicroseconds(100);
}
//-------------------------------------------------------
void DriverInit()
{
pinMode(SCLK, OUTPUT);
pinMode(SDIO, OUTPUT);
digitalWrite(SCLK, HIGH);
delayMicroseconds(5);
digitalWrite(SCLK, LOW);
delayMicroseconds(1);
digitalWrite(SCLK, HIGH);
delay(1025);
DriverWrite(0x00, 0x01);
delay(3000);
}
//-------------------------------------------------------
int DriverReadFrame(byte *arr, int len)
{
byte *pos=arr;
byte *uBound=arr+len;
unsigned long timeout = millis() + 1000;
byte val;
DriverWrite(0x08, 0x2A);
while( millis() < timeout && pos < uBound)
{
val = DriverRead(0x08);

//Only bother with the next bit if the pixel data is valid.
if( !(val & 64) )
{
continue;
}
//If we encounter a start-of-field indicator, and the cursor isn't at the first pixel,
//then stop. ('Cause the last pixel was the end of the frame.)
if( ( val & 128 ) && ( pos != arr) )
{
break;
}
*pos = val & 63;
pos++;
}
return (pos-arr);
}
//-------------------------------------------------------
void setup()
{
Serial.begin(57600);
DriverInit();
}
//-------------------------------------------------------
void loop()
{/*
byte x = DriverRead(0x02);
byte y = DriverRead(0x03);
if(x || y)
{
Serial.print("X:");
Serial.print(x,DEC);
Serial.print(" Y:");
Serial.println(y,DEC);
}*/

if (Serial.available() > 0)
{
byte c = Serial.read();
if (c == 'F')
{
byte tmp[324];
int len = DriverReadFrame(tmp,324);
int kk=0;
for(int i=0;i<324;i++)
{
Serial.print(tmp[i]);Serial.print(" ");
kk++;
if (kk==18){Serial.println();kk=0;}
}

Serial.println();Serial.println();
Serial.println(len);
}
}
}

_________________
"Мы не в Англии случиться может всякое" Сказано главой МИ6 в Эдинбурге Шотландия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 09 фев 2016, 01:27 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Так, вижу ошибку. Если ты пины физически подключал так:
Код:
#define SDIO 12 //значения ставил как у вас и переключал физику, тоже работает.
#define SCLK 10 //

то в твоем board_ArduinoNano.h:
Код:
//pin_nClock (SCK)
//PB4 D12
#define pin_nClock_bit      4
#define pin_nClock_DDR      DDRB
#define pin_nClock_PORT     PORTB

//MOSI
//PB3  D11
#define pin_SDIO_bit        3
#define pin_SDIO_DDR        DDRB
#define pin_SDIO_PORT       PORTB
#define pin_SDIO_PORT_IN    PINB

Т.е. SDIO должен быть на D11, а SCLK на D12

Добавлено спустя 7 минут 58 секунд:
Я все понял, надо схему в док добавить для ардуины нано. Слишком круто все меняется...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Датчик касания оптический, триангуляция
СообщениеДобавлено: 09 фев 2016, 02:23 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Я наглухо запутался в гите. Сначала не пушились мои ветки в мой репозиторий. Оказалось, надо сделать git push --all origin -u. Теперь, чтобы достать ветки из репозитория, я, оказывается должен локально создать ветку для каждой ветки в репе и вручную установить трекинг. Серьезно? Это что за ппц такой?

Добавлено спустя 23 минуты:
У меня че-то стало требовать определения функций типа void ADNS_reset(void); Не пойму - я ж собирал уже этот проект этим же мейкфайлом. Че изменилось-то? У нас же не было никаких деклараций никогда, правильно?

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1502 ]  На страницу Пред.  1 ... 41, 42, 43, 44, 45, 46, 47 ... 101  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO