FLProg — продовження еволюції



Досить довго на хабре не було новин про проект FLProg. На жаль зайнятість на основній роботі і домашні турботи не залишала мені часу на написання постів. Але проект не помер, а продовжує розвиватися. Що нового сталося з часу публікації останнього поста?

Вийшли три нові версії програми. У версії 1.8 з'явилася можливість створювати блоки користувачів. Блоки можуть створюватися на будь-якому з двох мов, і використовуватися в будь-якому проекті FLProg. Вони не прив'язані до конкретного контролеру. Блоки можуть об'єднуватися в бібліотеки, зберігатися у вигляді файлу на диск, як у вигляді окремого блоку, так і цілком бібліотека блоків. Можливий обмін блоками, завантаження чужих блоків в свою бібліотеку. Більш докладно про роботу з блоками користувача можна подивитися у відео уроках.

Робота з користувацькими блоками в FLProgВідеоурок «Робота з користувацькими блоками і створення блоку на мові FBD»


Відеоурок «Робота з користувацькими блоками і створення блоку на мові LAD»

Оскільки у версії 1.8. було сильно змінено ядро програми, то в перший час після початку її експлуатації було виявлено досить велику кількість критичних помилок. Це спричинило за собою необхідність випуску версії 1.8.1 з їх виправлення.
Вчора була випущена версія 1.9, головною метою якої була організація роботи з Bluetooth. Для вирішення цієї задачі довелося істотно розширити функціонал програми. Додано шість нових блоків роботи з рядками, додані два нових типи даних раніше відсутніх в проекті (Char і Byte). Так само реалізована робота з масивами і SoftwareSerial. Про нові блоки в програмі і роботі з ними можна подивитися у відео уроці.

Що нового в програмі FLProg -1.9. Робота з масивами, рядками, ком-портом, блютуз.
Крім того я знайшов в інтернеті цікавий проект RemoteXY.

Основна ідея проекту – дати можливість створювати власні інтерфейси управління для плат Arduino у візуальному онлайн редакторі. Опис інтерфейсу знаходиться в прошивці контролера, що дозволяє одній програмі для Android працювати з будь-яким створеним в редакторі інтерфейсом.

Я зв'язався з авторами проекту, і ми домовилися про співпрацю. На сайті проекту додали підтримку програми FLProg, а я зробив спеціалізований блок для роботи з програмою RemoteXY. Результат цієї співпраці можна подивитися на відео.

Робота з програмою RemoteXY в прооекте FLProg
Ну і найочікуваніша користувачами оновлення в проекті. Починаючи з версії 1.9 у проекті можна в будь-який момент часу поміняти контролер, і виробляти копіювання між різними проектами, написаними на одній мові. Реалізація цього з вигляду нескладного на перший погляд функціоналу виявилася дуже складною, що й викликало затримку в випуск нової версії.

А наостанок як зазвичай огляд нових проектів користувачів на сайті FLprog. Збережений текст авторів публікацій.


Автор: Любитель
Контролер заряду від сонячної батареї
Доброго часу доби, колеги!
Метою створення даного проекту є прикладом того, що програмою вельмишановного Сергія Глушенко активно користуються і на ній можна збирати досить серйозні проекти. Практично на самому початку я написав простенький таймер на FLProg і опублікував сюди, коли ще в програмі не було і половини того, що ми маємо зараз. Далі мені захотілося створити щось більше і відповідно корисне і застосовне)). Але досить довгий час у мене не вистачало фантазії на що-небудь цікаве.
Але ось настав той день коли на мене нахлинуло натхнення! Винуватцем виявився мій колега по роботі і близький друг. Він придбав сонячну батарею і пару акумуляторів, а от від заводського контролера заряду він відмовився, так як вважав що це можна і самим зробити. Ось і вирішили спільними силами зібрати власний контролер.
Прочитавши безліч статей в просторах інтернету про принципі смарт зарядки акумуляторів, ми вже приблизно уявляли алгоритм програми. Залишилося лише застосувати це в залозі.
Я зайнявся програмуванням, а один взяв на себе скрутити і спаяти все це. Програма була написана приблизно за день, але після численних тестів додавалися нові плюшки, коригувалися помилки. В даний момент всі прекрасно заряджається і відпрацьовують усі захисту.
Що можу сказати про алгоритм програми? Зарядка йде «плавна», тобто ШІМ. Так само є режим boost (інтенсивна зарядка). Захисту по температурі, від розрядки і перезарядки батареї. Висновок показань на дисплей і звичайно ж в COM-порт. Включення дисплея і включення/отлючение виходу навантаження в ручному і автоматичному режимі.
Як всі напевно здогадуються, що у всіх різний стиль написання програми і тому сильно не пинайте)) Якщо будуть якісь зауваження або добрі поради, то я з задоволенням вислухаю і прийму до відома надалі.
Дякую за увагу.
Власне програма yadi.sk/d/oPgcPit8eSHyX


