Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Love You Pillow

Komponen dan persediaan

Arduino MKR IoT Bundle
× 1

Aplikasi dan layanan online

Telegram

Tentang proyek ini

Catatan:Tutorial ini mungkin sudah usang, silakan buka di sini untuk versi yang lebih baru.

Kita semua tahu bahwa tanpa orang spesial dalam hidup Anda bisa jadi sulit, tetapi bagaimana jika Anda dapat mengirim cinta dan kasih sayang dari jarak jauh melalui Internet hanya dengan memeluk bantal?

Sekarang, kami tidak dapat benar-benar mengirim pelukan... tetapi yang dapat kami kirimkan adalah emoji manis melalui aplikasi perpesanan, dipicu oleh Anda memberikan pelukan pada bantal.

Saat Anda memeluk I Love You Pillow Anda akan mendengar suara detak jantung yang berasal dari buzzer di dalam. Bergantung pada panjang pelukan Anda, emoji yang berbeda akan dikirim dari Bot Telegram ke obrolan apa pun yang Anda pilih.

Tetap terhubung dengan orang yang Anda cintai dengan perangkat yang dapat dipeluk ini!

Singkatnya

Dalam eksperimen ini, kami akan menggunakan aluminium foil untuk membuat sensor kapasitif DIY yang akan digunakan untuk mendeteksi pelukan.

Untuk membuat perangkat pengirim pelukan, kita memerlukan komponen berikut:

  • Buzzer
  • Aluminium foil
  • 1 resistor 5M ohm
  • Papan tempat memotong roti
  • Kabel

Tujuan Pembelajaran

  • Memperkenalkan Bot Telegram
  • Mengelola sensor kapasitif
  • Bot Telegram dan obrolan grup #ProTips
  • Praktik terbaik WiFi #ProTips

Kiat Pro berguna tetapi tidak sepenuhnya diperlukan langkah-langkah yang menambah lapisan kompleksitas proyek.

Ingin Tahu Lebih Banyak?

Tutorial ini adalah bagian dari serangkaian eksperimen yang membiasakan Anda dengan MKR1000 dan IoT. Semua eksperimen dapat dibuat menggunakan komponen yang terdapat dalam Bundel MKR IoT.

  • Aku Mencintaimu Bantal
  • Kotak Teka-teki
  • Kucing Pavlov
  • Si kutu buku
  • Komunikasi Tumbuhan

Memperkenalkan Bot Telegram

Telegram adalah aplikasi perpesanan populer untuk seluler dan desktop. Selain memungkinkan kami mengobrol dengan teman, kami juga dapat membuat bot obrolan yang berguna dan kuat!

Chat-bot tidak lain adalah kontak yang dapat Anda ajak mengobrol, tetapi seseorang di belakangnya, ada mesin yang membalas sesuai dengan kode yang Anda tulis.

Library TelegramBot untuk Arduino memberi kita cara mudah untuk menerapkan logika di balik chat-bot.

Buat Keduanya

Membuat bot sangat mudah!

Cukup ikuti beberapa langkah sederhana ini atau lihat dokumentasinya di sini.

Siapkan Papan

Pertama-tama pastikan kita memiliki semua perpustakaan yang dibutuhkan.

Berikut daftar semua perpustakaan yang kita perlukan:

  • WiFi101
  • Bot Telegram
  • ArduinoJson
  • Sensor Kapasitif

Anda dapat dengan mudah menginstalnya mengikuti panduan sederhana ini.

Untuk menggunakan API Telegram, pertama-tama kita harus mengunggah sertifikat di MKR1000. Ini berlaku untuk sebagian besar layanan online dan API!

Unggah contoh Firmware Updater dari pustaka WiFi101 dan tambahkan api.telegram.org ke domain.

Jika Anda menggunakan Arduino Web Editor, fitur ini belum diterapkan dan Anda perlu melakukannya melalui Aplikasi Desktop Arduino.

Biarkan keajaiban terjadi!

