Kittenbot HK Sharing Hub English
  • Welcome to KittenBot HK English Sharing Hub
  • Extension Boards
    • Robotbit Edu
      • Robotbit Edu Introduction
      • Robotbit Base Shield
      • Robotbit Edu Coding with MakeCode
      • Robotbit Edu Coding with KittenBlock
    • Robotbit 2.2
      • Robotbit 2.2 Info
      • Robotbit Base Shield
      • Robotbit 2.2 Coding with MakeCode
      • Robotbit 2.2 Coding with KittenBlock
    • Robotbit EDU and Robotbit 2.2 Differences
    • Newbit Arcade Shield
      • Newbit Arcade Shield Info
      • MakeCode Arcade Programming Tutorial
        • Using Newbit Arcade Shield as a remote controller
      • MicroCode Programming Tutorial
    • Armourbit Expansion Box
    • JoyFrog Micro:bit Controller
      • JoyFrog micro:bit Controller Info
      • JoyFrog Coding with MakeCode
      • JoyFrog Coding with Kittenblock
    • SugarBox Expansion Box
    • IOBit Expansion Board
    • K-Watch for Futureboard
  • AI Modules
    • AI Camera KOI 2
      • AI Camera KOI 2 Info
      • MakeCode Programming
        • KOI 2 in MakeCode Quick Start Guide
        • Show String
        • KOI Buttons
        • Taking and Displaying Photos
        • Recording and Playing Voice Clips
        • Switch Camera Orientation
        • Color Blob Tracking
        • Line Tracing
        • Code Scanner
        • Face Mask Detection
        • Face Attributes Detection
        • WiFi and IoT
        • Image Classifier: Model Training and Save
        • Image Classifier: Running and Load
        • Built-in Tracking: Road Signs
        • Built-in Tracking: Numbers
        • Built-in Tracking: Common Items
        • Built-in Tracking: Color Balls
        • File Operations
      • MicroPython Programming
        • KOI 2 in MicroPython Quick Start Guide
        • Basic Operations
        • Color Blob and Line Tracking
        • Code Scanner
        • Face Detection
        • Image Classifier
        • Built-in Tracking Models
        • Custom Tracking Models
      • KittenBlock Programming
        • KOI 2 in KittenBlock Quick Start Guide
        • Basic Operations
        • Color Blob and Line Tracking
        • Code Scanner
        • Face Detection
        • Image Classifier
        • Built-in Tracking Models
      • KOI 1 and KOI 2 Firmware Upgrades
      • KOI 2 Serial Command API
    • AI Camera KOI
      • AI Camera KOI Info
      • KOI Coding with MakeCode
        • KOI MakeCode Quickstart Guide
        • Interchanging between Armourbit and Robotbit
        • A and B Buttons
        • Displaying Text
        • LCD Orientation
        • Taking and Displaying Pictures
        • Recording and Playback
          • Making sound clips for KOI(Audacity)
        • Scanning Barcodes and QR Codes
        • Circle Tracing
        • Rectangle Tracing
        • Line Tracing
        • Face Detection
        • Classifier Model Training
        • Classifier Model Predicting
        • Voice Recognition (Firmware v1.9.5 or above)
        • Voice Recognition Train Model(KOI v1.12.0)
        • Voice Recognition Load Model(KOI v1.12.0)
        • Internet of Things (KOI v1.9.5)
        • Internet Time (KOI v1.12.0)
        • Face Recognition (KOI v1.9.5)
        • Text-to-Speech (KOI v1.9.5)
      • KOI Coding with Futureboard
        • Using KOI with Futureboard QuickStart
        • Futureboard x KOI 1: Basics
        • Futureboard x KOI 2: Face Detection
        • Futureboard x KOI 3: Image Classifier
        • Futureboard x KOI 4: Blob and Line Tracking
        • Futureboard x KOI 5: Shape Detection
        • Futureboard x KOI 6: Code Scanner
        • Futureboard x KOI 7: IoT and Baidu
        • Futureboard x KOI 8: Voice
      • KOI Serial Command API
      • KOI Kittenblock & MicroPython
        • KOI Programming with KittenBlock QuickStart
        • KOI MicroPython Programming Quickstart
        • KOI MicroPython API
      • KOI Firmware Update
        • KOI Update History
        • Firmware Update Tutorial
        • KOI WiFi Firmware Update
    • Sugar ASR Voice Module
      • Sugar ASR Voice Module Info
      • Sugar ASR Programming
      • Sugar ASR Custom Command Training
      • Sugar ASR Commands List
      • Sugar ASR Unplugged Usage
    • Sugar Cam Tutorial: AI Mode(Advanced)
  • Wifibrick & IoT Solutions
    • Wifibrick
      • Wifibrick Info
      • WifiBrick Firmware Update
    • IoT Platform Introductions
      • ThingSpeak
      • MakerCloud
      • ObjectBlocks
      • Kittenblock Built-in MQTT
    • MakeCode Coding for IoT Platforms
      • Makecode Coding and Thinkspeak
      • Makecode Coding and MakerCloud
      • Makecode Coding and ObjectBlocks
      • Makecode X KittenBlock IoT
      • Makecode Coding and KittenBot IoT
    • FutureBoard Programming for IoT Platforms
      • FutureBoard and ThingSpeak
      • FutureBoard and MakerCloud
      • FutureBoard and ObjectBlocks
    • IFTTT x IoT Platform
      • MakerCloud x IFTTT
      • ThingSpeak x IFTTT
    • IoT Platform x MIT AI2
  • Functional Modules
    • Powerbrick Series
      • Armourbit Expansion Box
      • Battery Box
      • Environment Temperature and Humidity Module
      • Soil Moisture Sensor
      • Water Level Sensor
      • Ultrasound and Sound Module
      • IR Line Trace Module
      • AB Bumpers Module
      • Color & Gesture Module
      • RFID Reader Module
      • RGB LED Matrix
      • MP3 Music Module
      • Powerbrick MakeCode Programming for Armourbit
      • Powerbrick MakeCode Programming for Robotbit
    • Sugar Series
      • Sugar Button Module
      • Sugar PIR Sensor Module
      • Sugar Line Sensor Module
      • Sugar Magnet Sensor Module
      • Sugar LED Module
      • Sugar Potentiometer Module
      • Sugar Flame Sensor Module
      • Sugar Light Sensor Module
      • Sugar Water Level Sensor Module
      • Sugar Soil Moisture Sensor Module
      • Sugar Environment Sensor Module
      • Sugar Joystick Module
      • Sugar TOF Distance Sensor
      • Sugar ASR Voice Module
      • Sugar String Light
      • Sugar Vibe Motor
      • Sugar Laser LED Module
      • Sugar Atmospheric Pressure Module
      • Sugar Crash Microswitch Module
      • Sugar Water Temperature Sensor
      • Sugar Buzzer Module
      • Sugar Touch Module
      • Sugar 7-Segment Display Module
      • Sugar I2C Hub
      • Sugar Grayscale Module
      • Sugar Sound Sensor Module
      • Sugar Camera Module
        • Sugar Cam Tutorial: Command Mode(Default)
          • Sugar Cam Tutorial: QR Code Scanner
          • Sugar Cam Tutorial: Voice Recognition
          • Sugar Cam Tutorial: Capture and MP3
          • Sugar Cam Tutorial: Futureboard FPV
          • Sugar Cam Tutorial: KittenBlock
          • Sugar Cam Tutorial: KittenBlock AI
        • Sugar Cam Tutorial: Remote Mode(Advanced)
          • Sugar Cam Tutorial: Web-based Streaming
          • Sugar Cam Tutorial: HTML Customization
        • Sugar Cam Tutorial: AI Mode(Advanced)
          • Sugar Cam Tutorial: Teachable Machine Model Training
          • Sugar Cam Tutorial: Teachable Machine Image Classification
        • Serial Command API
      • Sugar Atomizer Module
      • Sugar Carbon Dioxide Sensor Module
      • Sugar Solar Panel and Power Management Module
      • Sugar Weigh Module
      • Sugar UV Module
      • Sugar RFID Module
      • Sugar Numpad Module
      • Sugar RGB LED Ring
    • Turbidity Sensor
    • pH Meter
      • pH Meter Info
      • pH Meter Initial Tuning
      • pH Meter Programming Tutorial
      • pH Meter Export Calibration Value
      • pH Buffer Solution Mixing Tutorial
    • PM2.5 Particulates Sensor
    • KittenClock RTC Module
    • Contactless Infra Red Temperature Sensor
    • All in 1 Water Pump
    • Ultrasound Sensor
    • 5 Way Line Follow Module
    • GeekServo Fan
    • KittenRadio
    • RGB LED Strip and Board
      • RGB LED Strip
      • RGB LED Screen
        • RGB LED Screen Info
        • RGB LED Screen - Neopixel Tutorial
        • RGB LED Screen and Matrices
        • RGB LED Screen Daisy Chaining
        • RGB LED Screen - Static Effects Tutorial
        • 8x32 RGB LED Screen - Dynamic Effects Tutorial
        • 16x16 RGB LED Screen - Dynamic Effects Tutorial
    • Discontinued Modules
      • Button Module
      • Potentiometer
      • Ambient Light Sensor
      • Analog Flame Sensor
      • Moisture Sensor
      • Water Sensor
      • Magnetic Sensor
      • Slider Potentialmeter
      • Sound Sensor
      • Infra Red Tracker Sensor
      • RGB LED Module
    • FingerPrint Recognition Module
  • Motors and Servos
    • Geekservo Motor
    • Geekservo Servo
    • GeekServo 2KG Motors
    • GeekServo 2KG Servo
    • T/T DC Motors
    • Geek Motor O 360 Servo
    • High Speed DC Motor
    • 9g Servo
  • Microsoft Jacdac Series
    • What's Jacdac?
    • Jacdac Hardware
      • Jacdac+MakeCode Quickstart
      • Jacdac+MicroCode QuickStart
      • Jacdac Kit A
        • Jacdapter
        • Jacdac Slider
        • Jacdac Rotary Button
        • Jacdac RGB Ring
        • Jacdac Button
        • Jacdac Magnet Sensor
        • Jacdac Light Sensor
        • Jacdac Hub
      • Jacdac Kit B
        • Jacdac Power Module
        • Jacdac Haptic
        • Jacdac Accelerometer
        • Jacdac Relay
        • Jacdac Environment
        • Jacdac RGB Light Strip
        • Jacdac Servo Driver
        • Jacdac Ultrasound
      • Jacdac Duckybot
        • Duckybot Instructions
          • Wake Up Duckling
          • Environment Sensing
          • Fall Detection
          • Following Duckling
  • Main Controllers
    • BBC Micro:bit V2
    • FutureBoard
      • About FutureBoard
        • FutureBoard Info
        • FutureOS Operation Guide
      • FutureBoard KittenBlock Programming Tutorial
        • FutureBoard and KittenBlock Quick Start Guide
        • Programming with Kittenblock: Onboard Sensors
        • Programming with KittenBlock: Buzzer
        • Programming with KittenBlock: Screen
        • Programming with KittenBlock: Turtle
        • Programming with KittenBlock: GPIO
        • Programming with KittenBlock: Neopixel
        • Programming with KittenBlock: WiFi & IoT
        • Programming with KittenBlock: Microphone
        • Programming with KittenBlock: Radio
        • Programming with KittenBlock: Robotbit
        • Programming with KittenBlock: Powerbrick
        • Programming with KittenBlock: Sugar
        • Programming with KittenBlock: HK Observatory
        • Programming with KittenBlock: KMB ETA
      • FutureBoard MicroPython Programming Tutorial
        • FutureBoard & MicroPython Quick Start Guide
        • Programming with MicroPython: Screen and Display
        • Programming with MicroPython: Onboard Sensors
        • Programming with MicroPython: Buzzer
        • Programming with Micropython: Turtle
        • Programming with MicroPython: GPIO
        • Programming with MicroPython: NeoPixel
        • Programming with MicroPython: WiFi & IoT
        • Programming with MicroPython: Network Time Protocol
        • Programming with MicroPython: I2S Microphone
        • Programming with MicroPython: Wireless Radio
        • Programming with MicroPython: Robotbit
        • Programming with MicroPython: urequests & ujson
        • Programming with MicroPython: I2C Device
        • Programming with MicroPython: Sugar and Powerbrick Modules
        • Programming with MicroPython: ASR Voice Recognition Module
        • Programming with MicroPython: KOI
      • Firmware Updates
        • Update Process
        • FutureBoard Firmware History
        • Resetting the FutureBoard
    • MeowBit
      • Meowbit Introduction
      • MeowBit System Operations
      • Meowbit Programming Tutorial
        • Meowbit MakeCode Coding QuickStart
        • MeowBit HourOfCode Tutorial
        • Meowbit Kittenblock Coding Quickstart
        • MeowBit’s Light Sensor
        • Meowbit’s Accelerometer
        • Meowbit’s Temperature Sensor
        • Meowbit’s IO Pins
        • MeowBit Wireless SD Module
        • Meowbit & Robotbit
        • Meowbit & Neopixel
        • Meowbit & IOBit
        • Meowbit & Turtle(Kittenblock)
        • Meowbit’s Display(Kittenblock)
        • Meowbit MicroPython Quick Start
        • Meowbit MicroPython API
    • Nanobit
      • Nanobit Introduction
      • Nanobit & MakeCode Programming
      • Nanobit Shield Expansion Board
  • Educational Kit Sets
    • Micro:bit Inventor Education Kit
      • Micro:bit Inventor Education Kit Introduction
      • Micro:bit Inventor Kit Instructions
        • Traffic Lights
        • Fire Alarm
        • Birthday Candles
        • Electric Gate
        • Smart Hanger
        • Plant Helper
        • Radio
        • Rhythm Machine
        • Quiz Machine
        • Nightlight
        • Swinging Fan
        • Zombie Game
        • Delivery Kart
        • RC Kart
        • Safe
        • Piano
      • Micro:bit Inventor Kit - AI Upgrade
        • Micro:bit Inventor Kit x KOI AI Camera Use Cases
        • Voice Control AI Hanger
        • AI Pedestrian Crossing
        • AI Access Gate Control
        • AI Face Tracking Fan
        • Biometrics Authentication Safe Locker
      • Micro:bit Inventor Kit - IoT Upgrade
        • IoT Streetlight
        • IoT Hanger
        • IoT Gate
        • IoT Door Lock
        • IoT Safe
        • IoT Fire Alarm
      • Micro:bit Inventor Kit - ASR Upgrade
        • ASR Upgrade Use Cases
        • Voice Control Fan
        • Voice Control Hanger
        • Voice Control Night Light
        • Voice Control Smart Appliances
      • Micro:bit Inventor Kit - KOI 2 Upgrade
        • Mask Detector Gate
        • Facial Image Identification Safe
        • Face Detection Fan
        • AI Traffic Management
        • Road Sign Tracking Car
    • Powerbrick
      • PowerBrick All-In-One
      • PowerBrick Instructions and Parts List
        • PowerBrick Building Blocks List
        • Gestured Controlled Crane
        • Chomping Duck
        • Line Follow Street Cleaning Car
        • Dino King
        • Robo Dancer
        • Smart Bin
        • Smart Gate
        • Weather Reporter
        • Brick Sorter
        • Windmill
    • Health Care Educational AI Kit
      • Health Care Educational AI Kit Introduction
      • Health Care Educational AI Kit Instructions(KOI 1)
        • Health Care Educational AI Kit Parts List
        • AI Disinfection Alcohol Dispenser
        • Handheld Contactless Temperature Monitor
        • Auto-Tracking Temperature Monitor
        • Anti-epidemic Supplies Commander
        • Mask Detector
        • Contactless Elevator
        • Contactless Door Bell
        • Driverless Delivery Cart
        • UV Light Sterilizer
      • Health Care Educational AI Kit Instructions(KOI 2)
        • Health Care Educational AI Kit Parts List
        • Handheld Contactless Temperature Monitor
        • AI Disinfection Alcohol Dispenser
        • Auto-Tracking Temperature Monitor
        • Anti-epidemic Supplies Commander
        • Mask Detector
        • Contactless Elevator
        • Contactless Door Bell
        • Driverless Delivery Cart
        • Driverless Sterilizing Cart
        • UV Light Sterilizer
    • FutureBoard IoT Education Kit
      • FutureBoard IoT Education Kit Intro
      • FutureBoard IoT Education Kit Instructions
        • Weather Station
        • Welcoming Robot
        • Timer
        • Safe
        • Smart Streetlamp
        • Laser Distance Ruler
        • RC Kart
        • Smart Parking Lot
    • Weather Station Educational Kit
      • Weather Station Educational Kit Introduction
      • Voice Weather Station Instructions
        • 6-in-1 Complete Weather Station
        • Environment Light Meter
        • Temperature & Humidity Barometer
        • Air Pressure Meter
        • Rainfall Meter
        • Wind Vane
        • Anemometer
      • IoT Weather Station Instructions
        • 6-in-1 Complete Weather Station
        • Environment Light Meter
        • Temperature & Humidity Barometer
        • Air Pressure Meter
        • Rainfall Meter
        • Wind Vane
        • Anemometer
      • Weather Station Building Instructions
        • 6-in-1 Weather Station Instructions
        • Environment Light Meter Instructions
        • Barometer Instructions
        • Rainfall Meter Instructions
        • Wind Vane Instructions
        • Anemometer Instructions
    • KOI AI Air Hockey
    • AI/AIoT Recycling Bin
      • AI/AIoT Recycling Bin Intro
      • AI/AIoT Recycling Building Instructions
      • AI/AIoT Recycling Kit Tutorial(KOI 1)
      • AI/AIoT Recycling Kit Tutorial(KOI 2)
    • Smart Book Crossing Cabinet Education Kit
      • Smart Book Crossing Cabinet Intro
      • Smart Book Crossing Cabinet Instructions
        • Building Instructions
        • MakeCloud Set Up Procedure
        • AI2 Application Set Up
        • FutureBoard Sample Program
        • Micro:bit Sample Program
    • IoT Make Easy Smart Home Education Kit
      • IoT Make Easy Smart Home Education Kit Introduction
      • IoT Make Easy Building Instructions
        • Set Up for MakerCloud
        • MakerCloud x IFTTT Guide
        • Set Up for ObjectBlocks
        • Set Up for Thingspeak
        • Safety Gas Stove
        • Remote Security Door
        • Safety Bathtub
        • Anti-Spilling Sink
    • Industry 4.0 Conveyor Belt
      • Industry 4.0 Conveyor Belt Introduction
      • Building Instructions
      • Inventory System Sample Program(FutureBoard)
      • Inventory System Sample Program(MakeCode)
      • IoT Platform Set Up Tutorial
    • Industry 4.0 Robotic Arm
      • Industry 4.0 Robotic Arm for SYE
    • KittenBot Fitness Testing Kit
      • KittenBot Fitness Testing Kit Intro
      • 1. Push-Up Exercise
      • 2. Sit-Up Exercise
      • 3. Sit and Reach Test
      • 4. Y-Balance Test
      • 5. Plank Exercise
    • SumoBot 12-in-1 Kit
      • SumoBot 12-in-1 Kit Introduction
      • SumoBot 12-in-1 Model Instructions
        • SumoBot 12-in-1 Parts List
        • SumoBot
        • Flag Swiper
        • RoboPusher
        • Punching Mantis
        • Speed Racer
        • RoboCatcher
        • RoboDino
        • Sumo Wrestler
        • RoboFootballer
        • RoadBlock Smasher
        • Battle Turret
        • Smart Toilet Tissue Machine
    • MR STEMER 3-in-1 BattleBots Kit
      • MR STEMER 3-in-1 BattleBots Kit Intro
      • MR STEMER 3-in-1 Model Instructions
        • MR STEMER 3-in-1 Parts List
        • SumoBot
        • Flag Swiper
        • RoboPusher
    • Robotbit Basic Kart
      • Robotbit Basic Kart Introduction
      • Basic Kart Building Instructions
      • Remote Control Kart
      • Line Tracing Kart
      • Obstacle Avoiding Kart
      • AI Automated Driving Kart
    • Mecanum Wheel Robotic Car Kit
      • Mecanum Wheel Robotic Car Kit Intro
      • Mecanum Wheel Robotic Car Kit Instructions
        • Mecanum Robotic Car
        • Mecanum Robotic Shooter
    • Mecanum Wheel Robot 2KG
      • Mecanum Wheel Robot 2KG Introduction
      • Mecanum Wheel Robot 2KG Building Instructions
      • Mecanum Wheel Robot 2KG Sample Programs
    • All Terrain RC Rover Kit
      • All Terrain RC Rover
      • All Terrain RC Rover Building Instructions
      • All Terrain RC Rover Sample Program
    • MR STEMer Kart Lite
    • Robotbit Robot Arm
    • Meowbit Creator Kit
      • Meowbit Creator Kit Introduction
      • Meowbit Creator Kit Instructions
        • Meowbit Creator Kit Parts List
        • 1. Step Counter
        • 2. Tug-Of-War
        • 3. Coin Collector
        • 5. Basketball Game
        • 6. Piano Master
        • 7. Voice Control Lights
        • 8. Anti-Noise Window
        • 9. Line Follower Robot
        • 10. Obstacle Avoiding Robot Cat
        • 11. Smart Parking Lot
    • Circuitry Experiments Education Kit
      • Circuitry Experiments Education Kit Introduction
      • Circuitry Experiments Kit Component List
    • MRSTEMer Competition Arena
    • TabbyBot AI Cart
      • TabbyBot Programming QuickStart
      • Scaredy Cart Programming Tutorial
      • Light Show Programming Tutorial
      • Obstacle Avoiding Cart Tutorial
      • Line Follower Cart Tutorial
    • (Discontinued Item)Robotbit Sensor Kit
    • Pneumatic Rocket Launching Kit
      • Pneumatic Rocket Tutorial
    • Robotbit Differential Car
      • RC Differential Car Tutorial
      • AI Upgrade: KOI 2 Auto Parking
        • KOI 2 Auto Parking Tutorial
  • Programming Platforms
    • Newest! Microsoft MicroCode
    • MakeCode Tutorial
      • Kittenbot & MakeCode
      • Makecode Extension Updates
      • MakeCode Micro:bit Programming for iPad
    • KittenBlock
      • Installing KittenBlock
      • Uninstall KittenBlock 1.88 Completely
      • Kittenblock User Interface
        • Kittenblock Main UI
        • Blocks Menu
        • Coding Area
        • Stage
      • KittenBlock & Micro:bit
        • Connecting Micro:bit to KittenBlock
        • Micro:bit Coding & Kittenblock
      • KittenBlock Functions & Features
        • Kittenblock Unique Features
          • Python Editor
          • KittenBlock Hardware File System
          • Wiring Diagram Maker
        • Kittenblock VS Scratch 3.0
        • Learning Python 3 with Kittenblock
        • Kittenbot Extensions
          • Video Sensing
          • Translation
          • Text to Speech
          • Internet of Things
          • Artificial Intelligence
            • FaceAI
            • BaiduAI
          • Machine Learning
            • Machine Learning 5
            • Machine Learning 5 Image Classification
            • Machine Learning 5 Feature Extraction
            • Machine Learning 5 SketchRNN
            • Machine Learning 5 PoseNet
            • Machine Learning 5 FaceAPI
    • KittenCode
      • KittenCode Introduction
      • KittenCode Interface
  • Scientific Measuring Device Kit
    • Measuring PM2.5 Particulates
    • Measuring Carbon Dioxide
    • Measuring Water Temperature
    • Measuring Water Turbidity
    • Measuring Sound Level
    • Measuring pH Level
    • Futureboard Lite Operation Manual
  • Kittenbot & Bricklink Studio
  • Kittenbot HK SharingHub Chinese
