Barcode Reading Using Roborealm (Output on Arduino LCD)
by Daphne00Z in Circuits > Arduino
14348 Views, 17 Favorites, 0 Comments
Barcode Reading Using Roborealm (Output on Arduino LCD)
This Instructable shows how to create a Barcode Reader using only a webcam together with Roborealm and Arduino. The webcam used in this demonstration is the Logitech Quickcam and the LCD screen is labelled, JHD162A.
What you need for this project:
1. Arduino UNO
2. LCD
3. Roborealm
4. Potentiometer
What you need for this project:
1. Arduino UNO
2. LCD
3. Roborealm
4. Potentiometer
Coding the Arduino
First of all, start by coding the Arduino to successfully output words on the LCD. The example of how to interface LCD with Arduino is shown in http://arduino.cc/en/Tutorial/LiquidCrystal . My modified code is attached below. The program basically initializes the LCD and just wait for any input from the serial port. It displays the current received data only resets the buffer when a new set of data is received. The BUFFSIZE is set to 16 because the LCD can only display up to 16 characters per row.
Downloads
The Robofile
For this project, I downloaded the 1 month trial version of Roborealm from their website (http://www.roborealm.com ). To connect the Arduino, you have to use the Serial function on Roborealm.
Robofile
__________________________________________________________
<head><version>2.42.6</version></head>
<Barcode>
<check_ean_8>TRUE</check_ean_8>
<check_codabar>FALSE</check_codabar>
<check_maxicode>TRUE</check_maxicode>
<require_crc>FALSE</require_crc>
<check_code_39>TRUE</check_code_39>
<check_orientation>TRUE</check_orientation>
<check_upc_e>TRUE</check_upc_e>
<check_i2of5>FALSE</check_i2of5>
<check_upc_a>TRUE</check_upc_a>
<check_code_128>TRUE</check_code_128>
<check_ean_13>TRUE</check_ean_13>
</Barcode>
<If_Statement>
<comparison_1>16</comparison_1>
<variable_1>BARCODE</variable_1>
<comparison_4>-1</comparison_4>
<comparison_type_4>-1</comparison_type_4>
<join_2>-1</join_2>
<value_2>1</value_2>
<comparison_type_3>-1</comparison_type_3>
<variable_2>a</variable_2>
<comparison_3>-1</comparison_3>
<join_3>-1</join_3>
<comparison_type_2>3</comparison_type_2>
<comparison_2>1</comparison_2>
<has_else>FALSE</has_else>
</If_Statement>
<Serial>
<flow_control_out_x>FALSE</flow_control_out_x>
<enable_send_sequence>TRUE</enable_send_sequence>
<port>COM11 - Standard Serial over Bluetooth link</port>
<data_bits>7</data_bits>
<baud>6</baud>
<flow_control_in_x>FALSE</flow_control_in_x>
<flow_control_dsr>FALSE</flow_control_dsr>
<flow_control_cts>FALSE</flow_control_cts>
<send>[BARCODE]</send>
<send_only_on_change>FALSE</send_only_on_change>
<remember_as_default>TRUE</remember_as_default>
</Serial>
<Beep>
<sequence>500,200</sequence>
<use_piezo>FALSE</use_piezo>
</Beep>
<Speak>
<say_text>SCANNING COMPLETED</say_text>
<current_voice>Microsoft Anna - English (United States)</current_voice>
</Speak>
<end_if/>
Robofile
__________________________________________________________
<head><version>2.42.6</version></head>
<Barcode>
<check_ean_8>TRUE</check_ean_8>
<check_codabar>FALSE</check_codabar>
<check_maxicode>TRUE</check_maxicode>
<require_crc>FALSE</require_crc>
<check_code_39>TRUE</check_code_39>
<check_orientation>TRUE</check_orientation>
<check_upc_e>TRUE</check_upc_e>
<check_i2of5>FALSE</check_i2of5>
<check_upc_a>TRUE</check_upc_a>
<check_code_128>TRUE</check_code_128>
<check_ean_13>TRUE</check_ean_13>
</Barcode>
<If_Statement>
<comparison_1>16</comparison_1>
<variable_1>BARCODE</variable_1>
<comparison_4>-1</comparison_4>
<comparison_type_4>-1</comparison_type_4>
<join_2>-1</join_2>
<value_2>1</value_2>
<comparison_type_3>-1</comparison_type_3>
<variable_2>a</variable_2>
<comparison_3>-1</comparison_3>
<join_3>-1</join_3>
<comparison_type_2>3</comparison_type_2>
<comparison_2>1</comparison_2>
<has_else>FALSE</has_else>
</If_Statement>
<Serial>
<flow_control_out_x>FALSE</flow_control_out_x>
<enable_send_sequence>TRUE</enable_send_sequence>
<port>COM11 - Standard Serial over Bluetooth link</port>
<data_bits>7</data_bits>
<baud>6</baud>
<flow_control_in_x>FALSE</flow_control_in_x>
<flow_control_dsr>FALSE</flow_control_dsr>
<flow_control_cts>FALSE</flow_control_cts>
<send>[BARCODE]</send>
<send_only_on_change>FALSE</send_only_on_change>
<remember_as_default>TRUE</remember_as_default>
</Serial>
<Beep>
<sequence>500,200</sequence>
<use_piezo>FALSE</use_piezo>
</Beep>
<Speak>
<say_text>SCANNING COMPLETED</say_text>
<current_voice>Microsoft Anna - English (United States)</current_voice>
</Speak>
<end_if/>