Автор: seval
Аквасторож
Була в мене необхідність зробити Аквасторож, Залило як то весь перший поверх будинку. Спасибі автору FLProg, я запросто написав програму для аквасторожа. Працює більше року. Один раз вже спрацьовував.
Для реалізації цього проекту був куплений вентиль кульовий з мотором на 12 Вольт і двопровідними управлінням, з вбудованими кінцевими вимикачами. Так само куплений Arduino Pro mini. Інше було в наявності.
Намальована схема.
Алгоритм: при виявленні протікання, спрацьовує біт Аварія. 4 секунди (помічено досвідченим шляхом) подається напруга на вентиль.
І потім моргає діод Аварія. Якщо усунути протікання, і натиснути Скидання — біт скидається Аварія і можна відкрити вентиль кнопкою Відкрити.
Приблизно раз на тиждень я закриваю вентиль, кнопкою Закрити, і відкриваю в цілях профілактики.
Викладаю схему і програму.
Єдине що не подужав, це при спрацьовуванні біта Аварія постійно подається напруга на вентиль. Поки не скинути аварію. Але це мені не критично.
Додав схему у вигляді картинки.

Уточню що входи і виходи на схемі і в програмі можуть відрізняться. Схему малював давно, а програму постійно змінюю.


Автор: Balzamalex
Темний коридор
Так вийшло, що у мене в квартирі великий коридор. А в кінці коридору санвузол. А вночі темно. Але іноді хочеться… Не те, що б я по пам'яті не пам'ятав куди йти, але вирішив зробити красивіше.
Отже, підсвічування темного коридору:
Використана Arduino ATmega328. В якості ключів для управління використаний модуль L298N.

Сама підсвічування виконана з світлодіодним стрічки SMD 5630, наклеєної на алюмінієвий профіль. Вийшло три світлодіодні лінійки, приблизно по 1,8 метра кожна.
Коротко алгоритм роботи:
Є 2 цифрових датчика: ц1 і ц2
Є 3 аналогових виходу: в1, в2, в3
Треба: Якщо СПОЧАТКУ спрацьовує ц1, то включається в1, далі спрацьовує і ц1 і ц2 — включається в1 і в2, потім, через 2 секунди — включається в2 і в3.
Якщо СПОЧАТКУ спрацьовує ц2, то включається в3, потім коли ц2 і ц1 — включається і в2 в3, потім, через 2 секунди — працюють в2 і в1.
Коли обидва датчика перестають спрацьовувати всі виходи вимикаються.
Вимкнення діодних ламп організовано плавне. (В принципі, включення теж плавне, але мені це було не потрібно, і затримка на включення варто мінімальна)
В якості датчиків використовував датчики HC-SR501 (2 штуки)

Підсвічування встановлена внизу, вздовж вбудованого шафи, інші деталі, датчики і т. п. нагорі (приблизно на висоті 3 метра).
Ідею схеми підказав мені камрад Слимпер, за що йому величезне спасибі.
Та сама схема:






Схема вже встановлена і діє. Якщо будуть питання постараюся відповісти. За код не лайте, я анітрохи не програміст :-)
PS Сам проект: flprog.ua/images/hostingFiles/118191721.flp


Автор: В'ячеслав Михайлов
Програмований міні-маніпулятор
Іграшковий маніпулятор на китайських сервомотор. Зібраний буквально «на коліні» з непотребу і контролера Ardiuno. Програма контролера запам'ятовує до 10 кроків. У програму вставлений блок динамічного керування швидкістю сервоприводу в залежності від необхідного кута повороту.
Телепрограма.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.