안녕하세요?


이번 포스팅은 Newton 2017년 4월호에 나와있는 [바코드의 원리]라는 기사를 읽고나서, 몰라도 사는 데는 지장이 없지만, 그래도 알고 있으면 재미있는 사실을 여러분께 알려드리고자 이 포스팅을 합니다.



바코드라는 것은 1948년 미국 필라델피아 드렉셀 공과대학에 다니고 있는 대학원생인 버나드 실버(Bernard Silver)가 발명하였다고 기사에서 언급을 하고 있습니다. 이 바코드라는 것은 일종의 2진법적인 표시체계라고 하는데, 검은 막대와 그 사이에 있는 흰색 막대의 갯수가 핵심이라고 물을 하고 있습니다. 



먼저 바코드는 흰색과 검은색 막대로 이루어져 있는데, 이 바코드를 읽기 위해서 기기에서는 광원에서 빛을 쏩니다. 그럼 이 빛은 바코드에서 아래와 같이 반사가 됩니다.



여기서 흰색 막대에서는 광원에서 나온 빛이 강하게 반사를 해서, 반사광이 강합니다. 하지만 검은색 막대의 경우에는 빛을 흡수하기 때문에, 반사광이 상대적으로 약할 수 밖에 없습니다.



이러한 반사광들은 위 그림에서 묘사하고 있는 녹색 막대인 스캐너에 들어가게 되는데, 당연 반사광이 강하면 강한 신호가 되고, 약하면 약한 신호가 됩니다. 이를 바탕으로 강한 신호는 1, 약한 신호는 0으로 계산하는 방식으로 2진법의 숫자로 변환할 수 있습니다.



이렇게 모아진 2진수의 신호는 컴퓨터에서 10진수의 숫자로 변환이 되고, 이 10진수의 숫자를 데이터 베이스에서 조회한 다음에, 이 상품의 가격이 얼마며, 어디서 제조되었으며, 어디를 거쳐서 왔다는 이력이 표시가 되는 원리가 나오게 되는 것입니다.  

결국 정리하자면 빛이 반사하는 강도의 차이를 가지고서 2진법 숫자를 얻고, 그 숫자를 바탕으로 10진법 숫자를 계산한 다음, 이 숫자를 미리 입력된 데이터 베이스에서 조회하는 것입니다. 물론 당연하다면 당연하게도 데이터 베이스에 이 10진법 숫자에 대한 정보가 없으면 바코드로 아무것도 얻을 수 없습니다.



거기다가 기사에서 또 언급하고 있기로는, 위 그림의 좌측에 보는 것 처럼 우리가 흔히 알고 있는 바코드라고 하는 것이 바로 1차원 바코드이고, 오른쪽에 있는 것 처럼 QR코드가 사실은 2차원 바코드라고 합니다. QR코드 역시 빛의 반사광에 따라서 2진수 정보를 읽고, 그 2진수를 10진수로 변환한 다음에 테이터 베이스에서 특정한 정보인지 조회하는 방식이라고 합니다.


원리는 단순히 빛이 반사하는 강도를 가지고서 숫자를 빠르게 읽어내는 것 이지만, 이 덕분에 사람이 일일히 기기 단말에 번호를 입력하지 않아도 빠르게 바코드가 붙어 있는 물건의 정보를 읽어 낼 수 있는 것이라고 생각이 됩니다. 즉 원리가 단순한 기술이지만, 그 편리함은 전혀 단순하지 않다는 생각이 듭니다.

+ Recent posts

티스토리 툴바