資料介紹
描述
我們都知道,在你的生活中沒有那個特別的人可能會很困難,但是如果你可以通過互聯(lián)網(wǎng)遠程發(fā)送愛和感情,只需擁抱一個枕頭呢?現(xiàn)在,我們不能真正發(fā)送擁抱……但我們可以通過消息應用程序發(fā)送一個甜蜜的表情符號,由你給枕頭一個擁抱觸發(fā)。當你擁抱我愛你枕頭時,你會聽到里面的蜂鳴器發(fā)出心跳的聲音。根據(jù)您擁抱的長度,Telegram Bot 將向您選擇的任何聊天發(fā)送不同的表情符號。使用這款可擁抱的設(shè)備與您所愛的人保持聯(lián)系!
簡而言之
在這個實驗中,我們將使用鋁箔制作一個 DIY 電容傳感器,用于檢測擁抱。為了創(chuàng)建我們的擁抱發(fā)送設(shè)備,我們需要以下組件:
- 蜂鳴器
- 鋁箔
- 1個電阻5M歐姆
- 面包板
- 電線
學習目標
- 介紹電報機器人
- 管理電容式傳感器
- 電報機器人和群聊#ProTips
- WiFi 最佳實踐#ProTips
專業(yè)提示是有用但并非絕對必要的步驟,它們會為項目增加一層復雜性。
想知道更多?
本教程是讓您熟悉 MKR WiFi 1010 和 IoT 的一系列實驗的一部分。所有實驗都可以使用 MKR IoT Bundle 中包含的組件構(gòu)建。
- 我愛你枕頭與 MKR WiFi 1010
介紹電報機器人
Telegram是一款流行的移動和桌面消息傳遞應用程序。除了讓我們與朋友聊天之外,它還允許我們創(chuàng)建方便且強大的聊天機器人!
聊天機器人只不過是您可以與之聊天的聯(lián)系人,而是它背后的人,有一臺機器可以相應地回復您編寫的代碼。
Arduino的 TelegramBot 庫為我們提供了一種簡單的方法來實現(xiàn)聊天機器人背后的邏輯。
創(chuàng)建你的機器人
創(chuàng)建一個機器人是如此簡單!只需按照這幾個簡單的步驟或在此處查看文檔。
設(shè)置董事會
首先確保我們擁有所有需要的庫。這是我們需要的所有庫的列表:
- WiFi妮娜
- 電報機器人
- ArduinoJson
- 電容式傳感器
您可以按照這個簡單的指南輕松安裝它們。
為了使用 Telegram 的 API,我們首先需要在 MKR WiFi 1010 上上傳證書。這適用于大多數(shù)在線服務(wù)和 API!
從 WiFiNINA 庫上傳固件更新程序示例并將 api.telegram.org 添加到域。這些是要遵循的步驟:
- 運行IDE;
- 上傳草圖`Example->WiFiNINA->tools->Firmware updater`
- 在工具中打開`WiFi101/WiFiNINA 固件更新程序`
- 點擊“添加域”
- 單擊“將證書上傳到 WiFi 模塊”
- 上傳你的草圖`
讓魔法發(fā)生!
打開 TelegramBot 庫中的 EchoBot 示例,填寫您的 WiFi 憑據(jù)和您從 BotFather 收到的 API 令牌并上傳!
> 示例 > TelegramBot > EchoBot
您剛剛創(chuàng)建了一個回顯所有消息的機器人。
EchoBot 和表情符號
表情符號無處不在!我們將用它們來傳遞我們的愛和擁抱。使用 EchoBot 示例是查看機器人如何讀取您的表情符號的簡單方法。
不幸的是,機器人接收表情符號的方式與發(fā)送它們的方式不同。為了發(fā)送表情符號,我們需要使用UNICODE字符。
例如,要發(fā)送一個心形表情符號,我們將使用: \U00002764
您可以在此處查看unicode 表情符號代碼的完整列表。為了創(chuàng)建一個用另一個心臟表情符號回復心臟表情符號的機器人,我們將使用如下代碼:
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
}
}
}
結(jié)果將是:
電容式傳感器
Telegram 夠了,讓我們開始構(gòu)建我們的 DIY 電容式傳感器吧!
CapacitiveSensor庫將兩個或多個 Arduino 引腳變成一個電容傳感器,可以感應人體的電容。
傳感器設(shè)置所需的只是一個中值到高值的電阻器和一塊鋁箔。
在最敏感的情況下,傳感器將開始感應距離傳感器幾英寸的手或身體,并通過不同種類的材料。我們將把傳感器藏在枕頭里!
上傳示例草圖,連接電線并在控制臺上查看結(jié)果:
#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
}
接線和結(jié)果
我們將sensor_value
用作檢測擁抱的閾值!
心跳
擁抱的時間越長,聽到的心跳聲就越多。心跳越多,您發(fā)送的愛就越多(以及不同的表情符號)。
我們將使用蜂鳴器和幾行簡單的代碼來模擬心跳的聲音。
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);
}
要更復雜地使用蜂鳴器和音調(diào)功能,請查看下拉菜單示例并查找 Digital > ToneMelody
#ProTip:聊天 ID 和群聊
為了發(fā)送消息,機器人需要一個聊天 ID。聊天 id 是某人和機器人之間聊天的唯一標識符。為了讓機器人向特定的人發(fā)送消息,您首先需要該人向機器人發(fā)送短信并保存該特定聊天的聊天 ID。
在這個項目中,機器人只會回復最后一個發(fā)短信的人,不管那是誰。
機器人是公開的,每個人都可以給機器人發(fā)短信!
如果您想將機器人包含在群聊中,您需要禁用隱私模式以允許機器人閱讀所有消息,否則它將只能檢測以開頭的命令/:
#ProTip:WiFi 最佳實踐
WiFi 可能很棘手。有時它只是關(guān)閉幾秒鐘,顯然沒有任何理由。這對您的 Arduino 來說可能是個問題,因為大多數(shù)時候我們只在草圖的開頭運行 WiFi 連接功能。
在線服務(wù)也可能很棘手,當 Arduino 向服務(wù)器(在本例中為 Telegram)發(fā)送請求時,它會等待回復。由于數(shù)百個原因,回復可能無法到達,使 Arduino 處于無限循環(huán)中。
為了讓你的項目更穩(wěn)定,你可以添加一個看門狗。看門狗是一個必須定期更新的計時器,否則它將重新啟動電路板。
您可以使用這兩個庫向您的項目添加看門狗:
- Adafruit ASF Core // 必須從 Github 手動下載和安裝
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
- 使用Arduino MKR1000通過WiFi進行HID攻擊
- MKR1000 Pushover狀態(tài)開源
- MKR FOX 1200運動觸發(fā)器開源分享
- 帶MKR WiFi 1010的書呆子
- 使用Arduino Mkr Wifi 1010和Thincloud構(gòu)建連接燈的過程
- 帶有Arduino MKR1010和MKR RGB Shield的Otto Biped
- 將MQTT協(xié)議物聯(lián)網(wǎng)與Arduino MKR1010 WiFi結(jié)合使用
- Netduino WiFi鎖開源分享
- Arduino MKR GSM 1400和DTMF開源
- 帶有MKR WiFi 1010的植物通訊器
- 使用Grove Sensor的Arduino MKR1010和阿里云IoT
- WIFI智能開源電熱水器的原理圖和源代碼免費下載 46次下載
- 愛你愛你愛到底歌詞
- 愛你愛到底mp3下載
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1005次閱讀
- WiFi 6與WiFi 5到底有什么區(qū)別 7w次閱讀
- 什么是wifi6,與wifi2.4g和wifi5g有什么區(qū)別 5.4w次閱讀
- MKR Vidor 4000一款拇指型的FPGA開發(fā)板 1174次閱讀
- 什么是2.4G WIFI 什么是5G WiFi 3.6w次閱讀
- Redis簡單案例:網(wǎng)站搜索的熱搜詞 2872次閱讀
- 簡評FPGA——Arduino MKR Vidor 4000 6807次閱讀
- 細說WiFi信號與路由器和WiFi模塊的關(guān)系 1.2w次閱讀
- wifi探針技術(shù)的應用領(lǐng)域_公安局wifi探針用途 2.3w次閱讀
- wifi探針是什么_wifi探針的工作原理詳解 4.6w次閱讀
- wifi模塊異常是怎么回事_wifi模塊異常怎樣解決 6.9w次閱讀
- 手機wifi模塊在哪里_手機wifi模塊位置圖解 13.9w次閱讀
- 雙頻wifi是什么意思_雙頻wifi的優(yōu)點 2.7w次閱讀
- 高通雙通路WiFi技術(shù)幫你解決家庭WiFi信號差的問題 4245次閱讀
- WiFi信號是怎樣傳播的? 1.2w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(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開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多