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

J.A.R.V.I.S. :Asisten Rumah Virtual

Komponen dan persediaan

Arduino 101
× 1
Arduino 4 Relay Shield
× 1
Arduino GSM shield V2
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)
Pistol lem panas (generik)

Aplikasi dan layanan online

Unity
Android Studio
Vuforia
Adobe Illustrator
Arduino IDE

Tentang proyek ini

Mengapa mengatasi masalah Rumah Pintar?

Apa yang baru?

Mengapa kami memutuskan untuk membuatnya?

Bekerja

Pengukur Energi Digital

Asisten Virtual AI

Alur sinyalnya adalah sebagai berikut:

  • 1. Masukan Suara ke Aplikasi Android
  • 2. Memproses di Aplikasi Android
  • 3. Mengirim data terenkripsi ke Arduino melalui Bluetooth.
  • 4. Memproses di Arduino 101
  • 5. Sinyal digital untuk diteruskan

Sambungan pin:

  • Pin 8 --> PulseIn [Input Digital]
  • Pin 6 --> IN1 --> Keluaran Kipas
  • Pin 4 --> IN2 --> Output Cahaya
  • Pin 5 --> IN3 --> Pembuat Kopi

Sambungan pengukur energi:

  • Hubungkan meteran ke suplai.
  • Tutup pengukur energi dengan pita hitam, cegah LDR di dalam pengukur energi dari cahaya luar.
  • Hubungkan kabel netral langsung ke beban dan kabel fasa ke relai.
  • Ambil kabel dari LDR di luar meteran ke sirkuit penghitung.
  • Sekarang ambil output dari rangkaian pencacah ke pin pulsa pin 8 yang ditetapkan seperti pada kode.
  • Hubungkan pin TX, RX dari Arduino 101 ke pin RX, TX dari modul GSM.
  • Sekarang nyalakan papan setelah membakar kode.

Diagram Sirkuit

Perangkat Keras dan Peralatan yang digunakan:

  • Pengukur Energi Dalam:Resistor Bergantung Cahaya LDR
  • Modul GSM
  • Rangkaian penghitung:potensiometer, IC LM358N
  • Arduino 101
  • Modul BlueTooth-HC05
  • 4 channel 12V 10A relay modul papan kontrol dengan optocoupler untuk PIC AVR ARM

Platform Pemrograman

  • · Untuk memprogram Arduino 101, kami telah menggunakan Arduino IDE default.
  • · Kami telah mengembangkan aplikasi Android kami menggunakan Android Studio (JAVA dan XML).
  • · Konektivitas basis data dilakukan menggunakan Firebase Google.
  • · Untuk augmented reality kami telah menggunakan Unity bersama dengan Vuforia SDK.

Implementasi:

  • Semua komponen memberikan pembacaan ke Arduino, di mana kami mengubah pembacaan ini menjadi kode karakter untuk mengirim byte secara efisien dan cepat ke komputer. Di dalam loop yang tidak pernah berakhir, setiap pembacaan sesuai dengan karakter.
  • Sebuah kode harus dijalankan di komputer untuk menerima data yang dikirim oleh arduino melalui port serial.
  • Untuk mengembangkan aplikasi android kami menggunakan android studio dan untuk mengonversi suara menjadi teks kami menggunakan standar google api.
  • Untuk pengenalan ucapan, kami menggunakan parameter ucapan akustik-fonetik untuk pengenalan suara yang tidak bergantung pada pembicara di aplikasi android.
  • Kami memiliki asisten virtual AI (kecerdasan buatan) yang menggunakan teknik pembelajaran mendalam seperti CNN (Convolutional Neural Network) menggunakan python untuk mengimplementasikan pemrosesan bahasa alami.
  • Untuk aplikasi augmented reality, kami menggunakan Unity IDE dan VuforiaSDK (Ini adalah Augmented Reality Software Developments Kit (SDK) untuk perangkat seluler yang memungkinkan pembuatan aplikasi Augmented Reality).

Video

Kode

  • Kode Arduino untuk pembacaan energi digital dan perhitungan biaya
  • Arduino mengimplementasikan koneksi JARVIS ke relay menggunakan Arduino
Kode Arduino untuk pembacaan energi digital dan perhitungan biayaArduino
Kode ini mengimplementasikan unit energi yang dikonsumsi oleh alat yang terhubung ke Arduino.
instruksi:
1. Buat koneksi dan masukkan nomor ponsel ke kode Arduino
2. Unggah kode ke Arduino 101
3. Jalankan kodenya
4. Kirim SMS dari ponsel mana saja ke nomor ponsel yang ditentukan dalam kode dengan format #anytext*
5. Balasan yang berisi unit yang dikonsumsi dan biaya yang akan diterima
#include LiquidCrystal lcd(7,6,5,4,3,2);int led=13; // mendeklarasikan LED pada pin ke-13#mendefinisikan pulsa di 8 //mendefinisikan pin input pulsa 8unsigned int pusle_count=0; // Mendeklarasikan tipe hitungan pulsa sebagai integerfloat units=0; // Mendeklarasikan unit sebagai Floatunsigned int rupee=0; //deklarasikan tipe rupee sebagai unsigned integerunsigned int temp=0,i=0; //deklarasikan temp&i sebagai unsigned integerchar str[70],flag1=0,flag2=0; // panjang karakter sebagai string dan mendeklarasikan flagsvoid setup() { lcd.begin(16,2); // menginisialisasi tipe LCD sebagai 16x2 Serial.begin(9600); // menginisialisasi baud rate serial sebagai 9600 pinMode(led, OUTPUT); pinMode(pulsein, INPUT); digitalWrite(pulsein, TINGGI); lcd.setCursor(0,0); lcd.print("Energi Nirkabel"); lcd.setCursor(0,1); lcd.print("Meter"); penundaan(2000); lcd.clear(); lcd.print("Dengan "); penundaan(2000); lcd.clear(); lcd.print("Inisialisasi GSM..."); gsm_init(); lcd.clear(); lcd.print("Sistem Siap"); Serial.println("AT+CNMI=2,2,0,0,0"); init_sms(); send_data("Sistem Siap"); Kirim SMS(); penundaan (1000); digitalWrite (dipimpin, RENDAH); lcd.clear();}void loop() { serialEvent(); // memeriksa unit acara serial=rupee/5.0; // perhitungan satuan lcd.setCursor(0,0); lcd.print("Satuan :"); lcd.print(satuan); lcd.print(""); lcd.setCursor(0,1); lcd.print("Rupiah:"); lcd.print(rupee); lcd.print(""); read_pulse(); if(temp==1) { centang(); }}void serialEvent() // serial event untuk menerima dan memeriksa sms masuk{ while(Serial.available()) { if(Serial.find("#")) { digitalWrite(led, HIGH); penundaan (1000); digitalWrite (dipimpin, RENDAH); while (Serial.available()) { char inChar=Serial.read(); str[i++]=inChar; if(inChar=='*') { temp=1; kembali; } } } } }void init_sms() //inisialisasi &konfigurasi pengiriman pesan{ Serial.println("AT+CMGF=1"); penundaan (200); Serial.println("AT+CMGS=\"MASUKKAN NOMOR SELULER DI SINI\""); delay(200);}void send_data(String message){ Serial.println(pesan); delay(200);}void send_sms(){ Serial.write(26);}//Membaca Pulsa dari Meteran Energivoid read_pulse(){ if(!digitalRead(pulsein)) { digitalWrite(led, HIGH); satuan++; rupiah=satuan*5; while(!digitalRead(pulsein)); digitalWrite(dipimpin,RENDAH); }}//Memeriksa status Message void check(){ if(!(strncmp(str,"units",5))) { Serial.println("AT+CMGF=1"); penundaan (200); Serial.println("AT+CMGS=\"MASUKKAN NOMOR SELULER DI SINI\""); penundaan (200); lcd.setCursor(0,1); send_data("Satuan Pengukur Energi:"); Serial.println(satuan); send_data("\nRupiah:"); Serial.println(rupee); penundaan (200); Serial.tulis(26); bendera1=1; bendera2=1; suhu =0; } }kosongkan pesan_kirim(){ lcd.clear(); lcd.print("Pesan Terkirim."); delay(1000);}tidak berlaku gsm_init(){ lcd.clear(); lcd.print("Mencari Modul.."); boolean at_flag=1; while(at_flag) { Serial.println("AT"); while(Serial.available()>0) { if(Serial.find("OK")) at_flag=0; } penundaan(1000); } lcd.clear(); lcd.print("Modul Terhubung.."); penundaan (1000); lcd.clear(); lcd.print("Menonaktifkan ECHO"); boolean echo_flag=1; while(echo_flag) { Serial.println("ATE0"); while(Serial.available()>0) { if(Serial.find("OK")) echo_flag=0; } penundaan(1000); } lcd.clear(); lcd.print("Gema MATI"); penundaan (1000); lcd.clear(); lcd.print("Mencari Jaringan.."); boolean net_flag=1; while(net_flag) { Serial.println("AT+CPIN?"); while(Serial.available()>0) { if(Serial.find("+CPIN:READY")) net_flag=0; } penundaan(1000); } lcd.clear(); lcd.print("Jaringan Ditemukan.."); penundaan (1000); lcd.clear();}
Arduino mengimplementasikan koneksi JARVIS ke relay menggunakan ArduinoArduino
Ini adalah kode yang mengimplementasikan transfer karakter Bluetooth serial antara aplikasi android dan Arduino.
# define CH3 7# define CH4 4# define CH5 5# define CH6 6 void setup() { Serial.begin(9600); pinMode(CH3, OUTPUT); pinMode(CH4, OUTPUT); pinMode(CH5, OUTPUT); pinMode(CH6, OUTPUT); //Menyediakan daya ke kedua LED //Matikan daya apa pun ke saluran Relay digitalWrite(CH3, HIGH); digitalWrite(CH4, TINGGI); digitalWrite(CH5, TINGGI); digitalWrite(CH6, TINGGI); penundaan(2000); //Tunggu 2 detik sebelum memulai urutan } void loop() { delay(100); if(Serial.available()) { //Serial.println(sum1); char c =Serial.read(); Serial.print(c); if(c=='b') { //kopi off } else if(c=='c')//menyalakan {digitalWrite(CH4 ,LOW); delay(100);} else if(c=='d')//fan di {digitalWrite(CH6,LOW); delay(100);} else if(c=='k')//kopi di {digitalWrite(CH5,LOW); delay(100);} else if(c=='g')//kopi mati {digitalWrite(CH5,HIGH); delay(100);} else if(c=='e')//matikan {digitalWrite(CH4,HIGH); delay(100);} else if(c=='f')//fan mati {digitalWrite(CH6,HIGH); delay(100);} else if(c=='z')//selamat tinggal {digitalWrite(CH6,HIGH); digitalWrite(CH4,TINGGI); digitalWrite(CH3,TINGGI); digitalWrite(CH5,TINGGI); penundaan (500); digitalWrite(CH5,RENDAH); penundaan (500); digitalWrite(CH5,TINGGI); penundaan (500); digitalWrite(CH5,RENDAH); penundaan (500); digitalWrite(CH5,TINGGI); penundaan (10000); } } } 

