電子發(fā)燒友App

硬聲App

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

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

3天內不再提示
創(chuàng )作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>我愛(ài)你枕頭與MKR WiFi 1010開(kāi)源分享

我愛(ài)你枕頭與MKR WiFi 1010開(kāi)源分享

2022-11-02 | zip | 0.22 MB | 次下載 | 免費

資料介紹

描述

我們都知道,在你的生活中沒(méi)有那個(gè)特別的人可能會(huì )很困難,但是如果你可以通過(guò)互聯(lián)網(wǎng)遠程發(fā)送愛(ài)和感情,只需擁抱一個(gè)枕頭呢?現在,我們不能真正發(fā)送擁抱……但我們可以通過(guò)消息應用程序發(fā)送一個(gè)甜蜜的表情符號,由你給枕頭一個(gè)擁抱觸發(fā)。當你擁抱我愛(ài)你枕頭時(shí),你會(huì )聽(tīng)到里面的蜂鳴器發(fā)出心跳的聲音。根據您擁抱的長(cháng)度,Telegram Bot 將向您選擇的任何聊天發(fā)送不同的表情符號。使用這款可擁抱的設備與您所愛(ài)的人保持聯(lián)系!

簡(jiǎn)而言之

在這個(gè)實(shí)驗中,我們將使用鋁箔制作一個(gè) DIY 電容傳感器,用于檢測擁抱。為了創(chuàng )建我們的擁抱發(fā)送設備,我們需要以下組件:

  • 蜂鳴器
  • 鋁箔
  • 面包板
  • 電線(xiàn)

學(xué)習目標

  • 管理電容式傳感器
  • 電報機器人和群聊#ProTips
  • WiFi 最佳實(shí)踐#ProTips

專(zhuān)業(yè)提示是有用但并非絕對必要的步驟,它們會(huì )為項目增加一層復雜性。

想知道更多?

教程是讓您熟悉 MKR WiFi 1010 和 IoT 的一系列實(shí)驗的一部分。所有實(shí)驗都可以使用 MKR IoT Bundle 中包含的組件構建。

  • 我愛(ài)你枕頭與 MKR WiFi 1010

介紹電報機器人

Telegram是一款流行的移動(dòng)和桌面消息傳遞應用程序。除了讓我們與朋友聊天之外,它還允許我們創(chuàng )建方便且強大的聊天機器人!

聊天機器人只不過(guò)是您可以與之聊天的聯(lián)系人,而是它背后的人,有一臺機器可以相應地回復您編寫(xiě)的代碼。

Arduino的 TelegramBot 庫為我們提供了一種簡(jiǎn)單的方法來(lái)實(shí)現聊天機器人背后的邏輯。

創(chuàng )建你的機器人

創(chuàng )建一個(gè)機器人是如此簡(jiǎn)單!只需按照這幾個(gè)簡(jiǎn)單的步驟或在此處查看文檔。

?
?
?
?
poYBAGNgvZyAVc0mAABmDF6Wh7I70.jpeg
?
1 / 5 ?第 1 步 - 尋找 BotFather
?

設置董事會(huì )

首先確保我們擁有所有需要的庫。這是我們需要的所有庫的列表:

  • WiFi妮娜
  • 電報機器人
  • ArduinoJson
  • 電容式傳感器

您可以按照這個(gè)簡(jiǎn)單的指南輕松安裝它們。

為了使用 Telegram 的 API,我們首先需要在 MKR WiFi 1010 上上傳證書(shū)。這適用于大多數在線(xiàn)服務(wù)和 API!

