Kittenbot HK Sharing Hub
  • 歡迎來到Kittenbot HK Sharing Hub
  • 擴展板
    • RobotBit Edu
      • Robotbit Edu 介紹
      • Robotbit底座
      • Robotbit Edu在Makecode上的編程
      • Robotbit Edu在Kittenblock編程
    • RobotBit 2.2
      • Robotbit 介紹
      • Robotbit底座
      • Robotbit 在Makecode上的編程
      • Robotbit 在Kittenblock編程
      • Robotbit Shield 擴展板
    • Robotbit EDU與Robotbit 2.2的分別
    • Newbit Arcade Shield
      • Newbit Arcade Shield擴展板
      • MakeCode Arcade編程教學
        • 使用Newbit Arcade Shield作為遙控器教學
      • MicroCode 編程教學
        • Newbit x Jacdac 玩法介紹
    • Armourbit擴展盒
    • JoyFrog micro:bit遙控
      • JoyFrog micro:bit遙控介紹
      • JoyFrog micro:bit遙控在MakeCode編程教學
      • JoyFrog micro:bit遙控在Kittenblock編程教學
    • SugarBox擴展盒
    • IOBit 入門擴展板
    • K-Watch 未來板擴展板
  • AI 功能模組
    • AI 鏡頭 KOI2
      • KOI 2介紹
      • MakeCode編程教學
        • KOI 2與MakeCode快速入門
        • 字串顯示
        • KOI按鍵編程
        • 拍照及顯示照片
        • 錄音與播放
        • 切換鏡頭方向
        • 色塊追蹤
        • 線條追蹤
        • 二維碼與條碼檢測
        • 人面口罩檢測
        • 人面屬性檢測
        • IoT物聯網
        • 機器學習圖像辨識 模型訓練
        • 機器學習圖像辨識 模型運行
        • 預載模型 路牌追蹤
        • 預載模型 數字追蹤
        • 預載模型 物件追蹤
        • 預載模型 三色球追蹤
        • 內存檔案操作
      • KittenBlock編程教學
        • KOI 2在KittenBlock編程快速入門
        • 字串顯示
        • KOI按鍵編程
        • 拍照與顯示照片
        • 錄音與播放
        • 切換鏡頭方向
        • 色塊追蹤
        • 線條追蹤
        • 二維碼與條碼檢測
        • 人面口罩檢測
        • 人面屬性檢測
        • 機器學習圖像辨識 模型訓練
        • 機器學習圖像辨識 模型運行
        • 預載模型 路牌追蹤
        • 預載模型 數字追蹤
        • 預載模型 物件追蹤
      • MicroPython編程教學
        • KOI 2在MicroPython編程快速入門
        • 基本操作
        • 色塊追蹤與線條追蹤
        • 掃碼模式
        • 人面追蹤
        • 圖像辨識
        • 預載追蹤模型
        • 自定義追蹤模型
      • KOI (KOI 1 & 2) 固件升級
        • KOI歷史固件一覽
      • KOI 2 串口指令API
      • KOI x 未來板 DeepSeek 聯乘玩法
    • AI鏡頭KOI
      • KOI錦鯉介紹
      • Makecode上KOI各種功能編程指引
        • KOI與MakeCode快速入門
        • Armourbit與Robotbit快速開始
        • A與B鍵應用
        • 螢幕顯示自定資訊
        • LCD 方向設定
        • 影像截圖與顯示
        • 錄音與播放
          • 使用電腦製作KOI音頻檔
        • 讀取條碼Bar Code 及 二維碼QR Code
        • 圓形追踪
        • 方形追踪
        • 顏色檢測追蹤
        • 線條檢測追蹤
        • 人臉檢測追蹤
        • 機器學習–自定義物件識別(模型訓練)
        • 機器學習–自定義物件識別(物件辨識)
        • 語音識別 (固件版本: v1.9.5或之後)
        • 語音辨識儲存模型 (固件版本: v1.12.0或之後)
        • 語音辨識模型運行 (固件版本: v1.12.0或之後)
        • IoT物聯網 (固件版本: v1.9.5或之後)
        • 獲取網絡時間 (固件版本: v1.12.0或之後)
        • 人面辨識 (固件版本: v1.9.5或之後)
        • 文字變語音 (固件版本: v1.9.5或之後)
      • KOI與未來板各種功能編程指引
        • 未來板與KOI使用快速入門
        • 未來板KOI編程教學1:基本操作
        • 未來板KOI編程教學2:人臉偵測
        • 未來板KOI編程教學3:圖像辨識
        • 未來板KOI編程教學4:顏色追蹤
        • 未來板KOI編程教學5:形狀追蹤
        • 未來板KOI編程教學6:掃碼
        • 未來板KOI編程教學7:網絡與百度
        • 未來板KOI編程教學8:語音相關
      • KOI指令API
      • Kittenblock與Micropython編程
        • KOI在KittenBlock編程快速開始
        • KOI MicroPython編程快速入門(需要SD卡)
        • KOI MicroPython API
      • KOI固件更新
        • KOI固件版本一覽
        • KOI固件更新教學
        • KOI固件清除教學
        • KOI Wifi固件更新
    • Sugar ASR語音模組
      • Sugar ASR語音模組介紹
      • 語音模組 編程教學
      • 語音模組自定義命令詞教學
      • 語音模組 指令列表
      • 語音模組 免編程通電即玩
    • Sugar Cam AI模式
  • Wifibrick與IoT方案
    • Wifibrick
      • Wifibrick 介紹
      • WifiBrick固件更新
    • IoT平台介紹
      • ThingSpeak
      • MakerCloud創客雲
      • ObjectBlocks
      • Kittenblock內置IoT平台
    • 針對各平台MakeCode編程
      • WifiBrick連接網絡
      • Makecode 編程與ThingSpeak
      • Makecode 編程與MakerCloud
      • Makecode 編程與ObjectBlocks
      • Makecode 編程與Kittenblock內置IoT平台
      • Makecode 編程與Kittenbot自家IoT平台
    • 未來板與各IoT平台編程教學
      • 未來板與ThingSpeak編程快速入門
      • 未來板與MakerCloud編程快速教學
      • 未來板與ObjectBlocks編程教學
    • IFTTT設定教學
      • MakerCloud x IFTTT應用教學
      • ThingSpeak x IFTTT應用教學
    • 各IoT平台與MIT AI2編程教學
  • 各種功能模組
    • Powerbrick魔塊
      • Armourbit擴展盒
      • 電池盒
      • 溫濕度魔塊
      • 泥土濕度魔塊
      • 水位雨水測試魔塊
      • 超聲波聲音魔塊
      • 雙路巡線魔塊
      • AB按鈕魔塊
      • 顏色及手勢魔塊
      • RFID探測魔塊
      • 8x8 LED 全彩魔屏
      • MP3播放魔塊
      • 非接觸式紅外線測溫魔塊
      • OLED顯示屏魔塊
      • PowerBrick模組在MakeCode上編程(Armourbit)
      • PowerBrick模組在MakeCode上編程(Robotbit)
    • Sugar系列模組
      • Sugar 按鍵模組
      • Sugar 人體紅外感應模組
      • Sugar 巡線模組
      • Sugar 磁力感應模組
      • Sugar LED模組
      • Sugar 電位器模組
      • Sugar 火焰感應模組
      • Sugar 光敏感應模組
      • Sugar 雨滴水位模組
      • Sugar 土壤濕度模組
      • Sugar 溫濕度模組
      • Sugar 搖桿模組
      • Sugar 激光測距模組
      • Sugar ASR語音模組
      • Sugar二期 燈串模組
      • Sugar二期 震子模組
      • Sugar二期 雷射模組
      • Sugar二期 環境氣壓模組
      • Sugar二期 碰撞模組
      • Sugar二期 水溫模組
      • Sugar二期 蜂鳴器模組
      • Sugar二期 觸碰模組
      • Sugar二期 數碼顯示模組
      • Sugar二期 I2C分線模組
      • Sugar二期 灰度感應器模組
      • Sugar二期 聲音感應模組
      • Sugar二期 Sugar Cam
        • Sugar Cam使用教學: 指令模式(預設)
          • Sugar Cam功能教學: 二維碼掃描
          • Sugar Cam功能教學: 語音辨識
          • Sugar Cam功能教學: 拍照與MP3播放
          • Sugar Cam功能教學: 未來板圖傳
          • Sugar Cam功能教學: KittenBlock編程
          • Sugar Cam功能教學: KittenBlock內置AI
        • Sugar Cam使用教學: 遙控鏡頭模式(進階)
          • Sugar Cam功能教學: 網頁圖傳及遙控
          • Sugar Cam功能教學: 網頁介面自訂
        • Sugar Cam使用教學: AI模式(進階)
          • Sugar Cam功能教學: Teachable Machine模型訓練
          • Sugar Cam功能教學: 結合Teachable Machine與MakeCode編程
        • 串口指令集
      • Sugar二期 霧化器模組
      • Sugar二期 二氧化碳感應器模組
      • Sugar二期 太陽能電源管理模組
      • Sugar二期 稱重模組
        • 校正數值使用教學
      • Sugar 二期紫外線感應模組
      • Sugar 二期RFID感應模組
      • Sugar 二期數字鍵盤模組
      • Sugar 二期RGB燈圈模組
    • 污水混濁度感應器
    • pH值感應器Plus
    • PM2.5 感應器
    • KittenClock時鐘模組
    • 手指模辨識模組
    • All in 1水箱連水泵組合
    • 貓耳超聲波3.0
    • Mini LED Tube
    • Geekservo風扇
    • FM收音機模組
    • RGB LED燈條和燈板
      • 全彩LED燈條
      • 流光溢彩屏
        • 流光溢彩屏介紹
        • 流光溢彩屏之Neopixel教程
        • 流光溢彩屏之Neopixel矩陣教程
        • 流光溢彩屏之Neopixel串聯教程
        • 流光溢彩屏之靜態效果教程
        • 0832溢彩屏之動態效果教程
        • 1616溢彩屏之動態效果教程
    • pH酸鹼值探測組合(舊版)
      • pH酸鹼值探測組合
      • pH酸鹼值探測組合+Micro:bit編程教學
      • pH酸鹼值探測組合+未來板Lite配對使用教學
      • 轉接模組校正(重新較正用)
      • pH緩衝液準備教學(重新較正用)
      • pH探測棒重新校正(重新較正用)
    • 昔日感應器
      • 數碼按鈕
      • 電位器模組
      • 光度感應器模組
      • 火焰感應器模組
      • 土壤濕度感應器模組
      • 水位感應器模組
      • 磁場感應器模組
      • 滑動式電位器模組
      • 聲音感應模組
      • 紅外線感應模組
      • RGB彩燈模組
      • 五路巡線傳感器
      • 貓耳超聲波
  • 各款電機與舵機
    • Geekservo 9g電機
    • Geekservo 9g舵機
    • GeekServo 2KG電機
    • GeekServo 2KG舵機
    • 機械爪
    • T/T減速直流電機
    • Geek Motor O360 續轉舵機
    • 高速直流電機
    • 9g小舵機
  • Microsoft Jacdac 系列
    • Jacdac介紹
    • Jacdac 硬件
      • Jacdac MakeCode編程快速開始
      • Jacdac MicroCode快速開始
      • KittenBot JacDac新手套件A
        • Jacdapter
        • Jacdac滑動電位器模組
        • Jacdac旋鈕鍵
        • Jacdac RGB燈圈
        • Jacdac按鍵模組
        • Jacdac磁石感應器
        • Jacdac光敏感應器模組
        • Jacdac分線器
      • KittenBot Jacdac新手套件B
        • Jacdac 電源模組
        • Jacdac 震動模組
        • Jacdac 陀螺儀模組
        • Jacdac 繼電器模組
        • Jacdac 環境溫濕度模組
        • Jacdac RGB燈帶模組
        • Jacdac 舵機模組
        • Jacdac 超聲波模組
      • Jacdac Duckybot套件
        • Duckybot 模型組裝及教學
          • Duckybot 模型組裝說明書
          • 叫醒鴨子 參考程式
          • 溫濕度檢測 參考程式
          • 跌到檢測 參考程式
          • 跟隨小鴨 參考程式
          • Jacdac MakeCode編程快速開始
  • 主控板
    • BBC Micro:bit第二代介紹
    • 未來板
      • 未來板介紹
        • 未來板介紹
        • FutureOS操作指引
      • 未來板KittenBlock編程教學
        • 未來板Kittenblock編程快速入門
        • 未來板感應器KittenBlock編程教學
        • 未來板蜂鳴器KittenBlock編程教學
        • 未來板顯示屏KittenBlock編程教學
        • 未來板海龜繪圖KittenBlock編程教學
        • 未來板引腳KittenBlock編程教學
        • 未來板NeoPixel彩燈KittenBlock編程教學
        • 未來板IoT KittenBlock編程教學
        • 未來板麥克風KittenBlock編程教學
        • 未來板無綫通訊KittenBlock編程教學
        • 未來板Robotbit KittenBlock編程教學
        • 未來板Powerbrick魔塊 KittenBlock編程教學
        • 未來板Sugar方塊 KittenBlock編程教學
        • 未來板天文台API KittenBlock編程教學
        • 未來板KMB到站時間API KittenBlock編程教學
      • 未來板MicroPython編程教學
        • 未來板MicroPython快速開始
        • 未來板MicroPython編程1:屏幕
        • 未來板MicroPython編程2:板載感應器
        • 未來板MicroPython編程3:蜂鳴器
        • 未來板MicroPython編程4:海龜繪圖
        • 未來板MicroPython編程5:引腳
        • 未來板MicroPython編程6:彩燈
        • 未來版MicroPython編程7:WiFi與物聯網
        • 未來版MicroPython編程8:網絡時間
        • 未來版MicroPython編程9:I2S麥克風
        • 未來板MicroPython編程10:無綫通訊
        • 未來板MicroPython編程11:RobotBit
        • 未來板MicroPython編程12:取得開放API數據
        • 未來板MicroPython編程13:I2C
        • 未來板MicroPython編程14:Sugar模組與Powerbrick魔塊
        • 未來板MicroPython編程15:ASR 語音模組
        • 未來板MicroPython編程16:KOI
      • 更新與重置
        • 未來板固件更新
        • 未來板固件一覽
        • 重置未來板
    • 未來板Lite
      • 未來板Lite介紹
      • 未來板Lite 硬件簡介
      • Kittenblock編程教學
        • 快速開始
        • 點陣模式
        • 全彩像素模式
        • 海龜繪圖
        • 板載感應器
        • 蜂鳴器
        • RGB彩燈
        • 電機與舵機
        • 無綫通訊
        • IoT物聯網
        • AI鏡頭KOI 2
    • Meowbit喵比特
      • Meowbit介紹
      • MeowBit操作教學
      • Meowbit編程教學
        • Meowbit MakeCode編程快速入門
        • MeowBit教學影片
        • Meowbit Kittenblock編程快速入門
        • MeowBit的光度感應器
        • Meowbit的陀螺儀
        • Meowbit的溫度感應器
        • Meowbit的引腳編程
        • MeowBit無綫通訊SD模組
        • Meowbit與Robotbit
        • Meowbit的燈條編程
        • Meowbit與IOBit
        • Meowbit與海龜繪圖(Kittenblock)
        • Meowbit顯示屏(Kittenblock)
        • Meowbit MicroPython編程快速入門
        • Meowbit MicroPython API
    • Nanobit
      • Nanobit介紹
      • Nanobit在MakeCode編程
      • Nanobit Shield擴展板
  • 教育套件
    • Microbit發明家套件
      • Micro:bit發明家套件介紹
      • Micro:bit 發明家套件模型案例教學
        • 紅綠燈
        • 防火警報
        • 生日蠟燭
        • 電子閘門
        • 智能晾衣架
        • 種植小助手
        • 模擬收音機
        • 節拍機
        • 搶答機
        • 小夜燈
        • 恒温風扇
        • 怕光殭屍
        • 三輪送貨車
        • 遙控三輪車
        • 保險箱
        • 鋼琴拉奏
      • Micro:bit 發明家套件 KOI 2 升級案例
        • 口罩偵測閘門
        • 人面圖像辨識保險箱
        • 人面追蹤風扇
        • AI 道路管理系統
        • 自動駕駛小車
      • Micro:bit 發明家套件 - IoT升級案例
        • 發明家套件IoT升級案例一覽
        • IoT智能路燈
        • IoT智能晾衣架
        • IoT智能閘門
        • IoT智能門鎖
        • IoT智能夾萬
        • IoT智能防火警報
      • Micro:bit 發明家套件 - 語音控制案例
        • 發明家套件語音控制案例一覽
        • 語音操控電風扇
        • 語音操控晾衣架
        • 語音操控小夜燈
        • 語音操控智能家電
      • Micro:bit 發明家套件 - AI升級案例
        • 發明家套件AI升級案例一覽
        • 聲控智能晾衣架
        • AI道路管理系統
        • 芝麻閘門
        • AI人面追蹤風扇
        • 生物辨識保險箱
    • PowerBrick
      • PowerBrick產品介紹
      • PowerBrick十合一模型組裝資料
        • PowerBrick積木零件清單
        • 手勢控制機械臂說明書
        • 大咀鴨說明書
        • 巡線清潔車說明書
        • 恐龍王說明書
        • 搖擺機械人說明書
        • 智能垃圾箱說明書
        • 智能拍卡大閘說明書
        • 氣候滙報機說明書
        • 顏色分辨機說明書
        • 風車說明書
    • 數碼教育新世代STEAM專題套件
      • 基礎啟動
        • Robotbit V2.2
        • Geekservo 9g舵機
        • 貓耳超聲波
      • 動感擴展
        • Geekservo 9g電機
        • Sugar LED模組
      • 感測擴展
        • Sugar 土壤濕度模組
        • All in 1水箱連水泵組合
        • Sugar二期 水溫模組
        • 污水混濁度感應器
    • KOI AI 氣墊球
    • Micro:bit氣動火箭發射實驗套件
      • 套件內容
      • 搭建說明書與參考程式
    • 智感培植系統 SenseGreen Nurture Hub
      • 說明書與參考程式
      • IoT版說明書與參考程式
    • 智能氣象站套件
      • 智能氣象站介紹
      • 語音氣象站模型案例教學
        • 完整氣象站
        • 亮度感測儀
        • 溫濕度感應儀
        • 氣壓計
        • 雨量計
        • 風向計
        • 風速儀
      • 物聯氣象站模型案例教學
        • 完整氣象站
        • 亮度感測儀
        • 溫濕度感應儀
        • 氣壓計
        • 雨量計
        • 風向計
        • 風速儀
      • 智能氣象站模型說明書
        • 完整氣象站說明書
        • 亮度檢測儀說明書
        • 溫濕度感應儀/氣壓計說明書
        • 雨量計說明書
        • 風向計說明書
        • 風速儀說明書
      • SugarBox 版本
        • Sugar Box物聯氣象站介紹
        • 氣象站 SugarBox模型案例教學
          • SugarBox整合氣象站
          • SugarBox亮度感測儀
          • SugarBox溫濕度感應儀
          • SugarBox氣壓計
          • SugarBox雨量計
          • SugarBox風向計
          • SugarBox風速儀
    • MicroCode探險家
      • 最新Microsoft MicroCode
      • MicroCode 編程教學
      • 參考挑戰題目
        • 1. 動態心情
        • 2. 包剪揼
        • 3. 聲控燈
        • 4. 開關燈掣
        • 5. 氣氛燈調節器
        • 6. 計步器
        • 7. 磁力骰仔
        • 8. 滑動心情
        • 9. 終極測試
    • AI衛生防疫套件
      • AI衛生防疫套件介紹
      • AI衛生防疫套件組裝資料(KOI 1)
        • AI酒精搓手液機說明書
        • 手提探溫槍說明書
        • 自動追踪探溫器說明書
        • 防疫用品指揮官說明書
        • 口罩佩戴偵測器說明書
        • 無按鈕電梯說明書
        • 非接觸式門鈴說明書
        • 無人外賣車說明書
        • 智能模擬UV消毒燈說明書
        • AI衛生防疫套件積木零件清單
      • AI衛生防疫套件組裝資料(KOI 2)
        • AI酒精搓手液機說明書
        • 自動追踪探溫器說明書
        • 防疫用品指揮官說明書
        • 口罩佩戴偵測器說明書
        • 無按鈕電梯說明書
        • 非接觸式門鈴說明書
        • 無人外賣車說明書
        • 無人消毒車說明書
        • 智能模擬UV消毒燈說明書
        • 手提探溫槍說明書
        • AI衛生防疫套件積木零件清單
    • 未來板 物聯未來教學套件
      • 物聯未來教學套件介紹
      • 物聯未來教學套件組裝說明書
        • 天氣小助手
        • 迎賓機械人
        • 倒數鬧鐘
        • 保險夾萬
        • 智能路燈
        • 激光測距槍
        • 無人小車
        • 智慧停車場
        • 物聯未來套件 積木清單
    • AI/AIoT 智能回收箱套件
      • AI/AIoT 智能回收箱套件
      • AI/AIoT 智能回收箱安裝說明書
      • AI/AIoT 智能回收箱套件教學(KOI 1)
      • AI/AIoT 智能回收箱套件教學(KOI 2)
    • 智能漂書櫃教育版
      • 智能漂書櫃教育版介紹
      • 智能漂書櫃教育版組裝資料
        • 搭建說明書
        • Micro:bit範例程式(KOI 2)
        • MakerCloud創客雲設定教學
        • AI2手機應用程式設定教學
        • 未來板範例程式
        • Micro:bit範例程式(KOI 1)
    • MRSTEMer Micro:bit AI 編程大賽 - 尋找中華瑰寶比賽場地
    • MRSTEMer Micro:bit AI 編程大賽 - 尋找中華瑰寶套件
    • IoT Make Easy智能家居學習套件
      • IoT Make Easy智能家居學習套件介紹
      • IoT Made Easy智能家居學習套件使用說明書
        • MakerCloud平台設定
        • IoT Made Easy之MakerCloud x IFTTT應用教學
        • ObjectBlocks平台設定教學
        • Thingspeak平台設定教學
        • 安全爐具
        • 搖控窗戶
        • 平安浴缸
        • 防浸洗手盤
    • 工業4.0倉庫貨物管理系統
      • 工業4.0倉庫貨物管理系統
      • 倉庫貨物管理系統組裝說明書
        • 倉庫貨物管理系統搭建說明書
        • 倉庫貨物管理系統Micro:bit參考程式
        • 工業4.0倉庫貨物管理系統未來板參考程式
        • 平台設定教學
    • 工業4.0機械臂
      • 機械臂Microbit參考程式
      • 機械臂未來板參考程式
    • AI無人商店系統
    • AIoT Starter Kit套件
      • AIOT Starter Kit介紹
      • AIoT Starter Kit組裝資料
        • 前言
        • 自動晾衣架
        • 智能節能路燈
        • 防溢垃圾桶
        • 本地簡易氣象站
        • 智能化健身啞鈴
        • 智能澆花裝置
        • 智能卧室
        • 無感支付停車場
        • 智能大門
        • 猜拳游戲
        • AIoT Starter Kit積木零件清單
    • KittenBot體適能測試套件
      • KittenBot體適能測驗套件介紹
      • 1. 掌上壓測試
      • 2. 臥仰起坐測試
      • 3. 座地前伸
      • 4. Y平衡測試
      • 5. 平板支撐
    • SumoBot 12合1套件
      • SumoBot 12合1套件介紹
      • SumoBot 12合1套件模型組裝資料
        • SumoBot 12合1套件積木零件清單
        • 相撲小子
        • 奪旗小子
        • 搬運小子
        • 巨拳螳螂
        • 風馳電掣
        • 機靈捕手
        • 狂暴角龍
        • 相撲選手
        • 足球小將
        • 路障剋星
        • 戰爭炮台
        • 智能紙巾機
    • MR STEMER 3合1格鬥小車套件
      • MR STEMER 3合1格鬥小車套件介紹
      • MR STEMER 3合1格鬥小車套件模型組裝資料
        • MR STEMER 3合1格鬥小車套件積木零件清單
        • 相撲小子
        • 奪旗小子
        • 搬運小子
    • Robotbit基礎小車
      • Robotbit基礎小車介紹
      • 模型搭建說明書
      • 遙控小車
      • 巡線小車
      • 避障小車
    • 四驅麥輪車
      • 四驅麥輪車套件介紹
      • 四驅麥輪車模型組裝資料
        • 基礎麥輪車
        • 麥輪炮台車
    • 四驅麥輪車2KG版
      • 四驅麥輪車2KG版介紹
      • 四驅麥輪車2KG版搭建說明書
      • 參考程式與套件教學
    • 全地形越野遙控坦克
      • 全地形越野遙控坦克介紹
      • 全地形越野遙控坦克搭建說明書
      • 全地形越野遙控坦克參考程式
    • MR STEMer Kart Lite套件
    • Meowbit發明家套件
      • Meowbit發明家套件介紹
      • Meowbit發明家套件組裝資料
        • Meowbit發明家套件積木零件清單
        • 1. 計步裝置
        • 2. 拔河比賽
        • 3. 硬幣收藏家
        • 4. 灌籃高手
        • 5. 鋼琴大師
        • 6 聲控彩燈
        • 7. 防噪窗
        • 8. 巡邏智械
        • 9. 避障智貓
        • 10. 智能停車系統
    • 紙電路套件
      • 紙電路教學套件介紹
      • 紙電路教學套件零件清單
    • Robotbit機械臂
    • OTTO機械人
    • TabbyBot AI編程小車套件
      • TabbyBot編程小車 編程快速入門
      • TabbyBot膽小小車 編程教學
      • TabbyBot 燈光匯演 編程教學
      • TabbyBot自動避障小車 編程教學
      • TabbyBot巡線小車 編程教學
    • Robotbit差速車
      • 差速遙控小車 搭建說明書與參考程式
      • 升級案例 KOI 2自動導航泊車
        • 自動導航泊車 參考程式
    • Robotbit 大班教學套件(已停產)
  • 各編程平台介紹
    • 最新Microsoft MicroCode
    • MakeCode編程平台教學
      • KittenBot產品與MakeCode
      • Makecode插件版本更換
      • 在平板電腦上使用MakeCode對Micro:bit編程
    • Kittenblock大全
      • 在線版KittenBlock
        • 全新在線版Kittenblock介紹
        • 全新AI功能使用教學
          • KittenBlock帳戶管理
          • 語音合成(Text To Speech)
          • 語音辨識(Speech to Text)
          • 圖像辨識(Image Recognition)
          • 人面辨識(Face Recognition)
          • 文字辨識(Optical Character Recognition)
          • 車牌辨識
          • 大模型聊天機械人
          • 語境
          • Kittenbot機器學習
      • 安裝版KittenBlock
        • Kittenblock安裝
        • 完整移除KittenBlock 1.88
        • Kittenblock介面介紹
          • Kittenblock主介面與工具欄
          • 編程積木欄
          • 積木編程區
          • 舞台
        • KittenBlock與Micro:bit教學
          • 在Kittenblock連接Micro:bit
          • 在Kittenblock使用Micro:bit
        • Kittenblock功能一覽
          • Kittenblock VS Scratch 3.0
          • Kittenblock自家功能逐個捉
            • 內置Python編輯器
            • KittenBlock硬件文件管理
            • 繪製接線圖功能
          • 在Kittenblock學習Python 3
          • Kittenblock內的插件
            • 視訊偵測插件
            • 文字翻譯插件
            • 文字轉語音插件
            • IOT(物聯網)插件
            • AI類插件
              • FaceAI插件
              • 百度大腦插件
    • KittenCode大全
      • KittenCode介紹
      • KittenCode操作指引
      • KittenCode快速測試
  • Kittenbot模組與Bricklink Studio
  • 科學教育測量系列
    • 支架搭建圖
    • 科學實驗清單
    • 1.聲音測量
    • 2.紫外線測量
    • 3.二氧化碳測量
    • 4.懸浮粒子測量
    • 5.水溫測量
    • 6.污水混濁度測量
    • 7.pH酸鹼值測量
      • pH值感應器未來板Lite配對使用教學
    • 8.電子磅
    • 未來板Lite操作教學
    • 未來板Lite 程式復原教學
  • Kittenbot HK Sharing Hub English