Buka contoh EchoBot dari perpustakaan TelegramBot, isi kredensial WiFi Anda dan token API yang Anda terima dari BotFather dan unggah!

Anda baru saja membuat bot yang menggemakan semua pesan Anda.

EchoBot dan Emoji

Emoji ada di mana-mana! Kami akan menggunakannya untuk mengirim cinta dan pelukan kami. Menggunakan contoh EchoBot adalah cara mudah untuk melihat bagaimana bot membaca emoji Anda.

Sayangnya cara bot menerima emoji tidak sama dengan yang digunakan untuk mengirimnya. Untuk mengirim emoji, kita perlu menggunakan UNICODE karakter.

Misalnya untuk mengirim emoji hati kita akan menggunakan:\U00002764

Anda dapat melihat daftar lengkap kode emoji unicode di sini. Untuk membuat bot yang membalas emoji hati dengan emoji hati lainnya, kami akan menggunakan kode seperti ini:

void loop() { pesan m =bot.getUpdates(); // Baca pesan baru if ( m.chat_id !=0 ){ // Periksa apakah ada pembaruan Serial.println(m.text); // cetak pesan yang diterima if(m.text =="u2764ufe0f"){ //periksa apakah menerima emoji hati bot.sendMessage(m.chat_id, "\U00002764"); // Balas obrolan yang sama dengan emoji hati } } }  

Hasilnya adalah:

Sensor Kapasitif

Cukup dengan Telegram, mari kita mulai membangun sensor kapasitif DIY!

Pustaka CapacitiveSensor mengubah dua atau lebih pin Arduino menjadi sensor kapasitif, yang dapat merasakan kapasitansi listrik tubuh manusia. Semua pengaturan sensor yang dibutuhkan adalah resistor bernilai sedang hingga tinggi dan selembar aluminium foil.

Pada bagian yang paling sensitif, sensor akan mulai merasakan tangan atau tubuh beberapa inci dari sensor dan melalui berbagai jenis bahan . Kami akan menyembunyikan sensor kami di dalam bantal!

Unggah sketsa contoh, sambungkan kabel dan lihat hasilnya di konsol:

#include  CapacitiveSensor foil =CapacitiveSensor(5,4); // Resistor 10M antara pin 5 &4, pin 4 adalah pin sensor, tambahkan kawat dan atau foilvoid setup() { foil.set_CS_AutocaL_Millis(0xFFFFFFFF); // matikan kalibrasi otomatis Serial.begin(9600); } void loop() { awal yang panjang =milis(); sensor_nilai panjang =foil.capacitiveSensor(30); Serial.print(milis() - mulai); // periksa performa dalam milidetik Serial.print("\t"); // karakter tab untuk debug jarak jendela Serial.print(sensor_value); // mencetak keluaran sensor Serial.println("\t"); // cetak keluaran sensor 3 delay(500); // penundaan sewenang-wenang untuk membatasi data ke port serial }  

Pengkabelan dan Hasil

Kami akan menggunakan sensor_value sebagai ambang batas untuk mendeteksi pelukan!

Detak Jantung

Semakin lama Anda memeluk, semakin banyak detak jantung yang Anda dengar. Semakin banyak detak jantung, semakin banyak cinta yang Anda kirim (dan emoji yang berbeda juga).

Kami akan meniru suara detak jantung menggunakan bel dan beberapa baris kode sederhana.

int Buzzer =8; // Pin terpasang ke buzzer void setup(){} void loop(){ HeartBeat(); penundaan (1000); } void Detak Jantung(){ nada(Buzzer, 31, 200); // nada(Pin, Catatan, Durasi); penundaan (200); nada (Buzzer, 31, 400); penundaan (200); tidakNada(Buzzer); penundaan (1000); }  

Untuk penggunaan buzzer dan fungsi Nada yang lebih kompleks, lihat contoh menu tarik-turun dan cari Digital> ToneMelody

#ProTip:Obrolan-id dan Obrolan grup

Untuk mengirim pesan, bot memerlukan id obrolan.

Id obrolan adalah pengidentifikasi unik obrolan antara seseorang dan bot. Agar bot mengirim pesan ke orang tertentu, Anda harus terlebih dahulu mengirim pesan ke bot dan menyimpan id chat dari chat tersebut.

Dalam proyek ini, bot hanya akan membalas orang terakhir yang mengirim SMS, tidak peduli siapa itu.

Bot bersifat publik, semua orang dapat mengirim SMS ke Bot!

Jika Anda ingin menyertakan bot dalam obrolan grup, Anda perlu menonaktifkan mode privasi yang memungkinkan bot membaca semua pesan, jika tidak, bot hanya dapat mendeteksi perintah yang dimulai dengan /:

#ProTip:Praktik Terbaik WiFi

WiFi bisa rumit. Terkadang hanya mati selama beberapa detik tanpa alasan sama sekali. Ini bisa menjadi masalah bagi Arduino Anda karena sebagian besar waktu kami menjalankan fungsi koneksi WiFi hanya di awal sketsa.

Layanan online juga bisa rumit, Ketika Arduino mengirim permintaan ke server (dalam hal ini Telegram) menunggu balasan. Karena ratusan alasan, balasan bisa gagal tiba, membuat Arduino tetap dalam loop tak terbatas.

Untuk membuat proyek Anda lebih stabil, Anda dapat menambahkan pengawas.

Watchdog adalah pengatur waktu yang harus diperbarui secara berkala, jika tidak maka papan akan di-boot ulang.

Anda dapat menggunakan dua perpustakaan ini untuk menambahkan pengawas ke proyek Anda:

  • Adafruit SleepyDog
  • Adafruit ASF Core // harus diunduh dan diinstal secara manual dari Github

Contoh EchoBot kemudian akan terlihat seperti ini:

#include  #include  #include  #include  // Inisialisasi koneksi Wifi ke router char ssid[] ="xxxx"; // SSID jaringan Anda (nama) char pass[] ="yyyy"; // kunci jaringan Anda // Inisialisasi Telegram BOT const char BotToken[] ="xxxx"; Klien WiFiSSLClien; Bot TelegramBot (BotToken, klien); void setup() { Serial.begin(115200); while (!Serial) {} delay(3000); // mencoba menyambung ke jaringan Wifi:Serial.print("Menghubungkan Wifi:"); Serial.println(ssid); while (WiFi.begin(ssid, pass) !=WL_CONNECTED) { Serial.print("."); penundaan (500); } Serial.println(""); Serial.println("WiFi terhubung"); bot.mulai(); Watchdog.enable(10000); // setel timer ke 10 detik } void loop() { Watchdog.reset(); // jika fungsi ini tidak dipanggil dalam waktu 10 detik, board akan mereset sendiri pesan m =bot.getUpdates(); // Membaca pesan baru if ( m.chat_id !=0 ){ // Memeriksa apakah ada pembaruan Serial.println(m.text); bot.sendMessage(m.chat_id, m.text); // Membalas chat yang sama dengan teks yang sama } else { Serial.println("tidak ada pesan baru"); } }  

Kode

Sketsa lengkap

Skema


Proses manufaktur

  1. Apa itu Mikrometer? | Bagaimana Anda membaca Mikrometer?
  2. Peralatan pemesinan horizontal yang mungkin Anda perlukan
  3. Mengapa Anda Membutuhkan Tukang Besi Mekanik?
  4. Semua Jenis Unit Deburring untuk Anda
  5. Pernahkah Anda Mendengar Besi Cor Putih?
  6. Semua yang Perlu Anda Ketahui tentang Plunge EDM
  7. Mengapa Anda Membutuhkan Servo Press Kecil?
  8. Mengapa Anda Membutuhkan Penggiling Silinder Kecil?
  9. Mengapa Anda Membutuhkan Pusat Pemesinan 5 Sumbu?
  10. Mengapa Anda Membutuhkan Robot Minuman?