Monthly Archive:March 2019


A Brief Introduction of Graphical Programming for Arduino

What is it?

Programming is the process that makes it possible to create computer software, applications and websites. Currently, computers are unable to think for themselves; they require users to give them sets of ordered instructions to know what to do. This is referred to as ‘code’. Most of the resources you use on the computer and internet are made with code. Programming is a core element of the Digital Technologies curriculum because it helps students develop essential skills such as problem-solving, logic and critical thinking.

Graphical programming, also known as visual programming or block-based programming, is the coding language prescribed in the STEAM Curriculum: Digital Technologies for primary schools. This type of language allows users to create programs by manipulating elements graphically rather than writing them in text format.

Graphical Programming

A programming language or environment where a program is represented and manipulated graphically rather than as text. A common visual metaphor represents statements and control structures as graphic blocks that can be composed to form programs, allowing programming without having to deal with textual syntax. Examples of visual programming languages include: Alice, GameMaker, Kodu, Lego Mindstorms, MIT App Inventor, Scratch (Build Your Own Blocks and Snap).

If you are a visual learner, you may wonder how visual and the auditory information are translated into a language of the computers. The graphical approach in programming will allow the computer to process the spatial representations in two or more dimensions. This graphical programming is calledas Visual Programming Language in which it defines pictures by means of textbased language. It is frequently used in engineering system designs totranslate the information of events and vibrations during the testing of automotive engines into a visual readout.

Graphical programming tools are used to employ the block diagrams, virtual instrumentsand connectors. It can also be used to monitor and control the automated process. In addition, it can analyze some mathe matical functions like use insignal processing. It will allow also the users to have access in databases ofinformation on its terrain, buildings, and demographics or use in cellularsystem design.

Comparision of textual and graphical programming

Comparision of textual and graphical programming has a good overview of those different ways to write code. With Textual Programming Language you have Low level of abstraction: programming is done at the level of implementation. Inaccurate description of the problem-domain. With Graphical Programming Language you typically work at Higher level of abstraction: programming done on a conceptual level.

There are various reasons why Visual programming is sometimes easier way to write code than traditional writing text source code, but it does not suit to all tasks. Will Visual Programming Ever Go Mainstream? That’s hard to say. Critics have mentioned various problems with the paradigm, not the least of which is that programming is hard. Sometimes programmers find the approach useful at least in learning.

What about Arduino and visual programming? There seems to be some push for that. There are several projects that try to do that.

With this graphical programming environment, most of the children and beginners can now have the chance to learn this programming. It is one way on how taughtchildren use the program Arduino and robotics easy and fast. An Arduino programis awesome when it comes to electronics of education platform.

Scratch was the first graphical programming software I came into contact with, but I think mixly is more compatible for the Arduino study.

BySite Default

3D Touch Auto Leveling Sensor Marlin Setting

Marlin settings:

Marlin settings (take Marlin V1.1.X as example) 3pin cable connects to D11, 2pin cable connects to Zmin.

(1)Set leveling pin, which can’t use the same pin as endstop. Generally, on Delta machines, we use Zmin pin for BLtouch, Zmax pin for endstop .On l3 machines, we use Zmin pin as BLtouch, Zmax pin for endstop or don’t use endstop .

setting 1

(2)Set leveling type.

setting 2


setting 3

(4)Enable BLtouch.

setting 4

(5)Set the offset value of the leveling switch probe from the nozzle in the XYZ direction .

setting 5

(6)Set leveling mode

setting 6

(7)Set leveling points number

setting 7

(8)Set homing center

setting 8

(9)Store the leveling settings

1) Remove“//”before the “#define EEPROM__SETTINGS’, start M500 to store the data.

setting 9

2) Open Marlin__main.cpp,find’case28://G28:Home all axies, one at a time gcode__G28 (false);’add this sentence:’set __bed __leveling __enabled (true);’It’s important to add this sentence, otherwise the leveling data can’t be stored.

setting 9-2

(10) Remove ‘//’before the ‘#define NUM__SERVOS 3‘

setting 10