Расчет расстояния и курса по координатам двух точек земли.
На входах данные градусов двух точек, вида ( 47.653124) тип строчный.
Если выбран 8бит контроллер, координаты вводятся раздельно целая и дробная части.
Пример: широта = 47.653124, записывать как lat1 = 57 lat1* = 0.653124
На выходе дистанция до второй точки в метрах, курс в градусах 0-360.
Более подробней на форуме:
https://forum.flprog.ru/viewtopic.php?f=74&t=7582#p106421
rw6cm 27.09.21
Flp 7.3.8
Мультиблок GPS, выбирает данные из пакета NMEA формата, переданного по UART.
Данные могут быть, как общепринятые, так и дополнительные, заложенные производителем GPS.
Мультиблок имеет блоки:
"Дата" "Время" "Координаты" "Курс" Высота" "Скорость" Спутники" "Точность места"
А так же блок извлекающий дополнительные данные, заложенные производителем GPS
Во многих блоках есть подсчет времени загрузки цикла блоком.
Некоторые имеют дополнительные выходы (встроенные детекторы изменения сигналов).
Блоки используются в проекте один раз, кроме блока со звездочкой.
Библиотека TinyGPSflp.
Это слегка измененная под FLProg библиотека «TinyGPS++» version=1.0.2.
Более подробней на форуме:
https://forum.flprog.ru/viewtopic.php?f=74&t=7582#p106420
rw6cm 27.09.21
flp7.3.8
Энкодер Pro (EncPro) V1.4
Энкодер Pro (EncPro) Энкодер_Pro_V1.5.1
Это универсальный блок с возможностью настройки.
Все настройки интуитивно понятны и имеют описание и подсказки.
Благодаря отличному алгоритму библиотеки Encoder (https://github.com/PaulStoffregen/Encoder/releases),
которую я поправу считаю лучшей в своем классе, пропуск шагов практически исключен.
В описании библиотеки гарантирована работа на частоте до 100 - 127 кГц.
Если у вас нормальный, не убитый энкодер, имеющий RC фильтры, то при подключении
сигнальных пинов на пины контроллера, поддерживающие прерывания, качественная работа
блока гарантирована. Если же такой возможности нет, то используйте хотя бы один пин
поддерживающий прерывания. У таких контроллеров как UNO и NANO это D2 и D3.
Счетный выход блока Count выдает результат моментально.
Скорость работы импульсных выходов Up и Down зависит от вашей программы.
Блок физически не может выдавать больше одного импульса за два цикла.
Однако импульсов будет ровно столько, сколько покажет моментальный выход Count,
хотя они могут совершаться с задеожкой.
Блок выдает количество шагов и импульсы для каждого шага.
Автор
Dryundel
Блок преобразует данные с датчика MPC9700 в градусы. Блок для передача данных по UART
Блок преобразует данные с датчика MPC9700 в градусы (Цельсия*10)
Питание датчика 5v, опорное напряжение контроллера 5v.
Автор: Boroda
Блок формирует посылку из четырех INT + контрольная сумма LRC для отправки в UART.
Автор: Boroda
Блок формирует посылку из восьми INT + контрольная сумма LRC для отправки в UART.
Автор: Boroda
Блок запоминания 8 аварий с кнопкой "Сброс" и "Тест сигнализации"
Блок для модуль прием и передатчик nRF24L01+
Для nRF24L01+ Автор: Слимпер
SCK (Serial ClocK) — тактирование (синхронизация). ( Arduino UNO D13 | Arduino Mega D52)
MOSI / MI (Master Out Slave In) — вход данных. ( Arduino UNO D11 | Arduino Mega D51)
MISO / MO (Master In Slave Out) — выход данных. ( Arduino UNO D12 | Arduino Mega D50)
CE/SS - Выбор ведомого на шине SPI из нескольких устройств.
SCN - выбор режима приема/передача , фактически тот же CE.
IRQ - выход прерывания, чаще всего не используется. Необходим для немедленной реакции микроконтроллера при приеме нового пакета данных.
GND - земля, масса, минусовая шина.
Vcc -питание модуля 3.3в. Для надежной работы параллельно питанию как можно ближе к радио модулю рекомендуется подключить электролитический конденсатор не менее 100мкф , а так же керамический на 0.1 мкф.
Блок служит для настройки работы системы передачи данных
!!! Блок должен быть расположен раньше всех остальных из этой серии. Т.е желательно вверху первой платы.
Параметры
Адреса Устройства - Адреса самого трубы (устройства) в сети. Может быть пустым, если устройство не будет передавать данные.
Длинна должна быть равна 5 символам (цифры и буквы латинского алфавита). Вводить в кавычках. Адресов может быть несколько, водить надо через запятую, например: "1Node" , "2Node"
Номер по порядку нужно будет подставлять на вход "address", блоков отвечающих за передачу данных.
Нумерация адресов начинается с ноля, т.е. запись 4Node" , "6Node" , "7Node" , "9Node" означает: №0 - 4Node" ,№1 - "6Node" ,№3 - "7Node" , №4 -"9Node"
Адреса Прослушки - Адреса других труб (устройств) в сети, сообщения с которых будут приниматься текущем устройствам. Может быть пустым, если устройство не будет принимать данные.
Длинна одного должна быть равна 5 символам (цифры и буквы латинского алфавита). Вводить в кавычках. Адресов может быть от 1 до 5, водить надо через запятую, например: "1Node" , "2Node"
Адреса для прослушки должны иметь один и тот же адрес, кроме первого байта (символа), например: "1Node" , "2Node" , "3Node" , "4Node"
Скорость - скорсть предачи данных между модулями. Варианты RF24_250KBPS - 250 кБит/с, RF24_1MBPS - 1 МБит/с, RF24_2MBPS - 2 МБит/с
Повторы - Количество повторный отправок до отказа.
Входы
ChanneNRF24 - Номер канала:0-125 Нулевой канал начинается с 2400мгц и далее с шагом 1 мгц, например 70 канал находится соответственно на 2470мгц. При установке скорости 2 МБит/с занимается ширина двух каналов. Не подключенный вход означает 0 канал.
LevelNRF24 - Мощность передатчика: 0- RF24_PA_MIN, 1-RF24_PA_LOW, 2-RF24_PA_HIGH, 3- RF24_PA_MAX соответственно NRF24L01: -18dBm, -12dBm, -6dBM и 0dBm SI24R1: -6dBm, 0dBm, 3dBM и 7dBm. Не подключенный вход означает минимальную мощность.
Входы ChanneNRF24 и LevelNRF24 обрабатываются только один раз при старте программы. Подразумевается использование их совместно с EEPROM или блоком меню. То есть, изменил значение в памяти, перезапустил контроллер и вступают в силу новые настройки.
PauseNRF24 - пауза между отправками данных, в мс. Используется для задержки отправки следующего покета данных.
Не подключенный вход означает 10мс.
Initialization - при подачи 1 на вход проводит повторную инициализацию платы.
Необходимо если для экономии питания было произведено отключении питания nRF24, вовремя работы контроллера.
!!! Во всех других случаях вход оставлять не подключеным.
Выхода
NRF24_dataObtained - Поступили новые данные. Добавил выход для возможности отключения плат на которых идет обработка новых данных.
rxFifoFull - Переполнение приемного буфера nRF24L01+. Означает, что высока вероятность потери части данных.
!!! Необходимо принять меры. !!!
Возможно, требуется оптимизировать программу текущего контроллера. Или можно увеличить интервалы отправки на передающих.
Если на передающем больше одного блока передачи данных, то надо увеличит значение входа PauseNRF24 блока NRF24_Главный на передающем устройстве.
Блок для бегущая строка на MAX7219, главный блок.
Uno or Duemilanove DIN 11 (MOSI), CLK 13 (SCK), pinCS установить в параметрах , по умолчанию 10.
Внимание! numberOfHorizontalDisplays= nH это вертикальные матрицы,
а numberOfVerticalDisplays= nV это горизонтальные матрицы.
aidar_i
Приставка для создания бегущей строки для дисплеев.
Выход V подать на вход "х" блока вывода стационарного текста
Входы:
scroll
speed
lengthStr -
width_display
width_font
Выводится строка со входа .
aidar_i