ЭТОТ БЛОК ПРЕДНАЗНАЧЕН ДЛЯ РАБОТЫ С CAN LIN.
Автор блока:
Movlonov Nodirbek To'raqul o'g'li
movlonov.nodirbek@mail.ru
Блоки пользователей FLprog!
Энкодер 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
Создайте электронную таблицу Google на вашем Google-Диске и назовите её например DataCollector («Сборщик Данных»). Переименуйте текущий (или активный) лист (sheet) на Summary («Общее») и добавьте второй лист, назовите его DataLogger («Регистратор Данных»). Из адресной строки таблицы скопируйте символы, находящиеся между символами «d/» и «/edit» и сохраните их где-нибудь. Это уникальный ключ совместного использования вашей электронной таблицы, который позже понадобится для скрипта на языке Google Apps Script.
Далее входим во вкладку "начать развертывание" далее
"Новое развертывание" Веб-приложение Запуск от имени выбираете "свой аккаунт" У кого есть доступ "Все"
Далее Идентификатор развертывания вставляем в ссылку адресной строки ---Your-Google-Sheet-ID--Goes-Here---
https://script.google.com/macros/s/---Your-Google-Sheet-ID--Goes-Here---/exec?tag=test&value=-1
// 0) Заходим в Google-Таблицы, Инструменты > Редактор скриптов...
// 1) Вставляем туда этот код
// 2) Сохраняем и именуем уникальным названием
// 3) Задаем в меню способ запуска в режиме "doGet"
// 4) При первом запуске скрипт попросит вас дать ему права на редактирование таблицы
// 5) В главном меню > Развернуть как веб-приложение...
// Каждый раз, когда заново разворачиваете скрипт, выбирайте последнюю версию
// Выставляем права: "Me (your email address)"
// ВАЖНО: выберите "Anyone, even anonymous" в меню "Кто может редактировать этот скрипт"
// Сохраняем опубликованный URL для использования в дальнейшем.
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec?tag=test&value=-1
// Эта Функция будет вызвана один раз при первом исполнении
function doGet(e){
Logger.log("--- doGet ---");
var tag = "",
value = "";
try {
// Дебаггинг
if (e == null){e={}; e.parameters = {tag:"test",value:"-1"};}
tag = e.parameters.tag;
value = e.parameters.value;
// Сохраняем данные в таблицу
save_data(tag, value);
return ContentService.createTextOutput("Wrote:n tag: " + tag + "n value: " + value);
} catch(error) {
Logger.log(error);
return ContentService.createTextOutput("oops...." + error.message
+ "n" + new Date()
+ "ntag: " + tag +
+ "nvalue: " + value);
}
}
// Функция для сохранения данных в таблицу
function save_data(tag, value){
Logger.log("--- save_data ---");
try {
var dateTime = new Date();
// Вставьте URL из Google-таблицы , начиная с https thru /edit
// Например: https://docs.google.com/..../edit
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/---Ваш-Google-Sheet-ID--Goes-Here---/edit");
var summarySheet = ss.getSheetByName("Summary");
var dataLoggerSheet = ss.getSheetByName("DataLogger");
// Получаем информацию о последней отредактированной строке в таблице
var row = dataLoggerSheet.getLastRow() + 1;
// Заполняем данными
dataLoggerSheet.getRange("A" + row).setValue(row -1); // ID
dataLoggerSheet.getRange("B" + row).setValue(dateTime); // dateTime
dataLoggerSheet.getRange("C" + row).setValue(tag); // tag
dataLoggerSheet.getRange("D" + row).setValue(value); // value
// Обновляем таблицу summary
summarySheet.getRange("B1").setValue(dateTime); // Last modified date
// summarySheet.getRange("B2").setValue(row - 1); // Count
}
catch(error) {
Logger.log(JSON.stringify(error));
}
Logger.log("--- save_data end---");
}
Применять соместно с главным блоком и блоком OLED display. Отдельно не работает.
Шрифты:
Кириллица:
ArialRus_Plain_10
ArialRus_Plain_14
ArialRus_Plain_16
ArialRus_Plain_24
ArialRus_Italic_10
ArialRus_Italic_16
ArialRus_Italic_24
DialogRus_Italic_10,
ArialRus_Italic_14,
ArialRus_Italic_26
kar_robot_16
kar_robot_24
--------------------------------------------------------------------------------------------------
text_alignment - положение текста на экране по горизонтали:
TEXT_ALIGN_LEFT,
TEXT_ALIGN_CENTER,
TEXT_ALIGN_RIGHT
-------------------------------------------
IMG
betory
символы
! - 100%
" - 85%
# - 50%
$ - 30%
% - 10%
& - low
---------------------------------------------
status
символы
! - замок закрыт
" - замок открыт
# - стрелочки вверх и вниз для выбора Символа
$ - красивый квадратик
% - Значок клиента wi-fi
& - Значок точки wi-fi
---------------------------------------------
img_1
символы
! - гориз полоса
" - вертик полоса
# - правый верх угол
$ - правый низ угол
% - левый верх угол
& - левый низ угол
---------------------------------------------
https://forum.flprog.ru/viewtopic.php?t=4894&p=108440#p108440
v4
Применять соместно с главным блоком и блоком OLED display. Отдельно не работает.
Шрифты:
Кириллица:
ArialRus_Plain_10
ArialRus_Plain_14
ArialRus_Plain_16
ArialRus_Plain_24
ArialRus_Italic_10
ArialRus_Italic_16
ArialRus_Italic_24
DialogRus_Italic_10,
ArialRus_Italic_14,
ArialRus_Italic_26
----------------------------------------------------------
kar_robot_10
kar_robot_16
kar_robot_24
--------------------------------------------------------------------------------------------------
text_alignment - положение текста на экране по горизонтали:
TEXT_ALIGN_LEFT,
TEXT_ALIGN_CENTER,
TEXT_ALIGN_RIGHT
-------------------------------------------
betory
символы
! - 100%
" - 85%
# - 50%
$ - 30%
% - 10%
& - low
---------------------------------------------
status
символы
! - замок закрыт
" - замок открыт
# - стрелочки вверх и вниз для выбора Символа
$ - красивый квадратик
% - Значок клиента wi-fi
& - Значок точки wi-fi
---------------------------------------------
img_1
символы
! - гориз полоса
" - вертик полоса
# - правый верх угол
$ - правый низ угол
% - левый верх угол
& - левый низ угол
---------------------------------------------
img_2
символы
! - стрелка в право
" - мини замок закрыто
# - мини замок открыто
$ - пусто
% - пусто
& - пусто
---------------------------------------------
img_3
символы
! - индикация сети вариант 1
" - индикация сети вариант 2
# - молния
$ - в треугольнике восклицательный знак
% - индикация сети вариант 3
& - Check mark
---------------------------------------------
big_img_1
символы
! - apple
" - радиация
# - save icon
$ - Control icon
% - череп
& -
---------------------------------------------
heart_icon
символы
! - большой размер сердца
" - средний размер сердца
# - маленький размер сердце
$ - inverted большой размер сердца
% -inverted средний размер сердца
& - inverted маленький размер сердце
---------------------------------------------