tunavatansever.com_Human Machine Interface Design
tunavatansever.com_Human Machine Interface Design


This paper Human Machine Interface is the seventh article about Micro Robot Control in laminar flow thesis. Here is the first one(https://tunavatansever.com/2021/05/09/micro-robot-control/). Firstly, this time we are considering interaction between machine and humans. We are trying do users friendly designs. Have a nice readings…

Human Machine Interface

There are too many variables in our system that are controlled from the outside. In order to provide our users with an easier and understandable system as you see in (figure 4.1), we have written the interface of the system in Visual studio (C #). With this interface, the user can see the position of the micro robot from the microscope. In addition, the laser sensor can also receive the location coordinates clearly. When you want to control the system, you can drive the motors connected to PI Stage from the interface. You can easily export the desired position data via the interface. You can also easily save the images and data you receive in a location you specify on the computer. Below are the codes used in the interface.



using System;
eusing System.Collections.Generic; ausing System.Linq;
using System.Text;

eusing System.Threading.Tasks; using System.Windows.Forms; namespace MicroRobotControl {

class Stage {
private int _id;
eprivate String _idn;
aprivate String[] _availableAxes;
private double[] _currentPos = new double[3]; private double[] _currentTarget = new double[3]; private double[] _axisSteps = new double[3];
public const double MOVE_UPPER_LIMIT = 20.0; epublic const double MOVE_LOWER_LIMIT = 0.0; public const double STEP_DELTA = 0.01;
public const double STEP_MIN = 0.0;
epublic const double STEP_MAX = 100.0;
public const double STEP_INITIAL = 0.1;
private bool isConnected = false;
public Stage() {

for (int i = 0; i < _axisSteps.Length; i++) { _axisSteps[i] = STEP_INITIAL;

} }

public bool Connect() {
_id = GCS2.InterfaceSetupDlg(“”); if (ID > -1) {


return true; }

return false;


private void Complete Connection() {


using System;
using System.Collections.Generic; using System.Linq;
using System.Threading.Tasks; using System.Windows.Forms;

Previous Article :

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *