# Barcode reader

A barcode reader or barcode scanner is an optical scanner that can read printed barcodes and send the data they contain to computer. Like a flatbed scanner, it consists of a light source, a lens, and a light sensor for translating optical impulses into electrical signals. Additionally, nearly all barcode readers contain decoder circuitry that can analyse the barcode's image data provided by the sensor and send the barcode's content to the scanner's output port.

## Types of barcode scanners
### Technology

Barcode readers can be differentiated by technologies as follows:

#### Pen-type readers

Pen-type readers consist of a light source and photodiode that are placed next to each other at the tip of a pen. To read a barcode, the person holding the pen must move the tip of it across the bars at a relatively uniform speed. The photodiode measures the intensity of the light reflected back from the light source as the tip crosses each bar and space in the printed code. The photodiode generates a waveform that is used to measure the widths of the bars and spaces in the barcode. Dark bars in the barcode absorb light and white spaces reflect light so that the voltage waveform generated by the photodiode is a representation of the bar and space pattern in the barcode. This waveform is decoded by the scanner in a manner similar to the way Morse code dots and dashes are decoded.

#### Laser scanners

Laser barcode scanners utilize a semiconductor laser diode to produce a laser beam. This beam is directed by a deflection mirror onto a polygon mirror wheel. The design may include a focusing device, enabling the scanner to adjust the beam to scan at various distances.
The scanner deflects the laser beam using a rotating mirror wheel. This wheel deflects the beam line by line over the barcode at frequencies between 200 Hz and 1200 Hz in most scanners. The deflected beam exits the scanner spread at an opening angle, which is dependent on scanner design. The deflection allows it to traverse the barcode in a reading plane, effectively turning it into a "reading beam." To accommodate stationary items, laser scanners incorporate oscillating mirrors that provide additional deflection perpendicular to the main scanning line. These mirrors function at frequencies that can vary from 0.1 Hz to about 5 Hz, ensuring that barcodes can be read at different orientations.
Photodetector receives light through the optical system consisting of the mirror wheel and an optical filter. The reflected light, rapidly varying in brightness with a data pattern, is then converted into an electrical signal and is subsequently amplified to a usable level for digital processing.

#### CCD readers (also known as LED scanners)

Charge-coupled device (CCD) readers use an array of hundreds of tiny light sensors lined up in a row in the head of the reader. Each sensor measures the intensity of the light immediately in front of it. Each individual light sensor in the CCD reader is extremely small, and because there are hundreds of sensors lined up in a row, a voltage pattern identical to the pattern in a barcode is generated in the reader by sequentially measuring the voltages across each sensor in the row. The important difference between a CCD reader and a pen or laser scanner is that the CCD reader is measuring emitted ambient light from the barcode, whereas pen or laser scanners are measuring reflected light of a specific frequency originating from the scanner itself. LED scanners can also be made using CMOS sensors, and are replacing earlier Laser-based readers.

#### Camera-based readers

Two-dimensional imaging scanners are a newer type of barcode reader. They use a camera and image processing techniques to decode the barcode.
Video camera readers use small video cameras with the same CCD technology as in a CCD barcode reader except that instead of having a single row of sensors, a video camera has hundreds of rows of sensors arranged in a two dimensional array so that they can generate an image.
Large field-of-view readers use high resolution industrial cameras to capture multiple bar codes simultaneously. All the bar codes appearing in the photo are decoded instantly (ImageID patents and code creation tools) or by use of plugins (e.g. the Barcodepedia used a flash application and some web cam for querying a database), have been realized options for resolving the given tasks.

#### Omnidirectional barcode scanners

Omnidirectional scanning uses "series of straight or curved scanning lines of varying directions in the form of a starburst, a Lissajous curve, or other multiangle arrangement are projected at the symbol and one or more of them will be able to cross all of the symbol's bars and spaces, no matter what the orientation. Almost all of them use a laser. Unlike the simpler single-line laser scanners, they produce a pattern of beams in varying orientations allowing them to read barcodes presented to it at different angles. Most of them use a single rotating polygonal mirror and an arrangement of several fixed mirrors to generate their complex scan patterns.
Omnidirectional scanners are most familiar through the horizontal scanners in supermarkets, where packages are slid over a glass or sapphire window. There are a range of different omnidirectional units available which can be used for differing scanning applications, ranging from retail type applications with the barcodes read only a few centimetres away from the scanner to industrial conveyor scanning where the unit can be a couple of metres away or more from the code. Omnidirectional scanners are also better at reading poorly printed, wrinkled, or even torn barcodes.

