Contacts

Programming AVR microcontrollers on the graphical language of FBD functional blocks

Among the variety of programming facilities aVR microcontrollers not so long ago russian system Function Block Diagram (Function Block Diagram) called Horizont-Configurator. Configurator is part of The Horizont software package representing the SCADA system (Supervisory Control and Data Acquisition System is an operational dispatch management and data collection system).

The FBD language is very simple in the development and convenient for both circuitry, non-special training in the field of programming, and for beginners to master the world of electronics, automation and robotics. The entire programming process in the FBD system consists in connecting the link lines of finished elementary blocks. Almost every functional block in the Horizont-Configurator has graphic imageadopted when developing functional schemes electronic devices. Blocks are presented in the form of rectangles, within which there is a function designation, and are operations on input variables.

Communication lines connected to function blocks indicate the spread of the signal. The functional diagram of the control system built in the Horizont-Configurator has similarities with electrical circuits and can be compiled into the firmware firmware for the AVR microcontroller.

A programming system that allows you to build a program from a set of standard logical elements, it is very convenient if you want to make a beam robot, but previously decided to check the logic of the scheme you developed. Draw a scheme in the Horizont-Configurator program much faster than collecting it even on a dumping board. The use of Horizont-Configurator is also convenient when debugging or checking various options for the BEAM Robot scheme on a real platform. Of course, when the BEAM schema is performed on the microcontroller, its analog properties will be lost, but the main logic of the work will be quite visible. It is especially convenient to use Configurator in the development of multiple finite automata, which are the center of the BEAM Robot Management System with complex behavior.

In order to start working with the Horizont-Configurator, you must go to the downloads page on the official website of the program, go to the "Configurator" section and download the setup.exe installation file (Prograf distribution can also be downloaded from this site by reference). Also on the downloads page are examples of the projects "flashing LED" and "Signal Delay".

By installing the configurator, you can download project examples, to look at the operation of the program, compile the examples ("Project" menu -\u003e "Configuration -\u003e" Create configuration file ", then the" Project "menu -\u003e" Configuration -\u003e "Collect Project"). Until the Horizont-Configurator environment is still under development, but is already a convenient and flexible tool, with which you can create a wide variety of firmware for AVR microcontrollers.

Elements available in Horizont-Configurator:

  • Microcontroller ports (immediately configured as inputs or outputs)
  • Logic blocks (not, and, or excluding or)
  • Logical constants
  • Triggers (RS, SR, D, DC, RTRIG, FTRIG)
  • Logical generator
  • Impulse generator
  • Blocks for working with numbers (arithm. Operations, comparison, etc.)
  • Timers
  • Counters
  • Indicators
  • Memory elements
As a test project, let's try to create a firmware for a simple robot described in the article.

In the File menu, select a "new project", we will give it the name and set the type of microcontroller, for example, ATMEGA8. Press the "Apply" in the windows appearing several times.

After the actions done, we will have a field for our project, and in the left pane the necessary items. Now drag items to the working field. We will need: Pind1 input from the port D section, Pinc1, Pinc2, Pin3, Pinc4 outputs from the "Port C" section, two logical constants from the "Logical Blocks" section and the logical not from the same section. Expand the elements can be mirrored in the right panel of the "Properties" by changing the "Turn" properties on "180 degrees".

Connect the elements of the alarm lines. The toolbar has the switching buttons between the selection and drawing modes of the connecting lines. If objects refuse to connect, then you can go as follows: Draw the connecting line, and then move the element to it (they connect).

Set the values \u200b\u200bfor logical constants sequentially highlighting them and changing the value "value" in the right panel of the "True" properties.

It remains to compile the resulting functional diagram. In the Project menu, select "Configuration -\u003e" Create configuration file ", and then" Configuration -\u003e "Collect Project". After the actions have done, we will have a file with a firmware for a microcontroller. You can send to the folder with the resulting files by selecting "Configuration -\u003e" Open the Created Project ". Among the file list, you can easily find the file" Project Name "- this is the firmware file. Download the file to the microcontroller can be, for example, using the program -Work loader PonyProg2000.