Powered by GitBook
On this page
  • 搭建說明書
  • 接線圖
  • KOI接線圖
  • 舵機接線圖
  • 套件內容
  • 額外所需物資
  • 操作教學
  • 示範短片
  • 參考程式
  1. 教育套件

KOI AI 氣墊球

Last updated 5 months ago

AI氣墊球機械人會自動追蹤圓球並防守龍門,結合了人工智能技術和玩樂元素。

學生可以透過與KOI人工智能競技,從遊戲中了解現今機器視覺的原理,激發對人工智能的興趣。

更高階的學生更可以透過Python編程編寫自己的AI氣墊球機械人。

搭建說明書

接線圖

KOI接線圖

舵機接線圖

套件內容

  1. Robotbit 2.2連底座 *1

  2. KOI 2 AI鏡頭 *1

  3. GeekServo 2KG灰色舵機 *2

  4. 積木件 *1套

  5. 氣墊球機 *1

  6. KOI連接線 *1

  7. 1m USB線 *1

  8. 18650鋰電池 *1

額外所需物資

  • USB移動式電源 或

  • USB 5V充電器

操作教學

打開Robotbit電源後,KOI會追蹤並阻擋紅色球片。

示範短片

參考程式

出廠時KOI已經預載參考程式,如有需要請用KittenCode載入此py檔上載至KOI。