Powered by GitBook
On this page
  • Import KOI Library
  • KOI Basic Operations
  • Face Detection
  • Face Detection Sample Program
  • Machine Learning Image Classifier
  • KOI Classifier Model Training Sample Program
  • KOI Image Classification Sample Program
  • Colour Blob and Line Tracking
  • Blob Detection Sample Program
  • Line Detection Sample Program
  • Shape Detection
  • Shape Detection Sample Program
  • Code Scanner
  • Code Scanner Sample Program
  • Wifi Connection
  • BaiduAI
  • Wifi and Baidu TTS Sample Program
  • Audio
  • Speech Recognition Training Sample Program
  • Speech Recognition Sample Program
  • Miscellaneous
  1. Main Controllers
  2. FutureBoard
  3. FutureBoard MicroPython Programming Tutorial

Programming with MicroPython: KOI

Import KOI Library

Import KOI library to make use of its functions.

from futureKOI import KOI

KOI Basic Operations

Initiate KOI

koi = KOI(tx='P2',rx='P12',id=1)

Initiates the KOI port.

  • tx: Tx Pin, use P2 for Robotbit Edu.

  • rx: Rx Pin, use P12 for Robotbit Edu.

Set KOI Camera Orientation

# available modes
# 0,2

koi.screen_mode(mode, cmd='K6')

