Interfaces

Interface [inter-face]











Pressure Sensor 02-This one was not working great, but I was seeing values change.



This sensor was showing random values, not reliable.



This sensor worked GREAT but I couldn't imagine inserting rigid boards for my final application. I needed to recreate this as a soft and bendable sensor.







Outputs Week



Programming -

Highest level languages include PYTHON, PERL, RUBY...

Mid level languages include C, VB...

Lowest level languages ASSEMBLY...

Lowest Lowest level language HEX...

Lowest Lowest Lowest level BINARY...



Think of it this way. You have a diagram with lists arranged hierarchically. At the top of the list you have Binary code and everytime you go down a level, you essentially change the represenation of what it is you are trying to compute. Programming in C will be a lot more efficient for compute bound rather than programming in Python since the level of description in Python is further from Binary than a language such as C BUT high level languages are closer to human language and human readable code, hence easier to write and understand.

The fab.c file for example...

Is composed of low level routines that are compute bound, taking an array of threshold pixel values on a lattice, and computes the distance to the exterior edge, by running a horizontal sweep forward and backward.





To write in C, you use GCC, a compiler which supports every processor. The step response C file that we used in the Inputs Week of class...was used alongside a make file which contains make commands. The make file calls AVRGCC, a version of GCC which supports the AVR processors and turns the C code into HEX to be later loaded directly onto the microprocessor.



.Net is an entire microsoft programming framework,many languages are supported by the framework such as C#, which is a more modern verion of C/C++.



MONO is an open source compiler platform supporting C#, BASIC, JAVA



JAVA compiles, C compiles ...JAVA gets compiled to byte code. JAVA takes a program into executable code for a JAVA virtual machine, and JAVA runtime environment which makes it great in that you can run it everywhere.

Open JDK, JAVA Development Kit, Iced Tea

Processing is great to build applications, entire IDE. Wiring is Processing inspired, Arduino is Processing inspired.

LabView allows you to make pictures instead of words.

Simulink lets you do math programming by drawing boxes and wires.

Max has a lineage in making music. Pd is used for music installations, by drawing blocks that do things and connect to build UIs.

BASH is a shell, for typing commands in a BASH interpreter like a terminal, whole programming language built into a shell. TcL is a scripting environment to do tasks.



Perl is an interpreted language, and Ruby, Python are all for higher level programming, but not efficient for low level operations. These languages interpret by looping over variables very slowly in Python, hence not the greatest for low level efficient computing but nevertheless is a clean language that uses lists, schemes etc.

WORKFLOW EXAMPLE(fabsend):

Python program makes the graph by importing a graphic library, creating an array of variables, makes the plot, and shows it....just 4 lines of code to make a graph.

4 lines of code in python = 100000 lines of instruction

1 line of code in C = few lines of instruction

1 line of code in assembly = 1 instruction

Any one line of python turns into lots of work to interpret.