import sensor, image, time, lcd, utime
import math, ustruct
from maix import KPU, GPIO, I2S
from machine import UART, I2C

from fpioa_manager import fm

import gc

grid = [
    (56,74),(96,74),(137,72),(179,70),(220,68),(262,67),
    (52,113),(94,116),(136,112),(179,109),(222,107),(264,104),
    (51,157),(93,156),(139,154),(181,151),(227,150),(269,147),
]

PCA9685_ADDRESS    = 0x40
MODE1              = 0x00
MODE2              = 0x01
SUBADR1            = 0x02
SUBADR2            = 0x03
SUBADR3            = 0x04
PRESCALE           = 0xFE
LED0_ON_L          = 0x06
LED0_ON_H          = 0x07
LED0_OFF_L         = 0x08
LED0_OFF_H         = 0x09
ALL_LED_ON_L       = 0xFA
ALL_LED_ON_H       = 0xFB
ALL_LED_OFF_L      = 0xFC
ALL_LED_OFF_H      = 0xFD

S1 = 0x1
S2 = 0x2
S3 = 0x3
S4 = 0x4
S5 = 0x5
S6 = 0x6
S7 = 0x7
S8 = 0x8

RESTART            = 0x80
SLEEP              = 0x10
ALLCALL            = 0x01
INVRT              = 0x10
OUTDRV             = 0x04
RESET              = 0x00