Sets the KOI camera orientation.

  • mode: 0 for front, 2 for back

Display text

koi.text(x, y, delay, text, cmd="K4")

Displays a text on the KOI screen.

  • x: X coordinate of the text.

  • y: Y coordinate of the text.

  • delay: Duration of the text in ms.

  • text: The string to be displayed.

KOI Screen Capture

koi.screen_save(pic , cmd="K2")

Captures the screen and save to SD card.

  • pic: Filename on the SD card in jpg format.

KOI Displays JPG

koi.screen_show(pic, cmd="K1")

Displays a jpg on the screen.

  • pic: Filename on the SD card in jpg format.

Face Detection

Load Face Yolo

koi.face_yolo_load(cmd="K30")

Loads the face yolo model.

Single Face Detection

x = koi.face_detect(cmd="K31")

Runs the single face detection.

Obtain Face Coordinates

koi.get_re(cmd="K31")[0]  #x
koi.get_re(cmd="K31")[1]  #y

Returns the X or Y coordinate of the face detected.

Multi Face Detection

koi.face_count(cmd="K32")

Runs the multi face detection.

Obtain Number of Faces

koi.get_re(cmd="K32")[0]

Returns the number of faces detected.

Face Detection Sample Program

from future import *
from futureKOI import KOI

screen.sync = 0
koi = KOI(tx='P2',rx='P12',id=1)
koi.screen_mode(2, cmd='K6')
koi.face_yolo_load(cmd='K30')
while True:
if koi.face_detect(cmd='K31'):
    screen.fill((0, 0, 0))
    screen.text("Face detected:",5,10,1,(255, 255, 255))
    screen.text("X:",5,20,2,(255, 255, 255))
    screen.text((koi.get_re(cmd='K31')[0]),5,40,3,(255, 255, 255))
    screen.text("Y:",5,70,2,(255, 255, 255))
    screen.text((koi.get_re(cmd='K31')[1]),5,90,3,(255, 255, 255))
    screen.refresh()