As another test example, we will try to make a robot management system for tegelring competitions from the "Robot for Competition" article.

We will need: Pind1 input from the "Port D" section, PINC1, PINC2, PIN3, PINC4 outputs from the "C" port section, two logical not and FTRIG trigger from the "Logical Blocks" section, two timers with a disconnect delay from the "Timers / Timers / Counters "and Milisecond meter from the same section.

Milisecan counter is required for the normal operation of the timers (it uses the internal Timer0 microcontroller). We install it "divider" on 1 MHz in the right pane. FTRIG trigger tracks the incident front of the logical signal.

When changing the state of the input "ftrig" from 1 to 0, a short pulse is forming at its output. This pulse enters the inputs of the timer blocks with a shutdown delay, these blocks form the duration of the intervals high level At their outputs. The signal from the output of the first timer with a shutdown delay enters the outputs of PINC1 and PINC2, controlling the first motor. The block "logical is not necessary to implement the inversion of the motor. Similarly, the other timer chain with a disconnection delay, which manages the second motor. The timer intervals can be installed changing the "T" property in the right properties panel. Let us set the value of 1800 milicecunds for the first timer and 2400 milicene for the second. Thus, when changing the state of entering our scheme from 1 to 0, at the moment when the robot stumble on the black restrictive line, the trigger will form a short pulse that starts timers. The direction of rotation of motors is inverted and the robot will start moving back. When the first timer ceases to work, another timer is another 600 milicecund, will ensure the rotation of the second motor in the opposite direction and the robot will turn to a small angle. When the second timer finishes its work, the robot will go back in the forward direction.

At the end of a brief story about a new development environment, it should be added that the Horizont-Configurator has enough good support On YouTube in the form of a number of training rollers. The link to YouTube-channel is on the official website of the program.

The following AVR microcontrollers are supported in the current version (0.3.0.60): 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 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 be unlock such as 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 A UNIQUE TOOL THAT WILL MODIFY ANY FILE THAT SAVES TO YUR XBOX 360'S MEMORY DRIVE. This Tasks That Would Usally 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 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. DON'T 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 Profile on 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 Asiss 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.

Achevement 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 a game, Whether You've Played IT Before or Not.

Theme Creator

Using 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 is a program that is positioned by the developer as a powerful tool for installing and developing mods for games on Xbox 360. In general, work with modifications, this is not the most useful and interesting feature that performs this application. But about this below.

Capabilities

First of all, Horizon is interesting because it allows you to work with the memory of the Xbox 360 game console. That is, you can change the game directories with its help, edit some system sections etc. What is it for? Well, most often, gamers use the program to "wind" certain resources in some game, well, or, for example, "unlock" a certain level. In essence, we have full console cheats that greatly simplify the passage of games. Naturally, the program will work exclusively on "stitched" consoles with FreeBoot. In general, connect the utility to the hard disk of the console is quite vigorously, therefore it is recommended to use USB drives by setting games on them.

The program contains ready-made profiles for quick "hacking" of individual games. Mostly profiles available for popular series like Assassin "S Creed, Grand Theft AUTO., Forza and so on. Also, the application helps to open achievements, getting additional points for your profile. Moreover, there are tools for changing the virtual gaming avatar and customization of the standard display theme xbox. The program allows you to open virtual awards in a couple of clicks and get expensive skins free.

But even that's not all useful functions Horizon. Very often, this application is used to transfer gaming progress (saved) from one console to another.

Interface

The program has a fairly simple and understandable graphic shell. Each is key functions Here is highlighted in separate sectionAnd for each operation allocated a special step-by-step master. Please note that before starting work, new users need to create account On the official website of the developer.

Key features

  • hacking games, with the ability to increase the number of resources and unlock levels;
  • the presence of a tool for customization of the game avatar and theme of registration;
  • unlocking achievements and awards;
  • installation of modifications;
  • transfer of saving from one console to another;
  • work with HDD and USB drives.


Did you like the article? Share it