positions = [
    [240, 195], [235, 175], [220, 155], [210, 135], [190, 125], [160, 115],
    [260, 190], [250, 165], [235, 145], [220, 125], [195, 105], [170, 95],
    [285, 190], [275, 170], [250, 140], [220, 105], [195, 85], [170, 70]
]


class RobotBit:

    def __init__(self):
        self.address = PCA9685_ADDRESS
        self.i2c = I2C(I2C.I2C0, freq=400000, scl=17, sda=14, addr_size=7)
        self.i2c.writeto(self.address, bytearray([MODE1, RESET])) # reset not sure if needed but other libraries do it
        self.i2c.writeto(self.address, bytearray([MODE1, RESET]))
        self.i2c.writeto(self.address, bytearray([MODE2, OUTDRV]))
        self.i2c.writeto(self.address, bytearray([MODE1, ALLCALL]))
        time.sleep_ms(5)
        mode1 = self.i2c.readfrom_mem(self.address, MODE1, 1)[0]
        mode1 = mode1 & ~SLEEP  # wake up (reset sleep)
        self.i2c.writeto(self.address, bytearray([MODE1, mode1]))
        time.sleep_ms(5)
        self.set_pwm_freq(50)
        self.inited = True
    
    def set_pwm_freq(self, freq_hz):
        """Set the PWM frequency to the provided value in hertz."""
        prescaleval = 25000000.0    # 25MHz
        prescaleval /= 4096.0       # 12-bit
        prescaleval /= float(freq_hz)
        prescaleval -= 1.0
        prescale = int(math.floor(prescaleval + 0.5))
        oldmode = self.i2c.readfrom_mem(self.address, MODE1, 1)[0]
        newmode = (oldmode & 0x7F) | 0x10    # sleep
        self.i2c.writeto(self.address, bytearray([MODE1, newmode]))
        self.i2c.writeto(self.address, bytearray([PRESCALE, prescale]))
        self.i2c.writeto(self.address, bytearray([MODE1, oldmode]))
        time.sleep_ms(5)
        self.i2c.writeto(self.address, bytearray([MODE1, oldmode | 0x80]))


    def set_pwm(self, channel, on, off):
        """Sets a single PWM channel."""
        if not self.inited:
            self.initRobotBit()
        if on is None or off is None:
            data = self.i2c.mem_read(4, self.address, LED0_ON_L+4*channel)
            return ustruct.unpack('<HH', data)
        self.i2c.writeto(self.address, bytearray([LED0_ON_L+4*channel, on & 0xFF]))
        self.i2c.writeto(self.address, bytearray([LED0_ON_H+4*channel, on >> 8]))
        self.i2c.writeto(self.address, bytearray([LED0_OFF_L+4*channel, off & 0xFF]))
        self.i2c.writeto(self.address, bytearray([LED0_OFF_H+4*channel, off >> 8]))

    def geekServo(self, index, degree):
        # 50hz: 25,000 us
        # 500~2650us->0~360
        # v_us = degree * 50 / 9 +500
        v_us = 200/36*degree + 500  # calibrated
        value = int(v_us*4096/20000)
        self.set_pwm(index+7, 0, value)