else:
    screen.fill((0, 0, 0))
    screen.text("No face",5,10,1,(255, 255, 255))
    screen.refresh()
sleep(0.5)

Machine Learning Image Classifier

Initiate Image Classifier

koi.init_cls()

Starts image classifier mode.

Save the Classifier Model

koi.cls_save_model(model,cmd="K43")

Saves the model to the SD Card.

  • model: The filename on the SD card.

Load a Classifier Model

koi.cls_load_model(model="abc.json",cmd="K44")

Loads the model from the SD Card.

  • model: The filename on the SD card.

Classifier Add Tag

koi.cls_add_tag(tag,cmd="K41")

Add an image tag.

  • tag: Name of the tag.

Run Image Classifier

koi.cls_run(cmd="K42")

Returns the tag for the classified object.

KOI Classifier Model Training Sample Program

from future import *
from futureKOI import KOI

items = []
i = 0

items.append('rock')
items.append('paper')
items.append('scissors')
i = 0
koi = KOI(tx='P2',rx='P12',id=1)
koi.init_cls()                                                      # init classifier
koi.screen_mode(2, cmd='K6')    
screen.sync = 0
while True:
screen.fill((0, 0, 0))
if sensor.btnValue("a") and sensor.btnValue("b"):
    koi.cls_save_model(model="model.json",cmd='K43')                # saves the classifier model
    buzzer.melody(1)
