Тахометр с помощью оптопары
- Войдите на сайт для отправки комментариев
Пт, 18/05/2018 - 15:02
Добрый день уважаемые знатоки, есть небольшая проблемка с которой я столкнулся, прошу вашей помощи, так я просмотрел форум и ничего подобного не нашел.
Есть такой вот датчик из оптопары

Я его подключил, нашел код и он заработал и вроде считает правильно обороты
#define PIN_D2 2 // Установка контакта используемого в Arduino
volatile unsigned int pulses;
float rpm;
unsigned long timeOld;
#define HOLES_DISC 1
void counter()
{
pulses++;
}
void setup()
{
Serial.begin(9600);
pinMode(PIN_D2, INPUT);
pulses = 0;
timeOld = 0;
attachInterrupt(digitalPinToInterrupt(PIN_D2), counter, FALLING);
}
void loop()
{
if (millis() - timeOld >= 1000)
{
detachInterrupt(digitalPinToInterrupt(PIN_D2));
rpm = (pulses * 60) / (HOLES_DISC);
Serial.println(rpm);
timeOld = millis();
pulses = 0;
attachInterrupt(digitalPinToInterrupt(PIN_D2), counter, FALLING);
}
}
Но тут я наше вот такую оптопару
Подключил ее, но ничего не проиходит
Подскажите пожалуйста в чем проблема

А где схема подключения той оптопары? Даташит на нее нашли?
Проблема в отсутствии усилителя.
Вот схема подключения, когда я заливаю простой скетч, у меня получается считать с него 0 и 1, но когда я беру скетч для измерения скорости - он молчит.
Странно что у вас вообще что то работает при таком подключении питания на макетку.
А как правильно дожно быть подключено?
просто посмотрев даташит и методом "научного тыка", изменение сигнала проиходит только при таком подключении
Вы внимательно картинку посмотрите, красный и черный провод от друины к макетке - оба к земле подключены.
Действитель, видимо уже пора завязывать с ардуино или не проснулся еще