Writing in March 2024...
Home now in
Cornwall,
which is significantly industrial due to mining heritage.
Rising commodity prices with needs for electrical / electronic
equipment in the push for renewable energies is driving return of
industries, notably:
General idea - my science and engineering "what to do" is good; go for
embedded devices as "how to do it". Span both the "what" and the
"how".
[This got me my
Doctorate
by spanning both what it would be useful to know and what would be
possible to do and seeing where these coincide]
Thanks to the
"Tech Jams"
of
Software Cornwall.
There is something good going on in Cornwall. Local emerging
industries need a supply of local people knowing their
industry and embedded devices. Software Cornwall is there
meeting that need.
My thought of both "what" and "how" is "obvious" - and the means to
act on it is this local community.
Jumping ahead: usually the embedded device is programmed and debugged until ready to operate independently via cable connection to a programming interface running on a "laptop" or console.
There are complex issues with some things mentioned in passing which I
blithely disregard. Avoiding getting bogged-down in detail and
keeping the story going.
An example is
compiled
vs
interpreted
languages. A web-search on "interpreted computer language" will find
many ways of explaining interpreted vs compiled computer
programming languages.
This first encounter was with the "educational" micro:bit device (microbit educational foundation).
The "take-away" was how accessible these embedded devices are.
The "micro:bit" as a training device has features which misfit to it
being a concealed encased embedded device. It's meant to be on the
table beside the person and the console. eg it has an array of
LED's for the person to see and push-buttons on the device for the
person to press/actuate - which would serve no purpose in a concealed
embedded device.
That said: the power of the device to control processes in ways which
were impossible before microprocessor electronics is blatantly
obvious.
The simple economical console comes with a library of tutorial examples I worked through; which will be familiar to all others for whom a "micro:bit" has been the first encounter with embedded devices.
The "micro:bit" is normally programmed in a variant of
Python
(the Python organisation) - an
interpreted
language considered well-structured and good for training.
I have used "Python" a small amount previously.
Hence I had that "head-start".
From each tutorial I was able to extend the functionality in various ways, testing my ability to extend what the device did.
Discussing my goals with the volunteers running the event, they
mentioned the "Arduino" device - which set me on the quest which lead
to the 09Mar2024 event.
Following-up that lead on-line brought the characterisation that the
"Arduino" is rated as powerful in handling
analog (analogue)
input signals - exactly what is needed for controlling industrial
processes. Hence seemed the goal had been brought into view.
This was mentioned / recommended in a "online" forum.
Although I obtained one - it is economically priced - it was overtaken
by events.
I obtained thermocouples and a "thermocouple amplifier" with it - listed as working with "Raspberry Pi" devices and Arduino devices. Which served a greater purpose.
The next "Tech Jam", and turning up there yes they did have an Arduino (the Arduino foundation) available.
The Arduino is normally programmed at the console with the
compiled
language
"C".
I had a "head-start" with this too - I used "C" over two decades ago,
in the later 1990's. So the tutorial examples available with the
programming interface on the "laptop" were to me "familiar" in that I
could read them readily and see what they are doing.
Hence the "harder-to-program" Arduino responded quickly.
After the usual "make the on-board (small; diagnosis-only) LED flash", I programmed it to flash morse-code - then progressed to interfacing with external devices.
Making the thermocouple I brought work and measure temperature needed soldering to make electrical connections - not available in the "classroom" environment.
So regrouped on the achievable objective of using a potentiometer as a continuously variable voltage analog input signal and doing some code around that, giving digital output signals as different coloured LED's lighting. Indicating input voltage ranges - "low", "medium" and "high".
This is seen in my video - link to
my "YouTube"
presence - see "Shorts" => "My first with Arduino - analog input,
digital output"
("direct" link
to video on 13 March 2024 - given "YouTube" changes URL's
occasionally)
The "analog input device" seen is a slide-potentiometer, going between
zero volts and the full applied voltage to the potentiometer of 5V.
The digital output indicated by the LED's - potentiometer voltage applied to the input pin as a percentage of "full" maximum volts:
The code driving the Arduino is seen here - done in 20 minutes so a bit "unpolished".
This is "trivial" - yet has the fundamentally crucial step of linking an analog input to a digital output.
Analog input to digital output is the principle of "reading" physical devices like thermocouples, load-cells, flowmeters (rate of fluid flow), pH (acidity) meters, etc
So this session was very satisfying.
(R. Smith, 12Mar2024 to 13Mar2024)