else:
    if sensor.btnValue("a"):
    sleep(0.2)
    if not sensor.btnValue("b"):
        koi.cls_add_tag(id=(items[int((i % 3 + 1) - 1)]),cmd='K41') # classifier add tag
        buzzer.melody(4)
    else:
    if sensor.btnValue("b"):
        sleep(0.2)
        buzzer.tone(440,0.2)
        if not sensor.btnValue("a"):
        i += 1
screen.text("Now training:",0,10,1,(255, 255, 255))
screen.text((items[int((i % 3 + 1) - 1)]),0,30,2,(255, 255, 255))
screen.text("Press A to add tag",0,60,1,(255, 255, 255))
screen.text("Press B for next tag",0,80,1,(255, 255, 255))
screen.text("Press A+B to save",0,100,1,(255, 255, 255))
screen.refresh()

KOI Image Classification Sample Program

from future import *
from futureKOI import KOI

koi = KOI(tx='P2',rx='P12',id=1)
koi.screen_mode(2, cmd='K6')
koi.init_cls()
koi.cls_load_model(model="model.json",cmd='K44')                    # loads the classifier model
while True:
if sensor.btnValue("a"):
    screen.clear()
    screen.text((koi.cls_run(cmd='K42')),5,10,2,(255, 255, 255))    # displays the classified tag
    screen.refresh()

