Eli5: What does it take to make an everyday object programmable? Is it inserting a CPU in it?

184 views

[ad_1]

Eli5: What does it take to make an everyday object programmable? Is it inserting a CPU in it?

In: Technology
[ad_2]

The ability to encode a series of instructions based on input and respond with outputs based on said input.

Or put another way, a machine that makes a thing do something based on another thing doing a thing

Depends on what you’re programming. You can’t program a spring to push on things. A computer has outputs which output electricity. You need something that can translate electricity into motion if you want to control things that move, typically with motors. If your motors need more power than your computer can supply directly, then you also need a power supply and amplifier.

Probably back up a little bit and don’t think about something complex like a CPU, just imagine a little mystery box that can tell other things what to do.

To program something means to have a set of instructions ready to go and to have something follow those instructions.

To really break down the input output system there’s three key parts.
1. Some kind of memory to hold the instructions you want your thing to do.
2. Some kind of system to interpret these instructions.
3. Some mechanism to carry out the instructions.

This can take on a whole lot of different forms, not necessarily involving computers or electricity really but the one you’re probably familiar with is something like a robot.

This will have a memory chip and some kind of processor that pulls instructions from the memory, before telling the rest of the system what to do like “send power to right wheel for three seconds”.

Perhaps if you had some things in mind it could help to explain if what you’re thinking is right or not?

Like, how do you make a door programmable?
Well you could attach an electronic hinge and wire that to a little computer. Then you could program the computer to send power to the hinge based on certain circumstances like “open this door at 8am and close it at 4pm”

İf it follows instructions that can be changed.
Doesn’t have to be electronic. So even an old music box with punched out card that play on a loop can be called programmable. Change the card (or program) and the song changes

TLDR: no, cpu doesn’t exclusively mean programmable

Let’s start with “stick a CPU in it.” If you took a CPU and stuck it in a marshmallow, is the marshmallow now programmable? No, because simply sticking a processor in an object does nothing.

Conversely, there are lots of objects that are programmable that don’t need a CPU. A mechanical music box is a great example of this. If you change the pinned wheel, you get a different song.

What makes a music box programmable and a marshmallow not? Well, let’s look at what’s music is: a set of instructions to Do A Specific Thing At A Specific Time. The gearing makes sure the pinned wheel moves at a fixed (ish) speed, and the pins engage the tuned teeth. Each tick of the gears, a new thing happens: either “proceed” or “proceed and hit tooth X”.

Making anything programmable requires breaking down what it does into simple steps that can be reproduced with machinery, be it mechanical like the music box, electromechanical like an old Wurlitzer or a pinball machine, or electronic.

What does it take for a toaster to be programmable? Break down what a toaster does: bread goes down, elements heat up, bread goes up. So at a minimum, you need to a) identify when to start, either by actively pushing the bread into the machine or flipping a switch to make the toaster do so; b) turn on the heating elements for a certain amount of time; c) turn off the elements when the time is up; d) get the toasted bread out of the machine. (Obviously I’m oversimplifying.)

You can program a small computer to do this, but you can also use analog signals to do the work. For example, you can have your processor count down 120 seconds, but you also could have a simple thermocouple, two pieces of different metals that expand differently under heat, turn the toaster off when it gets “too hot” by breaking an electrical connection.