# Scanning Barcodes and QR Codes

· Barcode is wide adopted in our daily lives, they are found on various products.

· QR Codes are used for data exchange or cashless shopping.

### Scanning Barcodes and QR Codes

<figure><img src="https://kittenbothk-eng.readthedocs.io/en/latest/_images/mcbanner.png" alt=""><figcaption></figcaption></figure>

#### **Loading Extensions**

Search "KOI" in the search bar.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/koi_search.png" alt=""><figcaption></figcaption></figure>

Or copy and paste the following link to the search bar.

**<https://github.com/KittenBot/pxt-koi>**

Blocks for reading codes:

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/014.png" alt=""><figcaption></figcaption></figure>

#### Sample Program

{% embed url="<https://makecode.microbit.org/_gckdFPXUEgto>" %}

### Program Flow

Download the program to the Micro:bit.

1. Point the KOI at a Barcode and press A on the Microbit, the content of the Barcode will be shown on KOI’s screen.
2. Point the KOI at a QRCode and press B on the Microbit, the content of the QRCode will be shown on KOI’s screen.

### Advanced Program

There may not be enough time to read the contents if we show it on KOI, to improve readability, we can connect an OLED screen.

#### Connecting an OLED

Connect an OLED panel to the I2C port of your Robotbit/Armourbit.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/03-1.png" alt=""><figcaption></figcaption></figure>

#### Sample Program

{% embed url="<https://makecode.microbit.org/_bXFegEPx6Vv7>" %}

### Sample Code

[1. Scanning Barcodes and QR Codes (Extension0.5.7)](https://makecode.microbit.org/_bUKY6cULX7E8)

[2. Scanning Barcodes and QR Codes /w OLED (Extension0.5.7)](https://makecode.microbit.org/_9VxF5J8Tu3kD)

[Bar Code & QR Code Sample](https://bit.ly/KOIBarAndQRCodeSample)

### Extension Version and Updates

There may be updates to extensions periodically, please refer to the following link to update/downgrade your extension.

[Makecode Extension Update](https://kittenbothk-eng.readthedocs.io/en/latest/Makecode/makecode_extensionUpdate.html)

### FAQ

#### 1: There is no reaction after pressing the buttons on the Micro:bit.

· A: This is because KOI has a longer boot time than Micro:bit. When the power is turned on, Micro:bit has already ran the code for KOI initialization before KOI is ready.

· Solution: Reset your Micro:bit after KOI has been turned on. (The trick is to let KOI power on completely before initialization.)

#### 2: Does KOI work with 3V input?

· A: No, KOI only works with 5V.

#### 3: KOI fails to recognize my Barcodes/QR Codes.

· A: Make sure the width of the code is at least 3.5cm and the code is entirely within the camera’s view.