Colour Blob and Line Tracking

Calibrate a Colour to Track

koi.color_cali(name ,cmd="K16")

Calibrates a colour to track.

  • name: The name for this colour.

Tracks a Colour Blob

koi.color_tracking(name="name", cmd="K15")
# returns [cx,cy,w,h,name]

Returns a list containing the values of the colour blob.

  • name: the name of the colour to track.

Obtain Colour Blob Values

koi.get_re(cmd="K15")[0] #cx
koi.get_re(cmd="K15")[1] #cy
koi.get_re(cmd="K15")[2] #w
koi.get_re(cmd="K15")[3] #h

Returns the specific value of the colour blob.

Blob Detection Sample Program

from future import *
from futureKOI import KOI

koi.screen_mode(2, cmd='K6')
koi = KOI(tx='P2',rx='P12',id=1)
while True:
if sensor.btnValue("a"):
    koi.color_cali(name="red" ,cmd='K16')
    sleep(0.3)
if sensor.btnValue("b"):
    if koi.color_tracking(name="red", cmd='K15'):
    screen.clear()
    screen.text((koi.get_re(cmd='K15')[0]),5,10,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K15')[1]),5,20,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K15')[2]),5,30,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K15')[3]),5,40,1,(255, 255, 255))
    screen.refresh()
    sleep(0.3)