class AirHockey:

    def __init__(self):
        self.thresholdMap = {
            'red': [30,100,15,127,15,127],
            'blue': [0,50,-64,64,-127,-20],
            'red2': [29,98,-9,57,0,47]
        }
        sensor.reset()
        sensor.set_pixformat(sensor.RGB565)
        sensor.set_framesize(sensor.QVGA)
        lcd.init()
        lcd.rotation(0)
        lcd.clear()
        sensor.set_vflip(True)
        sensor.run(1)
        sensor.skip_frames(time = 2000)
        self.displayGrid()
        self.cachedPosition = []
        self.t0 = time.ticks_ms()
        self.lastIndex = -1
        self.robo = RobotBit()

    def displayGrid(self):
        self.img = sensor.snapshot()
        for i in range(len(grid)):
            self.img.draw_cross(grid[i][0],grid[i][1],5,color=(0,255,0))
        lcd.display(self.img)

    def colorCalibrate(self, key, r=[(320//2)-(50//2), (240//2)-(50//2), 50, 50]):
        for i in range(60):
            self.img = sensor.snapshot()
            self.img.draw_string(40, 0, "put the color\nin the rect", scale=2,color=(0,255,0))
            self.img.draw_rectangle(r)
            lcd.display(self.img)

        threshold = [50, 50, 0, 0, 0, 0] # Middle L, A, B values.
        for i in range(60):
            self.img = sensor.snapshot()
            self.img.draw_string(40, 0, "be learning...", scale=2,color=(0,255,0))
            hist = self.img.get_histogram(roi=r)
            lo = hist.get_percentile(0.01) # Get the CDF of the histogram at the 1% range (ADJUST AS NECESSARY)!
            hi = hist.get_percentile(0.99) # Get the CDF of the histogram at the 99% range (ADJUST AS NECESSARY)!
            # Average in percentile values.
            threshold[0] = (threshold[0] + lo.l_value()) // 2
            threshold[1] = (threshold[1] + hi.l_value()) // 2
            threshold[2] = (threshold[2] + lo.a_value()) // 2
            threshold[3] = (threshold[3] + hi.a_value()) // 2
            threshold[4] = (threshold[4] + lo.b_value()) // 2
            threshold[5] = (threshold[5] + hi.b_value()) // 2
            for blob in self.img.find_blobs([threshold], pixels_threshold=100, area_threshold=100, merge=True):
                self.img.draw_rectangle(blob.rect())
                self.img.draw_cross(blob.cx(), blob.cy())
                self.img.draw_rectangle(r)
            lcd.display(self.img)
        self.thresholdMap[key] = threshold
        print(threshold)
    

    def getPosition(self, x, y):
        # calculate the closest grid index
        minDist = 100000
        minIndex = -1
        for i in range(len(grid)):
            dist = (grid[i][0]-x)**2 + (grid[i][1]-y)**2
            if dist < minDist:
                minDist = dist
                minIndex = i
        return minIndex
    

    def setPositon(self, index):
        pos = positions[index]
        self.robo.geekServo(S8, pos[1])
        self.robo.geekServo(S7, pos[0])
        
    def colorTrack(self,key='red'):
        cx=-1
        cy=-1
        maxArea = 0
        #([self.thresholdMap[key]], pixels_threshold=100, area_threshold=100, merge=True, margin=10)
        for blob in self.img.find_blobs([self.thresholdMap[key]], pixels_threshold=200, area_threshold=200, merge=True, margin=10):
            self.img.draw_rectangle(blob.rect())
            self.img.draw_cross(blob.cx(), blob.cy())
            cx = blob.cx()
            cy = blob.cy()
            if blob.rect()[2] * blob.rect()[3] > maxArea:
                maxArea = blob.rect()[2] * blob.rect()[3]
        return (cx, cy)

    def tick(self):
        self.img = sensor.snapshot()
        (rx, ry) = self.colorTrack('red')
        if rx == -1:
            self.cachedPosition = []
            lcd.display(self.img)
            self.setPositon(8)
            return
        index = self.getPosition(rx, ry)
        self.img.draw_cross(grid[index][0],grid[index][1],5,color=(0,255,0))
        print(index)
        # print history lines
        for i in range(len(self.cachedPosition)):
            self.img.draw_cross(self.cachedPosition[i][0], self.cachedPosition[i][1],color=(0,100,200))
        lcd.display(self.img)
        self.setPositon(index)
        self.cachedPosition.append((rx,ry))
        if len(self.cachedPosition) > 10:
            self.cachedPosition.pop(0)

    def run(self):
        while True:
            self.tick()
            time.sleep_ms(50)
            gc.collect()


ak = AirHockey()
#ak.colorCalibrate(key='red2')
ak.run()

舵機校正

下載說明書
8KB
main.py