Форум myROBOT.ru » Лаборатория » Электронная мастерская » модули связи myLINKER

Страниц (7): « 1 [2] 3 4 5 6 7 »
 

16. nest - 09 Мая, 2011 - 20:45:35 - перейти к сообщению
nestandart пишет:
Что бы снизить дальность действия передатчика
нужно изменить номинал резистора R6 ?
зачем?
nestandart пишет:
TSOP выдает только логи 1/0 ?
да
nestandart пишет:
Можно ли завести выход TSOP на АЦП ?
нет смысла.
nestandart пишет:
Можно ли на myLinker измерять расстояние до передатчика (приблизительно) ?
нет.

Если вам нужен дальномер - так купите ИК-дальномер. Они недорогие, 10-15 евро. Чем пытаться сделать вертолёт из велосипеда.
Можно и дешевле на ультразвуке сделать...
17. nestandart - 09 Мая, 2011 - 20:54:19 - перейти к сообщению
Цитата:
Что бы снизить дальность действия передатчика
нужно изменить номинал резистора R6 ?


Хочу сделать датчик препятствий .

myPSOPER не подходит по компоновке платы , да и не нужен мне
двойной датчик.

А вот myLinker на роль датчика подходит идеально (немного переработать плату).
18. nest - 09 Мая, 2011 - 21:11:51 - перейти к сообщению
nestandart, если у вас МК, то и сделайте на нём всё.
19. nestandart - 09 Мая, 2011 - 23:08:28 - перейти к сообщению
Цитата:
если у вас МК, то и сделайте на нём всё.

Не хотелось бы . На него и так будет нагружено прилично.
(Добавление)
... да и не умею я генерировать/принимать частоту на МК...
20. nest - 09 Мая, 2011 - 23:48:48 - перейти к сообщению
nestandart пишет:
.. да и не умею я генерировать/принимать частоту на МК...
самое время научиться.
21. ОЛЕГ - 10 Мая, 2011 - 00:07:11 - перейти к сообщению
Генерация посылок для TSOP для AVR Studio:
CODE:

#include <avr/io.h>
#include <avr/delay.h>
#include <avr/iom8.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define F_CPU 8000000UL // 8 MHz

volatile int modulation=64; // длина посылки целиком

SIGNAL(SIG_OVERFLOW0) //обработчик прерывания со счетчика

{
TCNT0 = 0; //сбрасываем счетчик

if(modulation<14) //14 бит- длина "полезной" части посылки для ТСОП
{PORTB ^= 0b00000010;} //подаем на порт В1 модулированную единицу

else
{PORTB &= 0b00000000;} //иначе- на порт В1 идет 0, пауза

if(modulation<64) //пока длина всей посылки меньше 64
{modulation++;} //продолжаем ее

else
{modulation=0;} //иначе- начинаем новую
}



void init_timer0 () //настраиваем счетчик на 36КГц при 8МГц ЦПУ
{cli();
TCNT0 = 111;
TCCR0 = 1;
TIMSK = 1;
sei();
}


int main(void) //основная программа
{
DDRB = 0b11111111; // порт В- выход
PORTB = 0b00000000;

init_timer0(); //запускаем таймер

//Бла-бла-бла, Ваша программа.



Длиной посылки целиком и длиной ее полезной части можно поиграть в большую сторону.
22. nestandart - 10 Мая, 2011 - 00:44:17 - перейти к сообщению
ОЛЕГ
Спасибо конечно , но до СИ я пока не добрался.

Да и мне кажется что будет лучше гинерировать частоту микросхемой
нежели вставлять довольно большой кусок кода.
23. ОЛЕГ - 10 Мая, 2011 - 01:00:01 - перейти к сообщению
Как Вам угодно.
Был порыв помочь. Не смог с ним справиться. Улыбка
24. nest - 10 Мая, 2011 - 01:06:21 - перейти к сообщению
nestandart пишет:
до СИ я пока не добрался.
а на чём пишите?
nestandart пишет:
будет лучше гинерировать частоту микросхемой
нежели вставлять довольно большой кусок кода.
уверяю вас, места в МК - как грязи.
В мега8 можно упихать штук 8 ИК-бамперов, штук 8 сенсоров линии, два управления шаговиками, ну и ещё по-мелочам, типа UART общения, символьный LCD-экран , пару дальномеров... И всё это будет работать, ездить и бибикать Улыбка
25. nestandart - 10 Мая, 2011 - 01:08:52 - перейти к сообщению
Научился генерировать частоту !!

Но почему то TSOP реагирует на все что больше 18 кгц ,
Хотя у меня PSOP 1738.
Почему так ?
26. ОЛЕГ - 10 Мая, 2011 - 01:11:06 - перейти к сообщению
38КГц- это, если можно так выразиться, "максимум поглощения". Близлежащие частоты тоже вполне себе работают, правда, не так далеко и не так безошибочно.
27. nestandart - 10 Мая, 2011 - 01:11:30 - перейти к сообщению
Цитата:
а на чём пишите?


Wiring. По сути это упрощенный вариант СИ.
(Добавление)
Вот сгенерировал я 100 кгц - TSOP видит.
Правда я сомневаюсь что светодиод может нормально работать на такой частоте.
28. mihail - 10 Мая, 2011 - 03:36:02 - перейти к сообщению
Язык программирования среды разработки arduino это не упрощенный С. Скорее, это С++.
29. nestandart - 10 Мая, 2011 - 19:31:11 - перейти к сообщению
Цитата:
... да и не умею я генерировать/принимать частоту на МК...

К тому же у моей фридуины есть существенный недостаток -
на ней нельзя , одновременно , генерировать частоту и использовать ШИМ.
В общем или ШИМ или частота.
30. nest - 10 Мая, 2011 - 20:19:55 - перейти к сообщению
nestandart пишет:
на ней нельзя , одновременно , генерировать частоту и использовать ШИМ. В общем или ШИМ или частота.
если там AVR , то можно легко