Tracks a line

koi.line_tracking(name ,cmd="K12")
# returns [x1, y1, x2, y2, name]

Returns a list containing the values of the line.

  • name: the name of the colour to track.

Obtain Line Values

koi.get_re(cmd="K12")[0] #x1
koi.get_re(cmd="K12")[1] #y1
koi.get_re(cmd="K12")[2] #x2
koi.get_re(cmd="K12")[3] #y2

Returns the specific value of the line.

Line Detection Sample Program

from future import *
from futureKOI import KOI

koi.screen_mode(2, cmd='K6')
koi = KOI(tx='P2',rx='P12',id=1)
while True:
if sensor.btnValue("a"):
    koi.color_cali(name="red" ,cmd='K16')
    sleep(0.3)
if sensor.btnValue("b"):
    if koi.line_tracking(name="red" ,cmd='K12'):
    screen.clear()
    screen.text((koi.get_re(cmd='K12')[0]),5,10,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K12')[1]),5,20,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K12')[2]),5,30,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K12')[3]),5,40,1,(255, 255, 255))
    screen.refresh()
    sleep(0.3)

Shape Detection

Circle Detection

koi.circle_detect(threshold, cmd="K10")

Runs the circle detection.

  • threshold: The threshold for circle, typical value is about 2000, adjust to achieve best results.

Obtain Circle Values

koi.get_re(cmd="K10")[0] #cx
koi.get_re(cmd="K10")[1] #cy
koi.get_re(cmd="K10")[2] #r

Returns the specific value of the circle.

Rectangle Detection

 koi.rectangle_detect(th=4000,cmd="K11")

Runs the rectangle detection.

  • threshold: The threshold for rectangle, typical value is about 1000, adjust to achieve best results.

Obtain Rectangle Values

koi.get_re(cmd="K11")[0]
koi.get_re(cmd="K11")[1]
koi.get_re(cmd="K11")[2]
koi.get_re(cmd="K11")[3]

Returns the specific value of the rectangle.

Shape Detection Sample Program

from futureKOI import KOI
from future import *

koi.screen_mode(2, cmd='K6')
koi = KOI(tx='P2',rx='P12',id=1)
while True:
if sensor.btnValue("a"):
    if koi.circle_detect(th=4000, cmd='K10'):
    screen.clear()
    screen.text((koi.get_re(cmd='K10')[0]),5,10,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K10')[0]),5,20,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K10')[0]),5,30,1,(255, 255, 255))
    screen.refresh()
    sleep(0.3)
if sensor.btnValue("b"):
    if koi.rectangle_detect(th=4000,cmd='K11'):
    screen.clear()
    screen.text((koi.get_re(cmd='K11')[0]),5,10,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K11')[1]),5,20,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K11')[2]),5,30,1,(255, 255, 255))
    screen.text((koi.get_re(cmd='K11')[3]),5,40,1,(255, 255, 255))
    screen.refresh()
    sleep(0.3)

Code Scanner

QR Code Scanner

koi.scan_qrcode(cmd="K20")

Returns the QR Code data.

Barcode Scanner

koi.scan_barcode(cmd="K22")

Returns the Barcode data.

Apriltag Scanner

koi.scan_Apriltag(cmd="K23")

Runs the scanner for Apriltag.

Obtains Apriltag data

koi.get_re(cmd="K23")[0] #id
koi.get_re(cmd="K23")[1] #cx
koi.get_re(cmd="K23")[2] #cy
koi.get_re(cmd="K23")[3] #w
koi.get_re(cmd="K23")[4] #h

Returns the specific data of the Apriltag.

Code Scanner Sample Program

from future import *
from futureKOI import KOI