Suku cadang dan penutup khusus

instruksi:

1. Unduh dan instal aplikasi
2. Pastikan ponsel terhubung ke internet
3. Jalankan aplikasi dan arahkan ke alat yang telah dikonfigurasi dengan Vuforia (penanda Vuforia default digunakan di sini)
4. Alat harus mulai
5. Untuk mematikan alat, klik tombol virtual yang muncul di layar setiap kali ponsel diarahkan ke perangkat jarvisaugmented_I2zWAu2jGG.apk

Skema

Mohon diperhatikan:Koneksi Internet Aktif di ponsel diperlukan setiap saat
instruksi:
1. Instal aplikasi di ponsel android
2. Setelah menyiapkan perangkat keras dan menjalankannya dengan sukses, mulai aplikasi
3. Untuk menggunakan Asisten Virtual (Suara), ucapkan kata kunci, 'Dengarkan JARVIS'. Ini harus mengaktifkan agen
3.1 Ucapkan perintah Anda dengan jelas
3.2 Agen harus memberikan tanggapan
4. Untuk memulai aplikasi augmented reality, klik tombol augment; layar kosong akan muncul
4.1 Buka Aplikasi Jarvis Augmented pada ponsel yang berbeda (CATATAN:Aplikasi android J.A.R.V.I.S. harus berada di ponsel yang berbeda)
4.2 Lanjutkan ke instruksi yang diberikan di JarvisAugmented untuk mengimplementasikan augmented reality

CATATAN:1. Jika aplikasi macet, coba mulai ulang aplikasi
2. Jika pesan yang mirip dengan, 'Tidak dapat membuka Mikrofon' muncul di layar, mulai ulang aplikasi
3. Aplikasi ini diimplementasikan menggunakan modul Bluetooth HC05 untuk meningkatkan cakupan proyek. Oleh karena itu, Modul Bluetooth HC05 direkomendasikan app-release_eo3LK2AsLV.apk

Proses manufaktur

  1. Membangun Jaringan Sensor Nirkabel di Rumah Anda
  2. Membuat Mesin Tulis Pekerjaan Rumah DIY di Rumah
  3. Pengontrol DMX yang Dioperasikan Web
  4. Arduino Spybot
  5. Skateboard Realitas Virtual DIY
  6. Robot Asisten Rumah Otonom
  7. Arduino Home Controller Diaktifkan oleh Alexa
  8. BLUE_P:Perisai Pemrograman Arduino Nirkabel
  9. TFT Shield untuk Arduino Nano - Mulai
  10. Arduino Shield NCS314 NIXIE Tubes Clock IN-14