🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

⚙️ Проект: тахометр оборотов на фотопрерывателе KY-010 и TM1637

Фотопрерыватель KY-010 и дисплей TM1637

KY-010 считает лопасти на валу, TM1637 переводит это в обороты в минуту.

Как это работает

KY-010 — оптический фотопрерыватель: ИК-светодиод и фотоприёмник стоят напротив друг друга в пазе. Пока луч не перекрыт — сигнал стабилен, лопасть/метка проходит через паз — луч на мгновение прерывается, сигнал переключается.

Формула `pulseCount * 60` переводит импульсы в секунду в обороты в минуту, но верна только если на оборот приходится ровно одно прерывание. Если лопастей несколько — результат делится на их число, иначе обороты окажутся завышены.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Подключите KY-010: сигнал → D2, VCC → 5V, GND → GND.
  2. Подключите TM1637: CLK → D3, DIO → D4, VCC → 5V, GND → GND.
  3. Установите паз так, чтобы лопасть свободно проходила через него.
  4. При нескольких лопастях добавьте деление на их число при расчёте оборотов.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <TM1637Display.h>

const int gatePin = 2;
TM1637Display display(3, 4);

volatile int pulseCount = 0;
unsigned long lastCalc = 0;
bool lastState = HIGH;

void setup() {
  Serial.begin(9600);
  pinMode(gatePin, INPUT);
  display.setBrightness(5);
}

void loop() {
  bool state = digitalRead(gatePin);
  if (state == LOW && lastState == HIGH) {
    pulseCount++;
  }
  lastState = state;

  if (millis() - lastCalc >= 1000) {
    int rpm = pulseCount * 60;
    display.showNumberDec(rpm);
    Serial.print("Обороты в минуту: ");
    Serial.println(rpm);
    pulseCount = 0;
    lastCalc = millis();
  }
}
                

Формула верна для одной прорези на оборот — если лопастей несколько, разделите результат на их число.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🪟 автоматические шторы на шагово…🚲 велоспидометр на герконе KY-02… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 159 ₽ 143 ₽ (экономия 16 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA