Контакти

Програмування мікроконтролерів AVR на графічній мові функціональних блоків FBD

Серед різноманіття засобів програмування мікроконтролерів AVR не так давно з'явилася російська система програмування на мові функціональних блоків (Function Block Diagram) під назвою Horizont-Configurator. Configurator є складовою частиною програмного комплексу Horizont, що представляє SCADA-систему (Supervisory Control And Data Acquisition System - Система оперативного диспетчерського управління та збору даних).

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

Лінії зв'язку, якими з'єднують функціональні блоки, вказують поширення сигналу. Функціональна діаграма системи управління, побудована в Horizont-Configurator, має схожість з електричними схемами і може бути відкомпільована в файл прошивки для мікроконтролерів AVR.

Система програмування, що дозволяє будувати програму з набору стандартних логічних елементів, дуже зручна, якщо Ви хочете зробити BEAM-робота, але попередньо вирішили перевірити логіку розробленої вами схеми. Намалювати схему в програмі Horizont-Configurator набагато швидше, ніж зібрати її навіть на макетної платі. Використання Horizont-Configurator також зручно при налагодженні або перевірці різних варіантів схеми BEAM-робота на реальній платформі. Звичайно, при виконанні BEAM-схеми на мікроконтролері загубляться її аналогові властивості, але основна логіка роботи буде цілком видно. Особливо зручно використовувати Configurator при розробці багатотактних кінцевих автоматів, які є центром керуючої системи BEAM-роботів зі складною поведінкою.

Для того, щоб почати роботу з Horizont-Configurator, необхідно зайти на сторінку Downloads на офіційному сайті програми, перейти в розділ "Configurator" і завантажити інсталяційний файл setup.exe (дистрибутив програми також можна завантажити з цього сайту за посиланням). Також на сторінці Downloads знаходяться приклади проектів "Мерехтіння светодиодом" і "Затримка сигналу".

Встановивши Configurator, можна завантажити приклади проектів, подивитися на роботу програми, відкомпілювати приклади (меню "Проект" -\u003e "Конфігурація -\u003e" Створити файл конфігурацій ", потім меню" Проект "-\u003e" Конфігурація -\u003e "Зібрати проект"). Поки середовище Horizont-Configurator ще знаходиться в стадії розробки, але вже є зручний і гнучкий інструмент, за допомогою якого можна створювати найрізноманітніші прошивки для мікроконтролерів AVR.

Елементи, доступні в Horizont-Configurator:

  • Порти мікроконтролера (відразу конфигурируются як входи або виходи)
  • Логічні блоки (НЕ, І, АБО, виключає Або)
  • Логічні константи
  • Тригери (RS, SR, D, DC, RTRIG, FTRIG)
  • логічний генератор
  • Генератор імпульсів
  • Блоки для роботи з числами (арифм. Операції, Порівняння і т.д.)
  • таймери
  • Лічильники
  • індикатори
  • елементи пам'яті
В якості тестового проекту спробуємо створити прошивку для простого робота, описаного в статті.

У меню Файл виберемо "Новий проект", дамо йому назву і задамо тип мікроконтролера, наприклад, ATMega8. Натиснемо кілька разів "застосувати" в вікнах.

Після виконаних дій у нас з'явиться поле для нашого проекту, а в лівій панелі необхідні елементи. Тепер перетягнемо елементи на робоче поле. Нам знадобляться: Вхід PinD1 з розділу "Порт D", Виходи PinC1, PinC2, Pin3, PinC4 з розділу "Порт C", дві логічні константи з розділу "Логічні блоки" і Логічне НЕ з того ж розділу. Розгорнути елементи дзеркально можна в правій панелі "Властивості" з допомогою зміни властивості "Turn" на "180 град".

З'єднаємо елементи сигнальними лініями. В панелі інструментів є кнопки перемикання між режимами виділення і малювання з'єднувальних ліній. Якщо об'єкти відмовляються з'єднатися, то можна поступити наступним чином: намалюйте сполучну лінію, а потім присуньте до неї елемент (вони з'єднаються).

Задамо значення для логічних констант послідовно виділивши їх і змінивши значення "Value" в правій панелі "Властивості" на "true".

Залишилося відкомпілювати вийшла функціональну діаграму. У меню Проект виберемо "Конфігурація -\u003e" Створити файл конфігурацій ", а потім" Конфігурація -\u003e "Зібрати проект". Після виконаних дій у нас з'явиться файл з прошивкою для мікроконтролера. Перейти в папку з отриманими файлами можна вибравши "Конфігурація -\u003e" Відкрити створений проект ". Серед списку файлів можна без зусиль знайти файл" ім'я проекта.hex "- це і є файл прошивки. Завантажити файл в мікроконтролер можна, наприклад, за допомогою програми -загрузчіка PonyProg2000.

В якості ще одного тестового прикладу спробуємо зробити систему управління роботом для змагань Кегельрінг зі статті "Робот для змагань".

Нам знадобляться: Вхід PinD1 з розділу "Порт D", Виходи PinC1, PinC2, Pin3, PinC4 з розділу "Порт C", два Логічних НЕ і Тригер FTRIG з розділу "Логічні блоки", два Таймера з затримкою відключення з розділу "Таймери / Лічильники "і Лічильник мілісекунд з того ж розділу.

Лічильник мілісекунд необхідний для нормальної роботи таймерів (він використовує внутрішній Timer0 мікроконтролера). Встановимо його "Дільник" на 1 MHz в правій панелі. Тригер FTRIG відстежує падаючий фронт логічного сигналу.

При зміні стану входу "FTRIG" з 1 на 0, відбувається формування короткого імпульсу на його виході. Даний імпульс надходить на входи блоків таймер з затримкою відключення, дані блоки формують необхідні по тривалості інтервали високого рівня на своїх виходах. Сигнал з виведення першого Таймера з затримкою відключення надходить на виходи PinC1 і PinC2, керуючі першим мотором. Блок "Логічне НЕ" необхідний для реалізації інверсії мотора. Аналогічним чином працює інша ланцюг Таймера з затримкою відключення, яка управляє другим мотором. Інтервали для таймерів можна встановити змінивши властивість "T" в правій панелі властивостей. Задамо значення дорівнює 1800 мілісекунд для першого таймера і 2400 мілісекунд для другого. Таким чином, при зміні стану входу нашої схеми з 1 на 0, в той момент, коли робот наткнеться на чорну обмежувальну лінію, тригер сформує короткий імпульс, що запускає таймери. Напрямок обертання моторів інвертується і робот почне рухатися назад. Коли перший таймер перестане працювати, інший таймер ще 600 мілісекунд буде забезпечувати обертання другого мотора в зворотному напрямку і робот повернеться на невеликий кут. Коли і другий таймер закінчить свою роботу, робот знову поїде в прямому напрямку.

На завершення короткого оповідання про новому середовищі розробки, слід додати, що Horizont-Configurator має досить хорошу підтримку на youtube у вигляді цілого ряду навчальних роликів. Посилання на youtube-канал є на офіційному сайті програми.

У поточній версії (0.3.0.60) підтримуються наступні мікроконтролери AVR: ATmega128, ATmega1284, ATmega1284P, ATmega128A, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164A, ATmega164P, ATmega164PA, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega16A, ATmega16HVA, ATmega16HVA2, ATmega16HVB, ATmega16M1, ATmega32, ATmega323, ATmega324A, ATmega324P, ATmega324PA, ATmega325, ATmega3250, ATmega3250P, ATmega3250PA, ATmega325A, ATmega325P, ATmega325PA, ATmega328, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega3290PA, ATmega329A, ATmega329P, ATmega329PA, ATmega32A, ATmega32C1, ATmega32HVB, ATmega32M1, ATmega406, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega64, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega645, ATmega6450, ATmega6450A, ATmega645A, ATmega649, ATmega6490, ATmega6490A, ATmega649A, ATmega649P, ATmega64A, ATmega64C1, ATmega64HVE, ATmega64M1, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega8A, ATmega 8HVA, ATtiny13, ATtiny13A, ATtiny1634, ATtiny167, ATtiny2313, ATtiny2313A, ATtiny24, ATtiny24A, ATtiny25, ATtiny261, ATtiny261A, ATtiny4313, ATtiny43U, ATtiny44, ATtiny44A, ATtiny45, ATtiny461, ATtiny461A, ATtiny48, ATtiny84, ATtiny84A, ATtiny85, ATtiny861, ATtiny861A, ATtiny87, ATtiny88.

Horizon MB, better known as Horizon Xbox 360 Modding Tool, is a favorite modding tool for XBOX 360. With Horizon, you can boost your health, get unlimited ammunition, stockpile resources and much more. With a few quick clicks, you may unlock such achievements and even earn avatar awards for the more demanding games to beat as you use Horizon's incredible user interface system, built with casual gaming in mind. The program's frequently updated using the latest tools, making your possibilities endless, and modding becomes more straightforward than ever.

We're talking about a unique tool that will modify any file that saves to your Xbox 360's memory drive. This tool allows you to perform tasks that would usually take a long time, even allowing you to do things that are often unavailable or inaccessible. Increase your gamer's score, unlock all avatar awards or in-game items, rise to the top of all leaderboards, acquire infinite health, change avatar colors, and more; the options are endless.

This product also contains numerous other useful sub-tools of its own. It currently features 23 game-saving editors that include Super Meat Boy and even Halo: Reach. It also offers advanced tools like Avatar Award Unlocker, Achievement Unlocker, and Game Adder; this product nearly lets you do it all.

Horizon Xbox Modding Tool Features

Horizon's interface lets you quickly browse any content within your 360's internal hard drive and even an external USB hard drives formatted for use with the console. Horizon also enables you to extract or inject content into your 360 hard drives. For instance, Horizon will allow you to retrieve any 360 saved games so that you can mod each of the saves and then inject it into the console and enjoys infinite in-game money reserves.

Another top feature that it'll allow you to do on any Xbox 360 is to copy any downloaded Xbox Demos through Digiex and place them on the 360's hard drive or USB stick. Do not worry about your game's ID; instead, use the drag and drop for convenience. This feature is ideal for rookies of the 360 \u200b\u200bconsole's hacking or modding features. Regardless of your current skill level, the Horizon Xbox 360 Modding Tool is a one-stop tool for all of your 360 USB modding needs.

Account Editor

With the Horizon Xbox Account Editor, you can easily modify the account information stored within your Xbox LIVE profile.

Gamer Picture Manager

The Gamer Picture Manager allows you to quickly create customized packs and change your gamer picture as often as you'd like.

LIVE Profile Modifier

With the LIVE Profile Modifier, you can change anything about your LIVE profile, including your bio, location, reputation, and more.

Achievement Unlocker

With the Achievement Unlocker, much like the Game Adder, you can instantly unlock all achievements for any game, whether you've played it before or not.

Avatar Award Unlocker

Like the Achievement Unlocker, the Avatar Award Unlocker allows you to instantly unlock all Avatar Awards for a game, whether you've played it before or not.

Theme Creator

Using the Theme Creator, you can create your customized dashboard themes using unique images, colors, and more!

Compatible Games

Finally, Horizon is fully compatible with just about every Xbox 360 game available, meaning you'll be able to utilize every feature no matter what.

Horizon - програма, яка позиціонується розробником як потужний інструмент для установки і розробки модов для ігор на Xbox 360. Взагалі робота з модифікаціями, це далеко не найкорисніша і цікава функція, яку виконує дане додаток. Але про це далі.

можливості

В першу чергу Horizon цікава тим, що дозволяє працювати з пам'яттю ігрової консолі Xbox 360. Тобто з її допомогою можна змінювати ігрові директорії, редагувати деякі системні розділи і так далі. Для чого це потрібно? Ну найчастіше геймери використовують програму для того, що "накрутити" себе певні ресурси в якій-небудь грі, ну або, наприклад "разлочить" певний рівень. По суті, перед нами повноцінні консольні чіти, які значно спрощують проходження ігор. Природно, програма буде працювати виключно на "прошитих" приставках з Freeboot. Взагалі підключати утиліту до жорсткого диска консолі досить клопітно, тому рекомендується користуватися USB-накопичувачами, встановлюючи гри саме на них.

Програма містить готові профілі для швидкого "злому" окремих ігор. В основному профілі доступні для популярних серій на зразок Assassin "s Creed, Grand Theft Auto, Forza і так далі. Також додаток допомагає відкривати досягнення, отримуючи додаткові очки для свого профілю. Більш того, тут присутні інструменти для зміни віртуального ігрового аватара і кастомізації стандартної теми оформлення Xbox. Програма дозволяє в пару кліків відкривати віртуальні нагороди і безкоштовно отримувати дорогі скіни.

Але і навіть це ще не все корисні функції Horizon. Дуже часто для цієї програми використовують для перенесення ігрового прогресу (збережень) з однієї консолі на іншу.

інтерфейс

Програма має досить просту і зрозумілу графічну оболонку. кожна з ключових функцій тут виділена в окремий розділ, А під кожну операцію виділений спеціальний покроковий майстер. Зверніть увагу, що перед початком роботи новим користувачам необхідно створити обліковий запис на офіційному сайті розробника.

Ключові особливості

  • злом ігор, з можливістю збільшити кількість ресурсів і розблокувати рівні;
  • наявність інструменту для кастомізації ігрового аватара і теми оформлення;
  • розблокування досягнень і нагород;
  • установка модифікацій;
  • перенесення збережень з однієї приставки на іншу;
  • робота з HDD і USB-накопичувачами.


Сподобалася стаття? поділіться їй