0 Volts, the electricity return path for all electronic circuits.
Most sub-circuits that make up any form of electronics start from some positive voltage, pass through various components and end up connecting to 0V. Any voltage applied directly to 0 Volts is assumed to be a short circuit and should be avoided, so 5V and +V should never be connected directly to 0V. Also known as ground.
32bit refers to the fact that operations and transfers around the system can be performed 32bits at a time. This means that numbers up to 2^32 can be manipulated in a single cycle. In an 8 bit system this would take at least four times as long. ARM-based processors, like the Make Controller, are all 32bit.
5 Volts, the supply voltage for many electronic circuits. When digital electronic circuits signal a logical true - or "on" value, it is by connecting an output to 5V.
In many devices, the 5V connection and other connections (digital inputs and outputs) will connect directly to some electronics that must have values between 0V and 5V and no more. If you put a higher voltage on these connections, you will almost certainly damage the device.
Alternating Current. Electrical current that changes direction, usually when associated with domestic power, 60 times a second. This is usually the form of electricity that comes out of a wall socket. Contrast with DC power.
Something that influences a quantity in the environment to a degree controllable by an electrical signal. Actuators exist that move things, illuminate things, etc.. The general actuator circuit appears below.
Here it is assumed that there is a Device that is set up to provide the control signal to the Actuator. The device provides 5V or +V and 0V in addition to the actuator to provide power. Most actuators can be thought of in this way - as requiring power and a control signal and delivering some kind of influence to the outside world.
The unit of current. Abreviated (A). To give some idea of what this unit means, at 5V, an LED consumes about 10mA. The Make Controller Board when doing almost nothing consumes about 30mA. The smallest motor might consume 50mA at 12V when running free, but start to consume much more when loaded - perhaps 200mA or more. A halogen bulb (20W) will consume 1.6A at 12V. Larger motors can draw 10A or more.
Analog signals are provided by some kinds of sensors: light, acceleration, temperature sensors can all provide outputs that are continuous quantities, rather than being merely on and off.
ARM is an architecture from the British company ARM Holdings adopted by many microprocessor manufacturers. It is a 32bit architecture designed from the beginning to enable very low power designs. One of its most attractive attributes is that all ARM-based processors share the same basic architecture, so toolchains developed for one typically work for all.
Chemical source of electrical energy. Has a rated voltage and a capacity often rated in Amp-hours. Can be rechargable (Lithium Ion, NiCad, Lead Acid, etc.) or non-rechargable (Lithium, Alkaline)
The counting system that is like our own one ( 0, 1, 2, 3, 4, .. 10, 11, 12, ... 100, 101, 102, ...) except it only has two digits ( 0 and 1) , so counting is a little different (0, 1, 10, 11, 100, 101, 110, etc.)
A file containing the exact final form of the program that will be transfered into the microcontroller's flash memory. In the GCC toolchain, this file is converted from the ELF file by a utility called arm-elf-objcopy.
A simple device for joining parts of a circuit. Can be used to control devices, or send signals. Buttons are distinguished from switches in that their action is temporary - only while the button is being pushed. A normally open push button conducts electricity when it is being pressed, otherwise it's an open circuit. A normally closed push button is the opposite: the circuit is open when pressed, closed when released.
C is a very widely used programming language. It shares similar syntax with many other languages, including C++, Java, Javascript, ActionScript. Below are a couple of general notes that might assist with a very quick unstanding of what C looks like. There are many many resources on the web for learning C. Consulting them is advised for anything but the most cursory glance. In C variables can be defined that hold values.
int b; This says that there will now be a variable 'b' which can hold integers (...-2,-1,0,1,2...).
At the most basic level C programs are built out of simple statements which the computer will operate on one at a time.
b = 10; This statement says "let the variable b be assigned the value 10". The end of the statement is marked with a semicolon.
You can also call on functions to perform tasks for you:
Led_SetState( 1 ); This statement says "Call the function called 'Led_SetState' and pass it the value 1". This statement most likely would turn some LED on.
There are several functions built into the language. One is "if"
if ( b > 20 ) Led_SetState( 1 ); else Led_SetState( 0 ); This says that if the value assigned to b is greater-than 20, call Led_SetState( 1 ). Otherwise (else) call Led_SetState( 0 ).
In C, groups of statements are enclosed by curly braces. Statements grouped in this way are treated as a unit. Groups are used in many places including the definition of new functions:
void Led_SmartSet( int b ) { if ( b > 20 ) Led_SetState( 1 ); else Led_SetState( 0 ); }
This program fragment creates a new function (Led_SmartSet( )) that takes a value (b) and based on whether that value is greater than 20 turns the LED on or not. The "void" says that it doesn't return anything to the caller.
With this function defined, it can be called from other functions:
Led_SmartSet( 5 ); // Turns the LED off Led_SmartSet( 200 ); // Turns the LED on
The following is a function that does return a value to the caller:
int GetLedControl() { int b; b = AnalogIn_GetValue( 0 ); b = b * b; return b; }
This function calls another function (AnalogIn_GetValue()) which in this case returns a number related to the voltage on the AnalogIn input 0. GetLedControl, the function we're defining here multiplies this value by itself, then returns that number to its caller.
Another built in function permit the same thing to be done a number of times.
while ( 1 ) { int l = GetLedControl(); Led_SmartSet( l ); }
The while construct permits a set of statements to be performed repeatedly - until some condition fails. In this case it's until 1 = 0, which never happens, so this loop is forever. Or at least until the power goes off.
CAN is a low-end networking system. Originally designed for automotive applications, CAN is fast and robust in electrically noisy environments. It utilizes differential signals and tends to work best when used over twisted-pair wire. When making long cable runs between boards, a terminating resistor at each endpoint of the cable is required to maintain the integrity of the signals. When conditions are optimal, CAN signals can travel hundreds of feet.
An electronic device that can store electrical charge. Used in many places in electronics, for filtering, providing time constants, etc.
Capacitors are built in a huge variety of different ways and have several important specifications. Most important is the capacitance - measured in Farads. This is the amount of energy that can be stored by the capacitor. A very important secondary characteristic is the voltage at which it can store its energy.
A single chemical electrical source. This is often called a battery, but technically a battery is multiple cells. This is what C, D, AA and AAA cells we can get at the corner store all are. This kind of cell is rated at 1.5V. Car or motor cycle batteries are made up of a number of cells wired up in series.
A circuit is a configuration of electronic parts that allows them to actually do something. A circuit will include some kind of mechanism to provide energy to the electrons in the wires, causing them to want to flow from one side of the mechanism to the other, and some means of conveying them in a loop from one side to the other.
In the diagram above, the first circuit contains the proper elements: a source of power (a single cell) and the means to convey the power from one side of the cell to the other through the lamp, but the loop is not closed, so no current flows. In the second diagram, the wires are connected so electricity flows.
Electricity can be thought to flow from the positive side of the circuit to the negative side. Most electrical circuits are laid out with this kind of flow in mind. In actual fact, the means by which electricity is conveyed, the electron, is a negatively charged particle, so in fact electrons flow from the negative side to the positive side.
In most electronics, the circuit is a variation of the following:
Power issues from the positive terminal of a power supply and is conducted to the device that is to be powered. The electricity flows through that device, giving up its energy in the process to do useful things in the device then returns to the power supply. Care has to be taken that the power supply can provide sufficent current for the device.
A device might be simple internally - perhaps a light or a heating element, or it may be complex, containing many sub-circuits.
Power supplies can power multiple devices:
In this case both devices will receive the rated voltage of the power supply, and the total current will be the current consumed by both the first device and the second.
Devices can also be powered by multiple power supplies:
In this case, the device requires two different supplies. This might be because the device needs two different voltages (e.g. one for electronics and one for motors) or it might be that one supply is intended for delicate electronics and the other for less critical devices (like motors or lights). Note that the negative sides of the power supplies are connected together.
A graphical depiction of an electrical circuit that uses lines to represent wires, a handful of symbols to prepresent different components and plain rectangles to represent more complex devices.
Circuit Cell & Lamp
Above are two representations of the same circuit, the first in a more pictorial version, and the second as a circuit diagram. Notice that the circuit diagram is much easier to generate and only retains the essential details of the circuit. The following symbols are used in the diagram. Lines are simply wires of some kind. cell lamp
Other symbols commonly used are set out below. button switch resistor
Signal in many logic devices used to provide a timebase for orderly transistions from step to step. The speed and way the clock signal is used varies from device to device.
Some low power microcontrollers run on 32kHz clocks and four clock cycles might be needed for each instruction to execute, others might run at 1GHz and process an instruction almost every clock cycle.
Logic and communication devices frequently have a clock input. This input will signal to the device that the controlling circuit wants it to perform the next operation.
A compiler is a software tool that converts a program in textual form into a form that the microprocessor can understand. Each text file that is part of the program is converted into an object file. In the next step of the process all the object files are combined together by the linker.
The amount of electricity flowing at a point in a circuit. A tiny piece of electronics may require as little as a fraction of a milliamp of current to run (that is, a fraction of 1/1000 of an Amp), a large lamp, for example a car head light, might consume 10A.
Current can be either calculated indirectly or measured directly with an ampmeter or multimeter.
Conventional DC motors have two wires and run when a current is passed through them. They are the most common kind of electrical motor. They come in many different shapes and sizes.
Most electric motors run at many thousands of revolutions per minute (RPM). In addition, the actual output is frequently not very powerful. To be useful for most applications, this raw output of the motor needs to be geared down. This provides a slower turning shaft with much greater torque.
Semiconductor device that conducts electricity in only one direction. Exist in different varieties. Zener diodes permit conduction in the reverse direction only when the reverse voltage exceeds a certain amount. TVS diodes are like Zeners except capable of much higher currents and are used to protect circuits from major failures.
A DIP (Dual In-line Package) Switch is a tiny switch designed to be mounted onto a printed circuit board (PCB) to provide a way to configure a circuit.
Special memory that retains values without power. Slow to read, slow to write.
Unlike flash, EEPROM can be modified on a byte-by-byte basis. However, EEPROM memory cells have a limited life, they can only be altered 100,000 or sometimes 1M times before failing. While this may seem like a large amount, remember a microprocessor running at full speed can do this many writes in a second, so some care needs to be taken to avoid overworking memory locations. These considerations make EEPROM the perfect place to store IP addresses, or to save infrequently changing data, but not to store rapidly changing quanties.