FLProg - continued evolution



    For a long time there were no news on the Habr about the FLProg project. Unfortunately, employment at my main job and household chores did not leave me time to write posts. But the project has not died, but continues to develop. What has happened since the last post ?

    Three new versions of the program have been released. In version 1.8, it became possible to create user blocks. Blocks can be created in any of two languages, and used in any FLProg project. They are not tied to a specific controller. User blocks can be combined into libraries, saved as a file to disk, either as a separate block or as a whole library of blocks. It is possible to exchange blocks, load foreign blocks into your library. You can see more details about working with user blocks in video tutorials.

    Working with custom blocks in FLProg
    Video lesson "Working with custom blocks and creating a block in FBD":



    Video lesson "Working with custom blocks and creating a block in LAD":



    Since in version 1.8. Since the core of the program was greatly changed, in the first time after the start of its operation a rather large number of critical errors were detected. This necessitated the release of version 1.8.1 with their fixes.
    Yesterday version 1.9 was released, the main purpose of which was to organize work with Bluetooth. To solve this problem, it was necessary to significantly expand the functionality of the program. Six new blocks for working with strings are added, two new data types previously absent in the project (Char and Byte) are added. Also work with arrays and SoftwareSerial is implemented. About the new blocks in the program and work with them can be found in the video tutorial.

    What's New in FLProg -1.9. Work with arrays, strings, com-port, bluetooth.


    In addition, I found on the Internet an interesting RemoteXY project .



    The main idea of ​​the project is to enable you to create your own control interfaces for Arduino boards in a visual online editor. The description of the interface is in the controller firmware, which allows one Android program to work with any interface created in the editor.



    I contacted the authors of the project, and we agreed on cooperation. Support for the FLProg program was added to the project website, and I made a specialized unit for working with the RemoteXY program. The result of this collaboration can be seen in the video.

    Working with RemoteXY in the FLProg Project


    Well, the most expected update by users in the project. Starting from version 1.9 in the project, you can change the controller at any time, and copy between different projects written in one language. The implementation of this seemingly uncomplicated at first glance functionality turned out to be very complicated, which caused a delay in the release of the new version.

    And finally, as usual, an overview of new user projects on the FLprog website. Saved text of authors of publications.


    Posted by: Amateurs

    Solar charge controller


    Good day, colleagues!
    The purpose of creating this project is an example of the fact that the program of the respected Sergey Glushenko is actively used and quite serious projects can be collected on it. Almost at the very beginning, I wrote a simple timer on FLProg and published it here, when the program did not even have half of what we have now. Next, I wanted to create something more and accordingly useful and applicable)). But for quite some time I didn’t have enough imagination for something interesting.
    But then came the day when inspiration came over me! The culprit was my work colleague and close friend. He acquired a solar battery and a pair of batteries, but he refused the factory charge controller, since he considered that it was possible to do this himself. So we decided to jointly assemble our own controller.
    After reading many articles on the Internet about the principle of smart battery charging, we already roughly presented the algorithm of the program. It remains only to apply this in the gland.
    I took up programming, and a friend took it upon himself to twist and solder all this. The program was written in about a day, but after numerous tests, new buns were added, errors were corrected. At the moment, everything is charging perfectly and fulfilling all the protection.
    What can I say about the program algorithm? Charging is "smooth", that is, PWM. There is also a boost mode (intensive charging). Protection by temperature, from discharging and overcharging the battery. Conclusion of indications on the display and of course in the COM port. Turning on the display and turning on / off the load output in manual and automatic mode.
    As everyone probably guesses that everyone has a different style of writing the program, and therefore do not kick much)) If you have any comments or good advice, I will listen with pleasure and take note in the future.
    Thanks for attention.

    Actually the program yadi.sk/d/oPgcPit8eSHyX



    Posted by: seval

    Aquastorozh


    I had a need to make Aquastorozh, It flooded like the whole first floor in the house. Thanks to the author of FLProg, I easily wrote a program for an aqua watchman. It has been working for more than a year. Once already worked.
    To implement this project, a ball valve with a 12-volt motor and two-wire control, with built-in limit switches, was purchased . Also bought Arduino Pro mini. The rest was in stock.
    Drawn diagram.
    Algorithm: when a leak is detected, the Alarm bit is triggered. 4 seconds (seen experimentally) voltage is applied to the valve.
    And then the Alarm diode blinks. If you eliminate the leak and press Reset, the Alarm bit is reset and you can open the valve with the Open button.
    About once a week I close the valve, using the Close button, and open it for prevention.
    I spread the scheme and the program .
    The only thing that I did not master is that when the Alarm bit is triggered, voltage is constantly applied to the valve. Do not reset the accident yet. But this is not critical for me.
    Added a scheme in the form of a picture.



    I will clarify that the inputs and outputs on the circuit and in the program may differ. I drew a diagram for a long time, and the program is constantly changing.


    Posted by: Balzamalex

    Dark corridor


    It so happened that I have a large corridor in my apartment. And at the end of the corridor is a bathroom. And it’s dark at night. But sometimes I want to ... Not that I wouldn’t remember where to go from memory, but decided to make it more beautiful.
    So, the lighting of the dark corridor:
    Used Arduino ATmega328. As keys for control, the L298N module is used.



    The backlight itself is made of SMD 5630 LED strip glued to an aluminum profile. It turned out three LED lines, about 1.8 meters each.
    Briefly, the operation algorithm:
    There are 2 digital sensors: q1 and q2
    There are 3 analog outputs:
    b1, b2, b3 It is necessary: ​​If FIRST is triggered by q1, then it turns on to1, then it also works on q1 and q2 - it turns on in1 and B2, then, after 2 seconds - turns on B2 and B3.
    If, first, q2 is triggered, then turns on v3, then when q2 and t1 turn on v3 and b2, then, after 2 seconds, b2 and b1 work.
    When both sensors stop working, all outputs turn off.
    Turning off the diode lamps is organized smoothly. (In principle, switching on is also smooth, but I didn’t need it, and the switching-on delay is minimal) I
    used HC-SR501 sensors (2 pieces) as sensors: The



    backlight is installed at the bottom, along the built-in cabinet, other parts, sensors, etc. P. upstairs (about 3 meters high).
    Comrade Slimper suggested the idea of ​​the circuit to me, for which many thanks to him.
    And the circuit itself:







    The circuit is already installed and operational. If you have questions, I will try to answer. Do not scold the code, I'm not a programmer at all.
    PS The project itself: flprog.ru/images/hostingFiles/118191721.flp


    Author: Vyacheslav Mikhailov

    Programmable mini paddle


    Toy manipulator on Chinese servomotors. Assembled literally "on the knee" from the trash and the Ardiuno controller. The controller program remembers up to 10 steps. A dynamic control unit for servo speed has been inserted into the program depending on the required angle of rotation.

    Program .


    Also popular now: