OR-LINESENS-KTIRx10

Материал из roboforum.ru Wiki
Версия от 20:00, 17 апреля 2010; Vooon (обсуждение | вклад) (Документация: Полярность!)
Перейти к: навигация, поиск


Датчик линии OR-LINESENS-KTIRx10

Краткие характеристики

Внешний вид модуля.

Габариты модуля: 102 х 15 х 6 мм (длина*ширина — по печатной плате)

Количество оптопар: 10шт

Шаг оптопар: 10мм

Тип оптопар: KTIR0721ds

Вес: не более 15г

Распространенность модуля

  • Продано 6 модулей: dimchehov, DrunkenMaster, SkyStorm, shel, Vooon, tsrodger
  • Кроме того в использовании 2 модуля: =DeaD=, blindman

Документация

Соединение линий (первая на датчике - от логотипа OR):

  1. Vcc
  2. GND
  3. Sens0
  4. Sens1
  5. Sens2
  6. Sens3
  7. Sens4
  8. Sens5
  9. Sens6
  10. Sens7
  11. Sens8
  12. Sens9
  13. LED-on

Код для проверки датчика на WinAVR (для контроллера OR-AVR-M32-D, датчик должен быть на линии A0-7, C7-6, питание от 5В, управляющий сигнал включения подсветки сенсора LED-on - линия C5) откалиброванный под расстояние до поверхности 4-5мм:

<source lang="c">

  1. include "defines.h"
  1. include <ctype.h>
  2. include <stdint.h>
  3. include <stdio.h>
  4. include <string.h>
  1. include <avr/interrupt.h>
  1. include <util/delay.h>
  1. include "uart.h"

FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW);

int main(void) { uart_init(); stdout = stdin = &uart_str; printf("Linesensor-test ready!\n");

DDRC = 0x20; DDRD = 0x30;

//PWM, Phase and frequency correct, TOP=ICR1 TCCR1A = 0xA0; //clear on up-counting, set on down-counting TCCR1B = 0x12; //Clock prescaler 1/8 ICR1 = 9216; //Set 50Hz frequency uint16_t baseA = (153*2+1)*23/10; uint16_t baseB = (156*2+1)*23/10; OCR1A = baseA; OCR1B = baseB;

while(1==1){ DDRA = 0xFF; PORTA = 0xFF; DDRC |= 0xC0; PORTC |= 0xC0; _delay_us(3000); DDRA = 0x00; PORTA = 0x00; DDRC &= ~0xC0; PORTC &= ~0xC0; PORTC |= 0x20; _delay_us(500); int x = PINA; int y = PINC>>6; if (y == 1) { y = 2; } else if (y == 2) { y = 1; } x = x + (y<<8);

for(int i=0; i<10; i++){ int j = x & 0x01; printf("%d",j); x = x>>1; }; printf("\n");

_delay_us(30000); }; } </source>

OR-LINESENS-KTIRx10 — Инструкция по эксплуатации.pdf (пока не готова)

Форум поддержки

[http://www.roboforum.ru/viewtopic.php?f=69&t=5879]