
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Хотя покупать его несколько неудобно (потому что он недоступен во многих интернет-магазинах), я считаю необходимым обсудить STM32 L432KC. Этот чип заслуживает особого внимания, так как имеет УЛЬТРА НИЗКАЯ МОЩНОСТЬ. Однако для тех, кто не владеет STM32, он может быть заменен в этом проекте на Arduino Uno. Для этого просто измените контакт входа прерывания.
Затем давайте создадим измеритель оборотов, используя STM32 L432KC и инфракрасный датчик. Эту же программу можно использовать для измерения скорости ветра. Низкое энергопотребление этого микроконтроллера идеально подходит для Интернета вещей.
Шаг 1: модули


В нашем сегодняшнем проекте мы используем 8-значный MAX7219CWG, а также инфракрасный модуль.
Шаг 2: STM32 NUCLEO-L432KC

Шаг 3: демонстрация

В нашей сборке есть STM32, 8-разрядный дисплей и импульсный вход. Инфракрасная карта имеет фототранзистор и светодиод, который улавливает свет, отражаясь от белой ленты. Эта лента прикреплена к колесу и при каждом повороте будет генерировать импульс, который будет захвачен прерыванием STM32.
У нас есть диод и конденсатор в сборке, которые использовались для предотвращения попадания шума сигнала считывания с ленты на STM32, что заставило бы его интерпретировать включение и выключение.
На демонстрации показан наш проект, а также счетчик Minipa (оба в действии).
Шаг 4: Сборка

Шаг 5: программа
Мы создадим программу, в которой инфракрасный модуль будет запускать прерывание в STM32 L432KC каждый «оборот», и мы выполним вычисления для отображения числа оборотов на дисплее.
Шаг 6: библиотеки

Добавьте следующую библиотеку «DigitLedDisplay».
Просто зайдите в «Скетч >> Включить библиотеки >> Управление библиотеками…»
Шаг 7: Исходный код
Библиотеки и переменные
Начнем с исходного кода, включая библиотеку DigitLedDisplay. Мы покажем экранный объект. Я устанавливаю вывод прерывания, который будет 12. Кроме того, я ввожу изменчивый оператор для счетчика оборотов и времени, чтобы избежать проблем с коллизиями.
/ * Включить библиотеку DigitLedDisplay * / # include "DigitLedDisplay.h" / * Вывод Arduino для вывода вывода 7 на DIN, 6 на CS, 5 на CLK * / // DigitLedDisplay ld = DigitLedDisplay (7, 6, 5); // Arduino DigitLedDisplay ld = DigitLedDisplay (4, 2, 3); // STM32 L432KC int pin = 12; // прерывание (модуль IR) volatile unsigned int rpm; // изменение оборотов volatile unsigned long timeold; //темп
Настраивать
В Setup мы настраиваем работу отображения, а также настраиваем прерывание как Rising.
void setup () {Serial.begin (115200); / * Устанавливаем яркость min: 1, max: 15 * / ld.setBright (10); / * Устанавливаем количество цифр * / ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (контакт), interruptPin, RISING); об / мин = 0; timeold = миллис (); }
Петля
Наконец, мы определяем интервал 1 в 1 минуту для обновления дисплея. После очистки экрана печатаем обороты. Выполняем функцию, которую вызовет прерывание. Рассчитываем обороты и время обновления.
void loop () {задержка (1000); ld.clear (); ld.printDigit (об / мин); } void interruptPin () {об / мин = 60 * 1000 / (миллис () - время); timeold = миллис (); }
Шаг 8: файлы
Загрузите файлы:
Я НЕТ
Рекомендуемые:
Как использовать генератор сигналов частоты Arduino DDS AD9850: 7 шагов

Как использовать генератор частотных сигналов Arduino DDS AD9850: в этом руководстве мы узнаем, как создать частотный генератор сигналов с использованием модуля AD9850 и Arduino. Посмотрите видео! Примечание: мне удалось получить частоту до +50 МГц, но качество сигнала улучшилось. хуже с высокими частотами
Простой измеритель частоты Arduino своими руками до 6,5 МГц: 3 шага

Сделай сам простой измеритель частоты Arduino до 6,5 МГц: сегодня я покажу вам, как построить простой частотомер, способный измерять частоты прямоугольных, синусоидальных или треугольных сигналов до 6,5 МГц
Измерение частоты пульса на кончике пальца: фотоплетизмографический подход к определению частоты пульса: 7 шагов

Измерение частоты пульса на кончике пальца: фотоплетизмографический подход к определению частоты пульса: фотоплетизмограф (ФПГ) - это простой и недорогой оптический метод, который часто используется для обнаружения изменений объема крови в микрососудистом ложе ткани. В основном он используется неинвазивно для измерения на поверхности кожи, обычно
Проверка частоты вращения для мини-двигателя постоянного тока: 11 шагов (с изображениями)

RPM Checker for Mini Motor Dc: Число оборотов в минуту, кратко - это скорость вращения, выраженная в оборотах в минуту. в инструментах для измерения частоты вращения обычно используется тахометр. В прошлом году я нашел интересный проект, сделанный electro18, и это моё вдохновение поучительно, он был зол
Простой измеритель частоты вращения с использованием дешевых модулей: 8 шагов

Простой измеритель оборотов с использованием дешевых модулей: это очень интересный проект, требующий очень меньших усилий. Он позволяет сделать очень простой измеритель оборотов в минуту (в моем случае - раунд за секунду)