99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Dulciurilla:Fitbit智能糖果分配器

Dulciurilla:Fitbit智能糖果分配器

2023-02-08 | zip | 0.01 MB | 次下載 | 免費

資料介紹

描述

什么想法?

我的女兒喜歡甜食。她非常愛他們,以至于她愿意做任何事情來得到他們:不吃飯,從秘密藏身處偷他們,只要她得到她的糖劑量,她甚至愿意在這樣做時被抓到受到懲罰。

糖會激活大腦的獎賞系統(tǒng)。該系統(tǒng)的激活會導致強烈的獎賞感,從而導致渴望和上癮。所以藥物和糖都會激活大腦中相同的獎勵系統(tǒng),導致多巴胺的釋放。

我們全家都使用 Fitbit 健身追蹤器,但她的步伐不是那么好。但是,如果我們將她對甜食的渴望與她的實際日?;顒油狡饋砟??如果我可以讓她增加體力活動以獲得這些獎勵怎么辦?我想那沒關系,因為一般來說我對甜食沒有問題,但我在沙發(fā)上發(fā)胖的同時吃甜食有問題。:)

因此,檢查了他們的 API,發(fā)現(xiàn)他們公開了日?;顒又笜?,例如步數(shù)、攀爬的樓層數(shù)、距離、卡路里等。唯一要做的就是糖果分配器能夠根據(jù)她的活動水平給她糖果。為了讓事情變得更有趣,我決定讓整個家庭都參加這次比賽,并讓這個分配器具有多用戶功能。這打開了一些有趣的家庭挑戰(zhàn)的大門,其中涉及含糖獎勵。

?
?
?
20191106_084657_5S6at2j4PU.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?
1 / 7
?

項目一覽

該項目相當簡單。如果您熟悉基本概念,那么棘手的部分不是電子設備,而是機械部分。

  • 糖果垂直排列在塔狀盒子內
  • 微控制器 ESP8266 NodeMCU 設置一個 HTTP 服務器監(jiān)聽 LAN 上的連接。
  • 可以托管在互聯(lián)網(wǎng)上的配套網(wǎng)絡應用程序,發(fā)送和接收 HTTP 消息以分發(fā)糖果或獲取狀態(tài)信息。
  • 配套應用程序可以有任何邏輯,但我的版本會根據(jù)您使用 Fitbit 進行的健身活動為您提供糖果。您可以輕松編寫不同的邏輯,因為分配器本身可以使用 Restful API 進行控制。當你在 Facebook 上收到點贊時,比如給你糖果 :) 瘋了!
  • 如果通過 API 請求糖果,微控制器會指示伺服電機移動,進而使托盤滑動,最終將糖果推出
  • 該設備非常基本。附加功能包括燈光和最后播放帶有蜂鳴器的愚蠢旋律。

點膠機構

20191106_084338_AMjEjv10z4.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?
  • 因為機器是點膠機,所以只有一個主命令點膠
  • 當微控制器接收到點膠指令時,它會利用360度連續(xù)伺服來完成這項工作。
  • 伺服正在向前推動托盤并可以通過推拉桿將其拉回,
  • 托盤在軌道上滑動。您可以輕松地用兩根堅硬的金屬棒制作軌道。潤滑桿以改善滑動并最大程度地減少令人不快的噪音。托盤可以由木頭、塑料甚至金屬制成。我建議你把托盤做得盡可能薄,但能把糖果移出來,把托盤安裝得盡可能靠近地面,最好不要接觸地面。由于糖果下落的角度較小,這將有助于防止卡紙。
  • 托盤最初位于塔內最底部,所有糖果都在頂部。
  • 首先,伺服電機拉回托盤,為下一顆糖果騰出空間,下一顆糖果落在外殼底部,同時托盤縮回,然后托盤向前推動,進而將糖果推??到外面。
  • 有兩個金屬傳感器,一個在前面,一個在后面,可以判斷托盤何時到達最終或初始位置。它們的作用類似于按鈕,并使用中斷進行處理,以提高安全性和響應能力。
  • 如果托盤沒有在預期的時間范圍內到達目的地(設置為 1 秒),則實施軟件卡紙保護以防止損壞
  • 對于維護,有前后移動托盤的命令,但如果托盤卡住,您可以用手移動托盤 :)。

筆記:

使用不同類型的電機也可以。我有一個連續(xù)伺服,但我想位置伺服甚至步進電機或普通直流電機都可以工作。如果您依靠它們的固定定位精度,您甚至可以放棄初始/最終位置傳感器。移除這些的一個問題可能是位置校準和軸位置的手動更改。

你需要把伺服喇叭做得更長;為此,您可以像我一樣用螺絲連接 7-8 厘米的膠合板延伸件。控制桿通常在與喇叭連接的一端有一個 Z 形彎頭(彎成字母 Z 的形狀),另一端有一個 90 度彎頭,帶有彈簧固定器。我的 Z 彎不太好,因為我使用了非常堅硬的電線并且沒有合適的工具,所以我實際上使用了 U 彎,效果很好。這個想法是桿不應該從喇叭中脫出。這是一個很好的補充,可以確保桿移動的孔不會磨損(特別是如果喇叭材料像木頭或塑料一樣柔軟),所以我插入了一個橡膠墊圈。要制作彈簧固定器,您可以使用一些彈性線和一根熱縮管。

20191006_152915_blTmJdzlwn.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
帶 Z 形彎曲和彈簧固定器的控制桿
?

不要忘記用提供的螺絲將喇叭固定到伺服器上。您可能需要在木質延伸件上鉆一個孔,以便將螺絲實際連接到塑料喇叭上。

20191027_104653_JWVf6ghmG6.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
固定喇叭
?

通電

所有基于 ESP8266 的開發(fā)板都有一個內置穩(wěn)壓器,因此您只需連接一根 USB 數(shù)據(jù)線,它將提供 5V 電壓,內置穩(wěn)壓器將為芯片提供 3.3V 電壓。請注意,舵機連接到 5V 輸入,因為它需要更多功率。所以基本上輸入電壓為 5 伏,設備在點膠時需要高達 1.5A 的電流。不分配時,WiFi 芯片通常消耗 50 - 300 毫安,每個 LED 消耗 30 毫安。我沒有實現(xiàn)省電模式,但在待機狀態(tài)下,它不應超過 120 毫安。

燈光

任何涼爽的分配器都有一個透明面板,供您檢查里面的食物,并配有照明。

我沒有在照明方面走得太遠,即使你對彩色 LED 發(fā)瘋了。我只是在前面板使用了兩個白色 LED,由一個 NPN 晶體管激活。前面板燈也可用作狀態(tài)和錯誤指示器。

當設備連接到 WiFi 時,燈會慢慢淡入和熄滅,直到建立連接,然后燈會亮到更高的強度。我只是使用 PWM 引腳來控制光的強度。

?
?
?
led-connection-board_bb_E0Q5C6vtKi.png?auto=compress%2Cformat&w=740&h=555&fit=max
?
1 / 6
?

該電路是一個標準的低側 NPN 開關。

如果您是初學者,請繼續(xù)閱讀

它被稱為低側開關,因為晶體管正在切換接地路徑。負載的 VCC 輸入直接連接到電源正輸出,而負載的地通過連接到集電極引腳的晶體管連接。如果足夠的電壓和電流施加到晶體管的基極,晶體管就會飽和并從集電極傳導到發(fā)射極。負載由我們的兩個白色 LED 組成,正極(陽極)通過串聯(lián)電阻連接,以限制電流.為了激活“開關”,我們通過串聯(lián)電阻向晶體管的基極發(fā)送邏輯 1。基極沒有電阻的三極管就像沒有限流電阻的LED. 電阻器的值及其兩端的電壓將設置電流。電阻器需要足夠大以有效地限制電流,但又要足夠小以便為基極提供足夠的電流。您可以根據(jù)您的晶體管和負載計算該值。例如,我的 NPN3904 的 hFE=100 與 5k 電阻器配合使用可以很好地切換 60mA,因此我使用了一個 4.7K 的電阻器,它應該在 3.3V 和 3.3V 的正向 LED 電壓下處理 70mA。我使用了一個非常小的 1.8 歐姆電阻來限制 LED 電流,因為 LED 的正向電壓應該相同,并且電壓是穩(wěn)定的。您可以使用此計算器計算基極電阻。這個用于 LED 電阻器。

安全和糖果防盜保護

為了防止未經(jīng)授權訪問糖果(基本上是為了防止我的女兒偷糖果 :))我使用了一把普通的舊鎖。如果你想避免作弊,我認為這個問題不能被忽視 :)

音效

分配過程完成后,我正在使用無源蜂鳴器播放旋律。由于播放旋律通常有延遲,我創(chuàng)建了一個safeDelay函數(shù)以較小的增量(100 毫秒)延遲,讓內部 ESP8266 進程更頻繁地運行,延遲被認為是一種不好的做法,但旋律是在最后播放的分配過程,所以它不應該影響響應有用命令的能力。

外殼

外殼是用膠合板建造的。前門有一個透明的塑料面板,可以看到里面的食物。

?
?
?
enclosure-front_MDhsTUoavQ.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?
1 / 5 ?正視圖
?

最重要的方面是確定糖果塔的尺寸。我建造了一個巨型 Tic-Tac 盒尺寸的塔。這個方便的塑料盒有一個小活動鉸鏈蓋,可以裝 M&Ms、Smarties 或類似的小糖果,完全取下蓋子后,您可以放入巧克力塊,如 Kinder 巧克力棒或任何適合的東西。糖果塔應該與 Tic-Tac 盒子緊密貼合,各個方向的間距只有幾毫米。如果空間太多或太少,Tic-tacs 就會卡住,

在外殼上加一個蓋子或門是非常有用的,這樣你就可以進行維護。維護可以包括潤滑導軌。在我的版本中,無法通過打開蓋子取出糖果,因此沒有必要固定它。

一個很好的補充也是一個電源開關您可以剪斷 USB 電纜并將一個小開關連接到正極。

網(wǎng)絡應用

配套網(wǎng)絡應用程序是用 PHP/Javascript 編寫的。實際上,我將此功能集成到一個更復雜的應用程序中,我正在使用該應用程序將食物記錄到 Fitbit 中,并連接到我的 DIY Healtzuilla 體重秤。

作為高級概述,該應用程序使用通過 HTTP 分配的 LAN IP 與分配器通信如果完成定義的挑戰(zhàn),它使用statusdispense端點提供糖果。為了檢查挑戰(zhàn)是否完成以及如何完成,它使用 OAuth2 身份驗證連接到 Fitbit Web API 并檢索每日統(tǒng)計數(shù)據(jù)。它會跟蹤已經(jīng)分配(吃掉)的糖果,如果您贏得了新糖果,它會為您提供新糖果。它為不同的用戶保留單獨的統(tǒng)計信息。

從這個更大的代碼庫中提取與 Dulciurilla 相關的 PHP 源代碼會有點困難,但如果有足夠的請求,我可以做一些努力。

使用 jquery 的分配器的 ES6 Javascript 類示例:

class DispenserApi {
    constructor(baseUrl) {
        this.baseUrl = baseUrl;
    }

    executeCall(endpoint, method = 'GET', body = null) {
        return $.ajax({
            type: method,
            url: this.baseUrl + endpoint,
            dataType: 'json',
            data: body
        }).fail(function (jqXHR, textStatus, errorThrown) {
            console.log('Request failed: ' + jqXHR.status);
        });
    }

    getStatus() {
        return this.executeCall('dispenser/status');
    }

    dispense() {
        return this.executeCall('dispenser/dispense', 'POST');
    }
}

它可以像這樣實例化和使用:

// replace with your dispenser IP
var dispenser = new DispenserApi('http://192.168.0.152/api/');

dispenser.dispense().done(function (dispenseData) {
    console.log("Success");
}).fail(function (jqXHR, textStatus, errorThrown) {
    console.log("Failed");
});

寧靜 API 參考

RESTful HTTP API 可在 獲得http:///api/。所有響應都是 json 格式。

成功的 POST/PATCH 操作返回 HTTP 狀態(tài)代碼 200 和如下所示的 JSON:

{"success": true}

失敗的請求返回一個非 200 的 HTTP 狀態(tài)代碼和一個帶有兩個鍵的 JSON 對象:

  • 錯誤:bool (始終為真)
  • 消息:字符串(可選)

例子:

{"error": "true", "message": "Something went wrong"}

以下所有路徑均與秤 IP 地址相關。

分配器API

要求分發(fā)糖果

POST /api/dispenser/dispense

獲取設備狀態(tài)

GET /api/dispenser/status

設備可能處于以下狀態(tài)之一:

  • 正在初始化(代碼 0)-尚未準備好命令
  • 空閑(代碼 1)-準備好執(zhí)行命令
  • 點膠(代碼 2)-在點膠過程中,此時無法處理新命令
  • 錯誤(代碼 3)- 如果托盤卡住,WiFi 未連接。無法處理任何命令。

示例響應:

{"statusCode":  2, "statusText": "Dispensing"}

維護API

向前移動托盤

POST /api/dispenser/maintenance/tray/move-forward

向后移動托盤

POST /api/dispenser/maintenance/tray/move-backwards

獲取托盤狀態(tài)

GET /api/dispenser/maintenance/tray/status

托盤可以處于以下狀態(tài)之一:

  • 已停止(代碼 0)
  • 向后移動(代碼 1)
  • 前進(代碼 2)

示例響應:

{"status": 1, "statusText": "向后移動", "operationTime": 360}


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費
  3. 2AD庫封裝庫安裝教程
  4. 0.49 MB   |  1次下載  |  免費
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費
  7. 4網(wǎng)絡安全從業(yè)者入門指南
  8. 2.91 MB   |  1次下載  |  免費
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費
  11. 6海川SM5701規(guī)格書
  12. 1.48 MB  |  次下載  |  免費
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護等級說明
  16. 0.08 MB   |  次下載  |  免費

本月

  1. 1貼片三極管上的印字與真實名稱的對照表詳細說明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設計指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分