從 WiFiNINA 庫上傳固件更新程序示例并將 api.telegram.org 添加域。這些是要遵循的步驟:

  • 運行IDE;
  • 上傳草圖`Example->WiFiNINA->tools->Firmware updater`
  • 在工具中打開(kāi)`WiFi101/WiFiNINA 固件更新程序`
  • 點(diǎn)擊“添加域”
  • 單擊“將證書(shū)上傳到 WiFi 模塊”
  • 上傳你的草圖`

讓魔法發(fā)生!

打開(kāi) TelegramBot 庫中的 EchoBot 示例,填寫(xiě)您的 WiFi 憑據和您從 BotFather 收到的 API 令牌并上傳!

> 示例 > TelegramBot > EchoBot

您剛剛創(chuàng )建了一個(gè)回顯所有消息的機器人。

EchoBot 和表情符號

表情符號無(wú)處不在!我們將用它們來(lái)傳遞我們的愛(ài)和擁抱。使用 EchoBot 示例是查看機器人如何讀取您的表情符號的簡(jiǎn)單方法。

?
poYBAGNgvZ6AdEjsAABMESmIcmU662.png
向 Bot 發(fā)送表情符號,看看編碼后的等價(jià)物是什么
?

不幸的是,機器人接收表情符號的方式與發(fā)送它們的方式不同。為了發(fā)送表情符號,我們需要使用UNICODE字符。

例如,要發(fā)送一個(gè)心形表情符號,我們將使用: \U00002764

您可以在此處查看unicode 表情符號代碼的完整列表。為了創(chuàng )建一個(gè)用另一個(gè)心臟表情符號回復心臟表情符號的機器人,我們將使用如下代碼:

void loop() {
 message m = bot.getUpdates(); // Read new messages
 if ( m.chat_id != 0 ) { // Check if there are some updates
   Serial.println(m.text); // print the message received
   if (m.text == "u2764ufe0f") { //check if it received an heart emoji
     bot.sendMessage(m.chat_id, "\U00002764");
     // Reply to the same chat with the heart emoji
   }
 }
}

結果將是:

?
pYYBAGNgvaCAczESAABIHvC7i7Y756.png
用另一個(gè)心形表情符號回復心形表情符號
?

電容式傳感器

Telegram 夠了,讓我們開(kāi)始構建我們的 DIY 電容式傳感器吧!

CapacitiveSensor庫兩個(gè)或多個(gè) Arduino 引腳變成一個(gè)電容傳感器,可以感應人體的電容。

傳感器設置所需的只是一個(gè)中值到高值的電阻器和一塊鋁箔。

在最敏感的情況下,傳感器將開(kāi)始感應距離傳感器幾英寸的手或身體,并通過(guò)不同種類(lèi)的材料。我們將把傳感器藏在枕頭里!

上傳示例草圖,連接電線(xiàn)并在控制臺上查看結果:

#include 
CapacitiveSensor   foil = CapacitiveSensor(5, 4);
// 10M resistor between pins 5 & 4, pin 4 is sensor pin, add a wire and or foil
void setup()
{
 foil.set_CS_AutocaL_Millis(0xFFFFFFFF);     // turn off autocalibrate
 Serial.begin(9600);
}
void loop()
{
 long start = millis();
 long sensor_value =  foil.capacitiveSensor(30);
 Serial.print(millis() - start);        // check on performance in milliseconds
 Serial.print("\t");                    // tab character for debug windown spacing
 Serial.print(sensor_value);            // print sensor output
 Serial.println("\t");                    // print sensor output 3
 delay(500);                             // arbitrary delay to limit data to serial port
}

接線(xiàn)和結果

?
poYBAGNgvayAOnWkAAEHK4bvptY190.jpg
在控制臺上查看值
?

我們將sensor_value用作檢測擁抱的閾值!

心跳

擁抱的時(shí)間越長(cháng),聽(tīng)到的心跳聲就越多。心跳越多,您發(fā)送的愛(ài)就越多(以及不同的表情符號)。

我們將使用蜂鳴器和幾行簡(jiǎn)單的代碼來(lái)模擬心跳的聲音。

int Buzzer = 8; // Pin attached to the buzzer
void setup() {}
void loop() {
 HeartBeat();
 delay(1000);
}
void HeartBeat() {
 tone(Buzzer, 31, 200); // tone(Pin, Note, Duration);
 delay(200);
 tone(Buzzer, 31, 400);
 delay(200);
 noTone(Buzzer);
 delay(1000);
} 

要更復雜地使用蜂鳴器和音調功能,請查看下拉菜單示例并查找 Digital > ToneMelody

#ProTip:聊天 ID 和群聊

為了發(fā)送消息,機器人需要一個(gè)聊天 ID。聊天 id 是某人和機器人之間聊天的唯一標識符。為了讓機器人向特定的人發(fā)送消息,您首先需要該人向機器人發(fā)送短信并保存該特定聊天的聊天 ID。

在這個(gè)項目中,機器人只會(huì )回復最后一個(gè)發(fā)短信的人,不管那是誰(shuí)。

機器人是公開(kāi)的,每個(gè)人都可以給機器人發(fā)短信!

如果您想將機器人包含在群聊中,您需要禁用隱私模式以允許機器人閱讀所有消息,否則它將只能檢測以開(kāi)頭的命令/:

?
?
?
?
pYYBAGNgva6Af_YrAABo4r-NVok639.png
?
1 / 3 ?使用 /mybot 命令向@BotFather 發(fā)送文本,然后選擇您的機器人和機器人設置
?

#ProTip:WiFi 最佳實(shí)踐

WiFi 可能很棘手。有時(shí)它只是關(guān)閉幾秒鐘,顯然沒(méi)有任何理由。這對您的 Arduino 來(lái)說(shuō)可能是個(gè)問(wèn)題,因為大多數時(shí)候我們只在草圖的開(kāi)頭運行 WiFi 連接功能。

在線(xiàn)服務(wù)也可能很棘手,當 Arduino 向服務(wù)器(在本例中為 Telegram)發(fā)送請求時(shí),它會(huì )等待回復。由于數百個(gè)原因,回復可能無(wú)法到達,使 Arduino 處于無(wú)限循環(huán)中。

為了讓你的項目更穩定,你可以添加一個(gè)看門(mén)狗。看門(mén)狗是一個(gè)必須定期更新的計時(shí)器,否則它將重新啟動(dòng)電路板。

您可以使用這兩個(gè)庫向您的項目添加看門(mén)狗:

EchoBot 示例將如下所示:

#include <WiFi101.h>
#include <SPI.h>
#include <TelegramBot.h>
#include <Adafruit_SleepyDog.h>
// Initialize Wifi connection to the router
char ssid[] = "xxxx";             // your network SSID (name)
char pass[] = "yyyy";           // your network key
// Initialize Telegram BOT
const char BotToken[] = "xxxx";
WiFiSSLClient client;
TelegramBot bot (BotToken, client);
void setup() {
 Serial.begin(115200);
 while (!Serial) {}
 delay(3000);
 // attempt to connect to Wifi network:
 Serial.print("Connecting Wifi: ");
 Serial.println(ssid);
 while (WiFi.begin(ssid, pass) != WL_CONNECTED) {
   Serial.print(".");
   delay(500);
 }
 Serial.println("");
 Serial.println("WiFi connected");
 bot.begin();
 Watchdog.enable(10000); // set the timer to 10 sec
}
void loop() {
 Watchdog.reset(); // if this function is not called within 10 seconds the board will reset itself
 message m = bot.getUpdates(); // Read new messages
 if ( m.chat_id != 0 ) { // Checks if there are some updates
   Serial.println(m.text);
   bot.sendMessage(m.chat_id, m.text);  // Reply to the same chat with the same text
 } else {
   Serial.println("no new message");
 }
}

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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開(kāi)關(guān)電源設計實(shí)例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看