HackMD
  • API
    API  HackMD API beta testing
    HackMD API is now in beta, join us for a test drive.
    Getting started Got it
    • API  HackMD API beta testing
      API  HackMD API beta testing
      HackMD API is now in beta, join us for a test drive.
      Getting started Got it
      • Options
      • Versions and GitHub Sync
      • Transfer ownership
      • Delete this note
      • Template
      • Insert from template
      • Export
      • Dropbox
      • Google Drive
      • Gist
      • Import
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
      • Download
      • Markdown
      • HTML
      • Raw HTML
      • ODF (Beta)
      • Sharing Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • More (Comment, Invitee)
      • Publishing
        Everyone on the web can find and read all notes of this public team.
        After the note is published, everyone on the web can find and read this note.
        See all published notes on profile page.
      • Commenting Enable
        Disabled Forbidden Owners Signed-in users Everyone
      • Permission
        • Forbidden
        • Owners
        • Signed-in users
        • Everyone
      • Invitee
      • No invitee
    Menu Sharing Help
    Menu
    Options
    Versions and GitHub Sync Transfer ownership Delete this note
    Export
    Dropbox Google Drive Gist
    Import
    Dropbox Google Drive Gist Clipboard
    Download
    Markdown HTML Raw HTML ODF (Beta)
    Back
    Sharing
    Sharing Link copied
    /edit
    View mode
    • Edit mode
    • View mode
    • Book mode
    • Slide mode
    Edit mode View mode Book mode Slide mode
    Note Permission
    Read
    Owners
    • Owners
    • Signed-in users
    • Everyone
    Owners Signed-in users Everyone
    Write
    Owners
    • Owners
    • Signed-in users
    • Everyone
    Owners Signed-in users Everyone
    More (Comment, Invitee)
    Publishing
    Everyone on the web can find and read all notes of this public team.
    After the note is published, everyone on the web can find and read this note.
    See all published notes on profile page.
    More (Comment, Invitee)
    Commenting Enable
    Disabled Forbidden Owners Signed-in users Everyone
    Permission
    Owners
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Invitee
    No invitee
       owned this note    owned this note      
    Published Linked with GitHub
    Like BookmarkBookmarked
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # AutoTeaMaker 自動泡茶器 ###### tags: `project` ## Introduction 介紹 跟大家分享一下近期發想的一個 side project 我最近在構思一個自動泡茶器,功能主要是,自動計時並吊起茶杯中的茶包 初步的構想的核心大概是,用 Raspberry Pi 再加上步進馬達及 Z 軸螺桿,實作計時跟垂直升降的動作 再加一個觸控螢幕來作顯示跟按鈕 概念示意草圖如下: ![](https://i.imgur.com/oIVg6Eh.jpg) 雖然以 Raspberry Pi 跟步進馬達相對高階的硬體元件來作這樣簡單的功能,顯然像是用牛刀來殺雞 但 prototype 先講求作得出來,再看有無優化空間 因此就先以有摸索過,且能駕馭的動的東西當基礎來出發 回到 idea 的本身,談談為什麼會想作這樣的東西, 緣起是 以前的我泡茶都隨便亂泡,拿到茶包常常就是裝個熱水泡個5分鐘、10分鐘,以為茶要泡越久才越有味道 從來沒有仔細閱讀茶包上的說明 直到有一天,我突然好奇,這個茶包的真正原味是什麼樣子? 於是,我就試著以最嚴謹的方式來計水量、算溫度、跟控制時間,完全照茶包上的標準方法來泡一杯 這才發現,原來簡單便宜的茶包,以正確的方法泡起來,味道會這麼好喝,幾乎不輸給外面的手搖飲料店 之後才明白到自己泡錯了這麼多茶 像是我原先都泡個 3~5 分鐘的高山茶,其實只要泡 45 秒 一個茶包大約給 250cc 的水,常常馬克杯一裝就 400~500cc 不同的溫度,也直接影響茶味的香澀程度 長此一智之後,後來喝茶都會用手機倒數計時泡茶的時間 雖然茶比以前好喝多了,但有多了一份麻煩 就是我放進茶包後,就得懸在那邊等個 3~5 分鐘,不夠懶人化 因此,就動念想作一個能倒數計時,並自動吊起茶包的小裝置,來解決自己泡茶的癢處。 有了動機、有了構想,接下來就是實踐的部份了。 煮菜前要先備料,經過1~2個月的等待跟收集,終於一一購買並收集到必要的設備 - [ ] 螺桿 - [ ] L298N - [ ] Power Bank , 18650 x 2 - [ ] 5V  的 NEMA17 步進馬達 - [ ] 光軸 x 4 - [ ] 限位開關 - [ ] RPi3 x 1 - [ ] 5 吋觸控螢幕 - [ ] Go!Temp 溫度探針 ![](https://i.imgur.com/pxPGkNx.jpg) 其中這個在 Digikey 上訂的觸控螢幕,最花時間,下單後,交期原本要 85 天。 ![](https://i.imgur.com/0AHHJnR.jpg) 幸運的是,前幾週它提前出貨收到了。 因為不想花時間在驅動程式上掙扎,所以事前作了一些功能,想買 Plug&Play 的裝置 還好真如預期般一樣,插了就可以用,省了一翻功夫 上上週,在 H4 聚會時,也實驗成功驅動了步進馬達。 ![](https://i.imgur.com/jUS69NK.jpg) 最核心的硬體驅動有通了,下一步預計是設計 3D 的骨架模型,以及起草 RPi 上的 UI 這些都是需要時間跟毅力一磚一瓦堆砌起來的部份。 我預計在接下來的時間,大概固定在參加每週 H4 聚會時邊聊天邊作一點,慢慢將積木堆起來。 預計會以 open source 的方式進行,歡迎對這 topic 有興趣的人也一起來動動手作點小東西。 ## How to participate 如何參與 目前參加的方式主要如下: - 加入 H4 Discord 及其子頻道 **#autoteamaker-自動泡茶器** 討論互動 - H4 Discord 連結: <https://discord.gg/sUFfn6kvYK> - project chat channel: [按此前往](https://discord.com/channels/781442554951499777/819436839685062656) (需要先登錄 Discord 帳號並加入 H4 Discord) - 參加 H4 每週四晚上的固定聚會,和專案發起人面對面聊聊天交流 - 關注&更新線上共筆頁面: <https://hackmd.io/o0PFb9mUTXOwEVcy68hTAA> ## BOM & Skill (WIP) ### BOM 硬體備料清單 | Item 品項 | Amount 數量 | Model 型號 | Where to buy 哪裡買 | price 多少錢 | |--|--|-- | -- | --: | | Raspberry Pi 3B+/4 | 1 | RPi3B+ | https://www.digikey.tw/product-detail/zh/raspberry-pi/RASPBERRY-PI-3-MODEL-B-/1690-1025-ND/8571724 | 1152 TWD | | 觸控螢幕 | 1 | DFR0550 | https://www.digikey.tw/product-detail/zh/dfrobot/DFR0550/1738-1453-ND/9608214 | 1317 TWD| | 紅外測溫感測器模組 | 1 | GY-906 BCC MLX90614ESF | https://www.ruten.com.tw/item/show?22030961833298 | 900 TWD | | USB power bank | 1 | | https://shopee.tw/product/63901499/2700715582 | 145 TWD | | 電池 18650 | 2 | Panasonic 平頭 | 今華電子 | 500 TWD | | 步進馬達(已下架) | 1 | HMS-42D3010 | https://shop.cpu.com.tw/product/61340/info/ | (含運) 420 TWD | | 步進馬達 | 1 | HMS-45000 | https://shop.cpu.com.tw/product/61680/info/ | 290 TWD | | 步進馬達驅動器 | 1 | L298N | https://shopee.tw/product/2447432/529179469 | 75 TWD | | 限位開關 | 1 | Unknown | https://shopee.tw/product/8191378/6416167859 | 45 TWD | | T8 螺桿 | 1 | 300 mm | https://shopee.tw/product/8191378/1903771425 | 110 TWD | | 光軸 | 4 | 300mm | https://shopee.tw/product/16028084/7735212423 | 192 TWD | | M3螺絲 | 8 | 20mm | 螺絲總匯 | TBD. | | 彈性聯軸器 | 1 | 5mm孔x8mm孔 | https://shopee.tw/product/8191378/598994119 | 40 TWD | ### Skill 技能清單 - Linux & Raspberry Pi experiences - 3D model design - onshape.com 由 wycc 推薦的線上 3D 建模軟體 - 推薦教學影片: [Teching Tech -- Onshape 3D Modelling](https://www.youtube.com/playlist?list=PLGqRUdq5ULsMDOxmu10AGPDIOkzNYu7D7) ## Changelog 演進歷史 ### 2021-03-18 Mat 成功驅動 I2C 的非接觸式溫度計 ![](https://i.imgur.com/kGC0LiD.jpg) 參考文件有: - https://www.youtube.com/watch?v=4V0_PBwg4c0 - https://pypi.org/project/PyMLX90614/ wycc 現場直接畫出概念設計草圖 v1 ![](https://i.imgur.com/0g4HeTY.png) ### 2021-03-14 週五得知溫度感測器出貨比預期還要久,可能要 1~2 週後才拿到貨 立馬就找其他 source 後來發現**樂意創客**有現貨,立馬就下訂: - https://www.ruten.com.tw/item/show?22030961833298 週六晚上睡前就收到貨了,讚。 ![](https://i.imgur.com/u7kNPLB.jpg) 註: 此次是第二次在**樂意創客**買東西,值得信任的好賣家 ### 2021-03-13 Thinker 在聊天室提到個有趣的東西 [Low Temperature Stirling Engine](https://www.youtube.com/watch?v=xQi6Gh5DOC8)。 另外,也提到了關於阻尼應用的 idea ,可能會用到的元件: - <https://www.ruten.com.tw/item/show?21751471642954> - <https://www.ruten.com.tw/item/show?21507484058936> ### 2021-03-11 建立專案的 hackmd 專頁,並上 H4 Facebook group 分享專案訊息,收到一些 feedback: - teamosa 智能泡茶機 (shared by Kd Tsai) - 有人詢問如何報名 ### 2021-03-07 hychen 分享了一個有趣的訊息,泡茶也有 ISO 標準: - <https://zh.wikipedia.org/zh-tw/ISO_3103> 另外也發現 gslin 在他的 blog 上提到這件趣事: - https://blog.gslin.org/archives/2021/03/07/10050/%E6%B3%A1%E8%8C%B6%E6%96%B9%E5%BC%8F%E7%9A%84-iso-%E6%A8%99%E6%BA%96%EF%BC%9Aiso-3103/ ### 2021-02-25 參加 H4 固定聚會,嘗試把觸控螢幕、馬達、及 USB power bank 串接起來作概念測試。 不過臨時少了幾個線材,RJ 提議去對街的摩茲工寮借工具來用。 加上發現當晚的 odoo 活動主講人是 marr ,剛好是 wycc 認識的老朋友,於是就整群人過去串門子了。 當晚邊聊邊弄,在結束離開前 Mat 依下述文件的指引,成功驅動了步進馬達 - https://www.electronicshub.org/raspberry-pi-stepper-motor-control/ ![](https://i.imgur.com/jUS69NK.jpg) ### 2021-02-24 觸控螢幕到貨。(註: 於 2021-01-14 下單) ![](https://i.imgur.com/0AHHJnR.jpg) ### 2021-01-08 湊足第一波基礎硬體元件 ![](https://i.imgur.com/pxPGkNx.jpg) ### 2020-12-21 下單購買 5V 步進馬達 (一般較常見的是 12V) - https://shop.cpu.com.tw/product/61340/info/ ### 2020-12-16 下一步是於**創客市集**下單購買硬體元件。 ![](https://i.imgur.com/76OFnny.png) ### 2020-12-08 靈感源起的最早時間已不可考。最早的行動是始於購買光軸開始。 ![](https://i.imgur.com/1Qspiuu.png)

    Import from clipboard

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lost their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template is not available.


    Upgrade

    All
    • All
    • Team
    No template found.

    Create custom template


    Upgrade

    Delete template

    Do you really want to delete this template?

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in via Google

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Tutorials

    Book Mode Tutorial

    Slide Mode Tutorial

    YAML Metadata

    Contacts

    Facebook

    Twitter

    Feedback

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions

    Versions and GitHub Sync

    Sign in to link this note to GitHub Learn more
    This note is not linked with GitHub Learn more
     
    Add badge Pull Push GitHub Link Settings
    Upgrade now

    Version named by    

    More Less
    • Edit
    • Delete

    Note content is identical to the latest version.
    Compare with
      Choose a version
      No search result
      Version not found

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub

        Please sign in to GitHub and install the HackMD app on your GitHub repo. Learn more

         Sign in to GitHub

        HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Available push count

        Upgrade

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Upgrade

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully