Fubar Labs

NEW JERSEY'S FIRST HACKERSPACE - 100 Jersey Ave, New Brunswick, NJ

Resources for PC Graphical User Interface class

Sometimes it would be handy to create a control panel in software, that runs on a Windows PC. The main advantage is being able to control an embedded microcontroller, using commands from a PC that could be a distance away. The embedded microcontroller can still run autonomously, but in the case that new operations need to be commanded, a Windows PC runing a graphical user interface (GUI) can re-direct the local operation of the microcontroller. Having a program running on a PC also allows for a wide variety of data storage options.

The other way to do Graphical User Interface is through a Web Page. The Ethernet Shield and Web Server code on Arduino can be used to create this service. The web user accesses various parameters over hyperlinks to live data on the Arduino Web Server. An example will be presented.

Programming on the Windows PC using Visual Studio

Free Visual Studio "Community Edition" download link.
Power Point Presentation on GUI
Visual Studio code for C# GUI - in a Browser
Visual Studio code for C# GUI - Download Code
Arduino code for house control - Browser
Arduino code for house control - Download
Ardulink Arduino control
Arduino Firmata control

Programming on the Apple macOS

A native graphical user interface program on the Apple Laptop or Desktop is beyond the scope of discussion for this class, but would make an interesting class in the future. Some programming environments on the Apple also are supported on MS Windows as well, like Swift and Netbeans Java. General Programming environments on the Mac include:

Apple XCode IDE.
C++ programming on Apple .
Apple Swift programming language.
Netbeans Java programming language for macOS and MS Windows.
Objective-C programming language for macOS.
Objective-C vs Swift comparison, for macOS.

Industrial controls in the commercial world

Automation Direct - a very popular distributor of Industrial controls
National Instruments - LabView automation software for many devices
Opto22 - budget/reasonably priced I/O devices
Opto22 - Drivers in LabView
Digi International - communication modules for Industrial control
"Matlab" with USB and Ethernet drivers
Wonderware Industrial strength GUI software on a PC
FTDI USB chips - Controlling your project directly from a PC
Modbus protocol
Modbus Organization
DIN Rail Modules
Phoenix Contact - DIN Rail Modules
Phoenix Contact - DIN Rail Modules