資料介紹
描述
我們都知道,在你的生活中沒(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ā)送設備,我們需要以下組件:
- 蜂鳴器
- 鋁箔
- 1個(gè)電阻5M歐姆
- 面包板
- 電線(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](https://file.elecfans.com/web2/M00/76/7B/poYBAGNgvZyAVc0mAABmDF6Wh7I70.jpeg)
設置董事會(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](https://file.elecfans.com/web2/M00/76/7B/poYBAGNgvZ6AdEjsAABMESmIcmU662.png)
不幸的是,機器人接收表情符號的方式與發(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](https://file.elecfans.com/web2/M00/77/0E/pYYBAGNgvaCAczESAABIHvC7i7Y756.png)
電容式傳感器
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](https://file.elecfans.com/web2/M00/76/7B/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](https://file.elecfans.com/web2/M00/77/0E/pYYBAGNgva6Af_YrAABo4r-NVok639.png)
#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)狗:
- Adafruit ASF Core // 必須從 Github 手動(dòng)下載和安裝
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");
}
}
- MKR WiFi 1010 + MKR RS 485 Shield連接到Ignition 0次下載
- 使用Arduino MKR1000通過(guò)WiFi進(jìn)行HID攻擊 0次下載
- MKR1000 Pushover狀態(tài)開(kāi)源 0次下載
- MKR FOX 1200運動(dòng)觸發(fā)器開(kāi)源分享 0次下載
- 帶MKR WiFi 1010的書(shū)呆子 0次下載
- 使用Arduino Mkr Wifi 1010和Thincloud構建連接燈的過(guò)程 1次下載
- 帶有Arduino MKR1010和MKR RGB Shield的Otto Biped 0次下載
- 將MQTT協(xié)議物聯(lián)網(wǎng)與Arduino MKR1010 WiFi結合使用 0次下載
- Arduino MKR GSM 1400和DTMF開(kāi)源 0次下載
- 帶有MKR WiFi 1010的植物通訊器 0次下載
- 使用Grove Sensor的Arduino MKR1010和阿里云IoT 0次下載
- WIFI智能開(kāi)源電熱水器的原理圖和源代碼免費下載 44次下載
- 我愛(ài)你(快閃程序) 2次下載
- 愛(ài)你愛(ài)你愛(ài)到底歌詞 4次下載
- 愛(ài)你愛(ài)到底mp3下載 4次下載
- WiFi 6與WiFi 5到底有什么區別 6.9w次閱讀
- 什么是wifi6,與wifi2.4g和wifi5g有什么區別 5.1w次閱讀
- 比WIFi快100倍的LIFI,什么時(shí)候會(huì )取代WIFI 2450次閱讀
- MKR Vidor 4000一款拇指型的FPGA開(kāi)發(fā)板 1086次閱讀
- 什么是2.4G WIFI 什么是5G WiFi 3.5w次閱讀
- Redis簡(jiǎn)單案例:網(wǎng)站搜索的熱搜詞 2732次閱讀
- 簡(jiǎn)評FPGA——Arduino MKR Vidor 4000 6596次閱讀
- 細說(shuō)WiFi信號與路由器和WiFi模塊的關(guān)系 1.2w次閱讀
- wifi探針技術(shù)的應用領(lǐng)域_公安局wifi探針用途 2.3w次閱讀
- wifi探針是什么_wifi探針的工作原理詳解 4.4w次閱讀
- wifi模塊異常是怎么回事_wifi模塊異常怎樣解決 6.8w次閱讀
- 手機wifi模塊在哪里_手機wifi模塊位置圖解 13.5w次閱讀
- 雙頻wifi是什么意思_雙頻wifi的優(yōu)點(diǎn) 2.7w次閱讀
- 高通雙通路WiFi技術(shù)幫你解決家庭WiFi信號差的問(wèn)題 4144次閱讀
- WiFi信號是怎樣傳播的? 1.2w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開(kāi)關(guān)電源設計實(shí)例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論