OR-BWSENS — различия между версиями
=DeaD= (обсуждение | вклад) (→Документация) |
=DeaD= (обсуждение | вклад) (→Документация) |
||
| Строка 21: | Строка 21: | ||
[[Media:OR-BWSENS-UG.pdf|OR-BWSENS — Инструкция по эксплуатации.pdf]] (пока не готова) | [[Media:OR-BWSENS-UG.pdf|OR-BWSENS — Инструкция по эксплуатации.pdf]] (пока не готова) | ||
| + | |||
| + | Принцип работы датчика: | ||
| + | # Замыкаем на 2.5мс (2500мкс) сигнальную линию датчика на землю, разряжая конденсатор; | ||
| + | # Делаем сигнальную линию входом для МК (т.е. перестаём её подтягивать к земле или к питанию) и ждём сколько-то времени, пока через открытый, в зависимости от отражающей способности поверхности в спектре ИК-излучения и расстояния до поверхности, оптодатчик зарядится конденсатор; | ||
| + | # Замеряем что на выходе с датчика - 0 или 1. | ||
| + | |||
Код для проверки датчика на WinAVR (для контроллера OR-AVR-M32-D, датчик должен быть на линии A0, будет мигать светодиодом на линии C5): | Код для проверки датчика на WinAVR (для контроллера OR-AVR-M32-D, датчик должен быть на линии A0, будет мигать светодиодом на линии C5): | ||
Версия 04:40, 16 октября 2009
Датчик цвета поверхности OR-BWSENS (черное/белое)
Содержание
Краткие характеристики
Габариты модуля: 10 х 15 х 4 мм (длина*ширина — по печатной плате)
Вес: не более 3г
Распространенность модуля
- Продано 8 модулей: SkyStorm*2, BERKOF*2, pashteet*4
- Кроме того в использовании 2 модуля: =DeaD=, blindman
Документация
OR-BWSENS-sch.pdf - Схема модуля, номинал R3 - 330 Ом, номинал C2 - 0.01 мкФ
OR-BWSENS — Инструкция по эксплуатации.pdf (пока не готова)
Принцип работы датчика:
- Замыкаем на 2.5мс (2500мкс) сигнальную линию датчика на землю, разряжая конденсатор;
- Делаем сигнальную линию входом для МК (т.е. перестаём её подтягивать к земле или к питанию) и ждём сколько-то времени, пока через открытый, в зависимости от отражающей способности поверхности в спектре ИК-излучения и расстояния до поверхности, оптодатчик зарядится конденсатор;
- Замеряем что на выходе с датчика - 0 или 1.
Код для проверки датчика на WinAVR (для контроллера OR-AVR-M32-D, датчик должен быть на линии A0, будет мигать светодиодом на линии C5):
#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);
};
}
Код для проверки датчика на BASCOM AVR (для контроллера OR-AVR-M32-D, датчик должен быть на линии A0, будет мигать светодиодами на линиях C5 и B3):
$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
Контакты:
- Сигнал - первый никак не обозначенный на плате контакт;
- Питание - соответственно + и - обозначенные на плате;