koi = KOI(tx='P2',rx='P12',id=1)
koi.screen_mode(2, cmd='K6')
while True:
if sensor.btnValue("a"):
    screen.clear()
    screen.text((koi.scan_qrcode(cmd='K20')),5,10,2,(255, 255, 255))
if sensor.btnValue("b"):
    screen.clear()
    screen.text((koi.scan_barcode(cmd='K22')),5,10,2,(255, 255, 255))

Wifi Connection

Connect to Wifi

koi.connect_wifi(router ,pwd ,cmd="K50")

Connects to a Wifi network.

  • router: The SSID.

  • pwd: The password.

Displays IP Address

koi.get_ip(cmd="K54")

Displays the IP Address.

BaiduAI

BaiduAI Face Recognition

koi.baiduAI_face_detect(cmd="K75")
# returns [face token, age, sex, mask, emotion]

Returns a list of values from the BaiduAI Face Recognition.

BaiduAI Face Token

koi.get_re(cmd="K75")[0]

Returns the face token.

BaiduAI Add Face to Group

koi.baiduAI_face_add(face_token="token" ,groupName="group" ,faceName="name" ,cmd="K76")

Adds the face token to a group.

  • face_token: The token to be added.

  • groupName: The group name.

  • faceName: The name of the person.

BaiduAI Search Face in Group

koi.baiduAI_face_search(face_token="token" ,groupName="group" ,cmd="K77")[0]

Searches the face in a group and returns the person name.

  • face_token: The token to be searched.

  • groupName: The group name.

BaiduAi Text to Speech

koi.baiduAI_tts(text ,cmd="K78")

Generates a speech using BaiduAI.

-text: The text to be spoken.

Wifi and Baidu TTS Sample Program

from future import *
from futureKOI import KOI

koi = KOI(tx='P2',rx='P12',id=1)
koi.screen_mode(2, cmd='K6')
koi.connect_wifi(router="apname" ,pwd="password" ,cmd='K50')
while True:
if sensor.btnValue("a"):
    koi.baiduAI_tts(txt='"hello"' ,cmd='K78')
    sleep(0.2)
if sensor.btnValue("b"):
    screen.clear()
    screen.text((koi.get_ip(cmd='K54')),5,10,1,(255, 255, 255))
    screen.refresh()
    sleep(0.2)

Audio

Record Wav File

koi.audio_record(name)

Record and saves the wav file to the SD card.

  • name: The file name in wav format.

Play Wav File

koi.audio_play(name)

Plays a wav file from the SD card.

  • name: The file name in wav format.

Calibrate Ambient Noise

koi.audio_noisetap()

Calibrates the ambient noise for speech recognition.

Speech Recognition Add Tag

koi.speech_add_tag(tag)

Adds a speech tag.

  • tag: The tag name.

Get Speech Recognition Tag

koi.speech_run(cmd="K65")

Runs the speech recognition and returns the tag.

Save Speech Model

koi.speech_save_model(file)

Saves the speech model to the SD card.

  • file: The filename.

Load Speech Model

koi.speech_load_model(file)

Loads a speech model.

  • file: The filename.

Speech Recognition Training Sample Program

from future import *
from futureKOI import KOI

items = []
i = 0


items.append('rock')
items.append('paper')
items.append('scissors')
i = 0
koi = KOI(tx='P2',rx='P12',id=1)
koi.audio_noisetap()
koi.screen_mode(2, cmd='K6')
screen.sync = 0
while True:
screen.fill((0, 0, 0))
if sensor.btnValue("a") and sensor.btnValue("b"):
    buzzer.melody(1)
    koi.speech_save_model("speech.json")
else:
    if sensor.btnValue("a"):
    sleep(0.2)
    if not sensor.btnValue("b"):
        koi.speech_add_tag((items[int((i % 3 + 1) - 1)]))
    else:
    if sensor.btnValue("b"):
        sleep(0.2)
        buzzer.tone(440,0.2)
        if not sensor.btnValue("a"):
        i += 1
screen.text("Now training:",0,10,1,(255, 255, 255))
screen.text((items[int((i % 3 + 1) - 1)]),0,30,2,(255, 255, 255))
screen.text("Press A to add tag",0,60,1,(255, 255, 255))
screen.text("Press B for next tag",0,80,1,(255, 255, 255))
screen.text("Press A+B to save",0,100,1,(255, 255, 255))
screen.refresh()

Speech Recognition Sample Program

from future import *
from futureKOI import KOI


koi = KOI(tx='P2',rx='P12',id=1)
koi.audio_noisetap()
koi.speech_load_model("speech.json")
while True:
if sensor.btnValue("a"):
    screen.clear()
    screen.text((koi.speech_run(cmd='K65')),5,10,2,(255, 255, 255))
    screen.refresh()

Miscellaneous

Reset KOI

koi.reset(cmd='k99')

Resets the KOI.

Stop Classifier and Face Yolo

koi.stop_kpu(cmd='k98')

Stops the KPU from running Classifier and Face Yolo.

PreviousProgramming with MicroPython: ASR Voice Recognition ModuleNextFirmware Updates

Last updated 1 year ago