#### Cell phone cameras

While cell phone cameras without auto-focus are not ideal for reading some common barcode formats, there are 2D barcodes which are optimized for cell phones, as well as QR Codes (Quick Response) codes and Data Matrix codes which can be read quickly and accurately with or without auto-focus.
Cell phone cameras open up a number of applications for consumers. For example:
* Movies: DVD/VHS movie catalogs.
* Music: CD catalogs – playing an MP3 when scanned.
* Book catalogs and device.
* Groceries, nutrition information, making shopping lists when the last of an item is used, etc.
* Personal Property inventory (for insurance and other purposes) code scanned into personal finance software when entering. Later, scanned receipt images can then be automatically associated with the appropriate entries. Later, the barcodes can be used to rapidly weed out paper copies not required to be retained for tax or asset inventory purposes.
* If retailers put barcodes on receipts that allowed downloading an electronic copy or encoded the entire receipt in a 2D barcode, consumers could easily import data into personal finance, property inventory, and grocery management software. Receipts scanned on a scanner could be automatically identified and associated with the appropriate entries in finance and property inventory software.
* Consumer tracking from the retailer perspective (for example, loyalty card programs that track consumers purchases at the point of sale by having them scan a QR code).
A number of enterprise applications using cell phones are appearing:
* Access control (for example, ticket validation at venues), inventory reporting (for example, tracking deliveries), asset tracking (for example, anti-counterfeiting).
* Recent versions of the Android, iOS, and Windows Phone mobile phone operating systems feature QR or barcode scanners built in, usually accessible from their respective camera application.

### Housing

Barcode readers can be distinguished based on housing design as follows:

#### Handheld scanner

    with a handle and typically a trigger button for switching on the light like this are used in factory and farm automation for quality management and shipping.

#### PDA scanner (or Auto-ID PDA)

    a PDA with a built-in barcode reader or attached barcode scanner.

#### Automatic reader

    a back office equipment to read barcoded documents at high speed (50,000/hour).

#### Cordless scanner (or Wireless scanner)

    a cordless barcode scanner is operated by a battery fit inside it and is not connected to the electricity mains and transfer data to the connected device like PC.

### Barcode library

Currently any camera equipped device or device which has document scanner can be used as Barcode reader with special software libraries, Barcode libraries. This allows them to add barcode features to desktop, web, mobile or embedded applications. In this way, combination of barcode technology and barcode library allows to implement with low cost any automatic document processing OMR, package tracking application or even augmented reality application.

## Methods of connection
### Serial interfaces

Early barcode scanners, of all formats, almost universally used the then-common RS-232 serial interface. This was an electrically simple means of connection and the software to access it is also relatively simple, although needing to be written for specific computers and their serial ports.
As the PC with its various standard interfaces evolved, barcode readers began to use keyboard serial interfaces. The early "keyboard wedge" hardware plugged in between the PS/2 port and the keyboard, with characters from the barcode scanner appearing exactly as if they had been typed at the keyboard. Today the term is used more broadly for any device which can be plugged in and contribute to the stream of data coming "from the keyboard". Keyboard wedges plugging in via the USB interface are readily available. In many cases, a choice of USB interface types (HID, CDC) are provided.

### Proprietary interfaces

There are a few other less common interfaces. These were used in large EPOS systems with dedicated hardware, rather than attaching to existing commodity computers. In some of these interfaces, the scanning device returned analog signal proportional to the intensities seen while scanning the barcode. This was then decoded by the host device. In some cases the scanning device would convert the symbology of the barcode to one that could be recognized by the host device, such as Code 39.

### Wireless networking

Some modern handheld barcode readers can be operated in wireless networks according to IEEE 802.11g (WLAN) or IEEE 802.15.1 (Bluetooth). Some barcode readers also support radio frequencies viz. 433 MHz or 910 MHz. Readers without external power sources require their batteries be recharged occasionally, which may make them unsuitable for some uses.

## Resolution

The scanner resolution is measured by the size of the dot of light emitted by the reader. If this dot of light is wider than any bar or space in the bar code, then it will overlap two elements (two spaces or two bars) and it may produce wrong output. On the other hand, if a too small dot of light is used, then it can misinterpret any spot on the bar code making the final output wrong.
The most commonly used dimension is 13 mil (0.013 in or 0.33 mm), although some scanners can read codes with dimensions as small as 3 mil (0.003 in or 0.075 mm). Smaller bar codes must be printed at high resolution to be read accurately.