바코드는 단지 인코딩 방식일 뿐이며 프로그래밍 언어와는 아무런 관련이 없습니다. 어떤 프로그래밍 도구를 사용해도 구현할 수 있습니다.
바코드 인식 원리
색상이 다른 물체는 서로 다른 파장의 가시광선을 반사하기 때문에 흰색 물체는 다양한 파장의 가시광선을 반사할 수 있는 반면 검은색 물체는 다양한 가시광선 파장을 흡수합니다. 빛이므로 바코드스캐너의 광원에서 나오는 빛이 조리개와 볼록렌즈1을 통과하여 흑백바코드에 비치면 반사된 빛은 볼록렌즈2에 의해 집속되어 광전변환기에 비치게 되므로 광전 변환기는 흰색 스트립과 검은색 스트립을 수신하여 강도와 약점이 다른 반사광 신호에 해당하며 해당 전기 신호로 변환되어 증폭 및 성형 회로로 출력됩니다. 흰색 막대와 검은색 막대의 너비가 다르며 해당 전기 신호의 지속 시간도 다릅니다. 그러나 바코드의 막대와 공백에 해당하는 광전 변환기에서 출력되는 전기 신호는 일반적으로 약 10mV에 불과하므로 직접 사용할 수 없습니다. 따라서 광전 변환기에서 출력되는 전기 신호는 먼저 증폭을 위해 증폭기로 보내야 합니다. 증폭된 전기신호는 여전히 아날로그 전기신호이기 때문에 바코드의 결함이나 얼룩으로 인한 잘못된 신호를 방지하기 위해 증폭회로 뒤에 정형회로를 추가해 아날로그 신호를 디지털 전기신호로 변환해야 한다. 컴퓨터 시스템이 이를 정확하게 해석할 수 있습니다. 성형 회로의 펄스 디지털 신호는 디코더에 의해 디지털 및 문자 정보로 변환됩니다. 시작 및 끝 문자를 식별하여 바코드 기호의 코드 체계 및 스캔 방향을 식별하고, 0 및 1 펄스 디지털 전기 신호의 수를 측정하여 막대 및 공백의 수를 식별합니다. 막대와 공백의 너비는 0과 1 신호의 지속 시간을 측정하여 결정됩니다. 이러한 방식으로 판독되는 바코드 기호의 막대 및 공백 수, 해당 너비 및 사용된 코드 체계를 구하고, 코드 체계에 해당하는 인코딩 규칙에 따라 바코드 기호를 해당 숫자로 대체할 수 있습니다. 문자 정보 인터페이스 회로는 데이터 처리 및 관리를 위해 컴퓨터 시스템으로 전송되어 바코드 판독의 전체 과정을 완료합니다.
인코딩 규칙
고유성: 동일한 유형 및 사양의 제품은 동일한 제품 코드에 대응해야 하며, 동일한 유형 및 사양의 제품은 다른 제품 코드에 대응해야 합니다. 제품의 무게, 포장, 사양, 냄새, 색상, 모양 등의 특성에 따라 서로 다른 제품 코드가 부여됩니다. 영속성: 일단 제품 코드가 할당되면 변경할 수 없으며 평생 동안 유지됩니다. 해당 제품이 더 이상 생산되지 않으면 해당 제품 코드는 보류만 가능하며 재사용하거나 다른 제품에 할당할 수 없습니다. 의미 없음: 빈번한 제품 업데이트 요구 사항에 맞게 코드에 충분한 용량을 확보하려면 의미 없는 시퀀스 코드를 사용하는 것이 가장 좋습니다.
바코드 코딩 시스템의 차이점
UPC: (통합 제품 코드) 숫자만 나타낼 수 있습니다: A, B, C, D, E. 버전 A. - 12자리 버전 E - 7자리 숫자 마지막 숫자가 체크숫자 입니다. 사이즈는 가로 1.5인치, 세로 1인치이며, 배경이 선명해야 합니다. 주로 미국, 캐나다에서 사용됩니다. 산업, 의학, 창고 및 기타 부문
UPC가 12자리로 디코딩되면 정의는 다음과 같습니다. 첫 번째 숫자 = 숫자 식별자(UCC(Uniform Code Committee)에서 설정한 숫자 2-). 6 = 제조업체 식별 번호(첫 번째 숫자 포함) 7-11 = 고유한 제조업체 제품 코드 12 = 검사 숫자(오류 감지에 사용)
코드 9 중 3: 문자, 숫자를 나타낼 수 있음 및 기타 기호***43 문자: A -Z, 0 - 9, -.$/, 페이스 바코드 길이는 가변적이며 일반적으로 "*"가 시작 및 끝 문자로 사용되며 확인 코드는 사용되지 않습니다. , 코드 밀도는 3~9.4자/인치당 공백 영역은 좁은 스트립의 10배입니다. 산업, 도서, 자동화된 티켓 관리에 사용됩니다.
코드 128: 높은 수준을 나타냅니다. 밀도 데이터 문자열 가변 길이 기호에는 세 가지 검사 코드(A, B, C)가 포함되어 있습니다. 산업, 창고, 소매 및 도매용 세 가지 문자열 세트 A, B 또는 C에 사용 가능한 128자가 사용됩니다. p>
인터리브 2-5(I2/5): 숫자 0-9만 나타낼 수 있습니다. 가변 길이 연속 바코드입니다. 모든 막대와 공백은 코드를 나타냅니다. 여백이 좁은 바보다 10배 넓습니다. 상품 도매, 창고, 공항, 생산/포장 식별 및 산업 분야에서 사용됩니다. 바코드 판독률이 높으며 고정형 스캐너에 사용할 수 있습니다. 모든 1차원 바코드 중에서 밀도가 가장 높습니다.
Codabar(라이브러리) Deba 바코드): 숫자 0~9, 문자 $, , - 및 4개의 문자 a, b, c d를 나타낼 수 있습니다. 시작/종료로만 사용할 수 있습니다.
수정 없이 가변 길이 비트 검증은 자재 관리, 도서관, 혈액 스테이션 및 현재 공항 소포 배송에 사용됩니다. 빈 영역은 좁은 스트립보다 10배 더 넓습니다. 비연속 바코드이며 각 문자는 4개의 스트립과 3개의 공백으로 표시됩니다.
PDF417(QR 코드): 다중 라인 바코드는 데이터베이스에 연결할 필요가 없으며 많은 양의 바코드를 저장할 수 있습니다. 데이터는 병원, 운전면허증, 자재관리, 화물운송 등에 사용됩니다. 바코드가 어느 정도 손상되었을 경우, 오류수정을 통해 바코드를 올바르게 디코딩할 수 있습니다. PDF417은 Symbol Technology Company에서 개발한 제품입니다. 1990. 많은 양의 데이터를 포함하는 여러 줄의 연속적인 가변 길이 기호 식별자입니다. 각 바코드에는 3~90개의 줄이 있으며, 각 줄에는 시작 부분, 데이터 부분, 끝 부분이 있습니다. 문자 세트에는 모두 128자가 포함되며 최대 데이터 내용은 1850자입니다.
1차원 바코드는 한 방향(보통 가로 방향)으로만 정보를 표현하고 세로 방향으로는 정보를 표현하지 않습니다. 특정 높이는 일반적으로 판독기의 정렬을 용이하게 하기 위한 것입니다.
1차원 바코드를 적용하면 정보 입력 속도를 높이고 오류율을 줄일 수 있지만 1차원 바코드에도 몇 가지 단점이 있습니다.
* 작은 데이터 용량: 30 문자 왼쪽 및 오른쪽
* 문자와 숫자만 포함할 수 있습니다.
* 바코드 크기가 상대적으로 큽니다(공간 활용도가 낮음)
* 바코드가 있는 경우에는 사용할 수 없습니다. 손상됨 읽기
가로 및 세로 방향의 2차원 공간에 정보를 저장하는 바코드를 2차원 바코드라고 합니다.
1차원 바코드와 마찬가지로 2차원 바코드에도 다양한 인코딩 방법, 즉 코딩 시스템이 있습니다. 이러한 코드 시스템의 코딩 원리는 일반적으로 다음 세 가지 유형으로 나눌 수 있습니다
1. 선형 스택 QR 코드는 여러 개의 1차원 바코드를 결합한 1차원 바코드의 코딩 원리를 기반으로 합니다. 차원 코드는 수직 스택으로 생성됩니다. 일반적인 코드 시스템에는 코드 16K, 코드 49, PDF417 등이 포함됩니다.
2. 매트릭스 QR 코드는 매트릭스의 흑백 픽셀 분포를 다르게 하여 직사각형 공간에 인코딩됩니다. 일반적인 코드 시스템에는 Aztec, Maxi Code, QR Code, Data Matrix 등이 포함됩니다.
3. 우편번호는 Postnet, BPO 4-State와 같이 주로 메일 인코딩에 사용되는 다양한 길이의 막대를 통해 인코딩됩니다.
많은 유형의 2차원 바코드 중에서 일반적으로 사용되는 코드 시스템에는 Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K 등이 있습니다. :
p>
* 데이터 매트릭스는 주로 전자 산업에서 소형 부품을 마킹하는 데 사용됩니다. 예를 들어 이 코드는 Intel의 Pentium 프로세서 뒷면에 인쇄되어 있습니다.
* Maxi 코드는 UPS(United Parcel Service)에서 개발되었으며 소포 분류 및 추적에 사용됩니다.
* Aztec은 American Welch Allyn Company에서 출시되었으며 최대 3832개의 숫자, 3067개의 영문자 또는 1914바이트의 데이터를 수용할 수 있습니다.