Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-Tutorial:JARVIS v1 | So erstellen Sie eine Hausautomation

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
Relaismodul (generisch)
× 4
Bluetooth Low Energy (BLE)-Modul (generisch)
× 1
Breadboard (generisch)
× 1
Jumper (generisch)
× 10

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Warum haben wir das gebaut?

Als Iron-Man-Fan wurde ich wirklich von JARVIS inspiriert ein sprachgesteuerter persönlicher Assistent und ich wollte unbedingt ein Hausautomationssystem bauen. Obwohl es viele bestehende Systeme gibt, habe ich mich entschieden, mein eigenes Heimautomationssystem mit Arduino zu bauen.

So funktioniert es:

Dieses Projekt zielt darauf ab, elektrische und elektronische Geräte wie Licht, Ventilator, Fernseher usw. zu steuern. Dies geschieht mit Arduino und der Relaisschaltung, die in jedem Zimmer des Hauses installiert ist. Die Daten werden über das Bluetooth-Modul an Arduino veröffentlicht und weitere Implementierungen können vorgenommen werden.

Die Hauptaufgabe besteht darin, die Daten zu erfassen und sie mit einem Handy auf dem Arduino zu veröffentlichen. Und später mit den Daten kann eine Steuerung zum Ein- und Ausschalten der Geräte vorgenommen werden.

Hardware-Build

Die Schaltung ist sehr einfach. Die Gesamtkosten für dieses Produkt betragen weniger als 20 $.

Schritt 1:Teile und Material

Die für dieses Projekt benötigten Komponenten sind:

  • Arduino
  • Relais-Breakout-Platine
  • Bluetooth-Modul - HC-05
  • Überbrückungskabel

Schritt 2:Verbindungen

Die folgenden Verbindungen werden mit den Jumper-Kabeln hergestellt. Für diese Demo habe ich vier Relais verwendet, was bedeutet, dass vier Geräte mit der APP gesteuert werden können.

*Arduino -> BT-MODUL*

  • TX -> RX
  • RX -> TX
  • VCC -> 3,3 V
  • GND -> GND

*Arduino -> Relaisplatine*

  • IN1 -> D2
  • IN2 -> D3
  • IN3 -> D4
  • IN4 -> D5
  • VCC -> VCC
  • GND -> GND

Schritt 3:Der Code

Den Beispielcode finden Sie unten.

String voice;
int
led1 =2, //LED 1 mit Pin #2 verbinden
led2 =3, //LED 2 mit Pin #3 verbinden
led3 =4, // LED 3 mit Pin #4 verbinden
led4 =5, // LED 4 mit Pin #5 verbinden
led5 =6; // LED 5 mit Pin # 6 verbinden -------------------------- //
void allon(){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
void alloff(){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
//---------------------------------------- ------------------------------------------------------ //
Einrichtung stornieren () {
Serial.begin (9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, AUSGANG);
pinMode(led5, AUSGANG);
}
//-------------------- -------------------------------------------------- -//
void loop() {
while (Serial.available()){ //Überprüfen, ob ein Byte zum Lesen verfügbar ist
delay(10); // Verzögerung hinzugefügt, um die Sache stabil zu machen
char c =Serial.read (); //Führe einen seriellen Lesevorgang durch
if (c =='#') {break;} //Verlasse die Schleife, wenn das # nach dem Wort erkannt wird
voice +=c; // Shorthand for voice =voice + c
}
if (voice.length()> 0) {
Serial.println(voice);
//---- -------------------------------------------------- ------------------//
//---------- Mehrere Pins/ LEDs steuern ---------- //
if(voice =="*all on") {allon();} //Alle Pins ausschalten (Call-Funktion)
else if(voice =="*all off"){ alloff();} //Alle Pins einschalten (Aufruffunktion)

//------------Eins nach dem anderen einschalten-------- --//
else if(voice =="*TV an") {digitalWrite(led1, HIGH);}
else if(voice =="*fan on") {digitalWrite(led2, HIGH);}
else if(voice =="*computer on") {digitalWrite(led3, HIGH);}
else if(voice =="*bedroom lights on") {digitalWrite(led4 , HIGH);}
else if(voice =="*Badezimmerbeleuchtung an") {digitalWrite(led5, HIGH);}
//---------Schalte einen aus -By-One----------//
else if(voice =="*TV aus") {digitalWrite(led1, LOW);}
else if(voice =="*fan off") {digitalWrite(led2, LOW);}
else if(voice =="*compute r off") {digitalWrite(led3, LOW);}
else if(voice =="*Schlafzimmerbeleuchtung aus") {digitalWrite(led4, LOW);}
else if(voice ==" * Badezimmerbeleuchtung aus") {digitalWrite(led5, LOW);}
//---------------------------------------- ------------------------------------------------------ //
Stimme="";}} //Setze die Variable nach dem Initiieren zurück

Schritt 4:Bewerbung

Vorerst verwenden wir die vorgefertigte Anwendung. In den folgenden Tagen werde ich den Antrag nach Bearbeitung der Zeugnisse einmalig veröffentlichen.

BT-Sprachsteuerung für Arduino erstellt von SimpleLabsIN:https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details

Arbeitsvideo zu diesem Projekt:

Derzeit beschränkt sich die Funktionalität auf das Ein- und Ausschalten der Geräte, kann aber auf der Basisebene natürliche Sprache verarbeiten, die es dem Benutzer ermöglicht, die Verarbeitung natürlicher Sprache in die anderen Projekte zu integrieren.


Vielen Dank an Hackster.io, dass Sie mir und allen Benutzern dieser großartigen Plattform die Teilnahme ermöglicht haben.

Vielen Dank für die Durchführung dieser Aktivitäten, die junge Menschen und Teenager zum Schaffen und Erfinden anregen.

Gebt einen Daumen hoch, wenn es euch wirklich geholfen hat und folgt meinem Kanal für interessante Projekte. :)

Teile dieses Video, wenn du magst.

Schön, dass du dich abonniert hast:https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1

Danke fürs Lesen!

Code

  • Beispielcode
Beispielcode Arduino
//Codiert von:Angelo Casimiro (4/27/14)//Voice Activated Arduino (Bluetooth + Android)//Fühlen Sie sich frei, es zu ändern, aber denken Sie daran, creditString voice zu geben;intled1 =2, // LED 1 verbinden An Pin #2led2 =3, // LED 2 an Pin #3led3 =4 anschließen, // LED 3 an Pin #4led4 =5 anschließen, // LED 4 an Pin #5led5 =6 anschließen; // LED 5 mit Pin # 6 verbinden // -------------------------- Rufen Sie eine Funktion auf ---------- ---------------------- // Void allon () { DigitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); digitalWrite (led5, HIGH);}void alloff () { digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); digitalWrite(led5, LOW);}//---------------------------------------------------- -------------------------------------------// void setup () { Serial.begin (9600); pinMode (led1, AUSGANG); PinMode (led2, AUSGANG); pinMode (led3, AUSGANG); pinMode (led4, AUSGANG); pinMode(led5, OUTPUT);} //---------------------------------------- -------------------------------------------// void loop() { while (Serial.available()){ //Check wenn es ein verfügbares Byte zum Lesen gibt delay(10); // Verzögerung hinzugefügt, um die Sache stabil zu machen char c =Serial.read (); //Führe einen seriellen Lesevorgang durch if (c =='#') {break;} //Verlasse die Schleife, wenn das # nach dem Wort voice erkannt wird +=c; // Kurzschrift für Stimme =Stimme + c} if (voice.length ()> 0) {Serial.println (voice); //-------------------- -------------------------------------------------- -// //----------Mehrere Pins/LEDs steuern----------// if(voice =="*all on") {allon();} / /Alle Pins ausschalten (Anruffunktion) else if(voice =="*alles aus"){alloff();} //Alle Pins einschalten (Anruffunktion) //----------Turn On One-by-One----------// else if(voice =="*TV on") {digitalWrite(led1, HIGH);} else if(voice =="*fan on" ) {digitalWrite(led2, HIGH);} else if(voice =="*computer on") {digitalWrite(led3, HIGH);} else if(voice =="*bedroom lights on") {digitalWrite(led4, HIGH );} else if(voice =="*Badezimmerbeleuchtung an") {digitalWrite(led5, HIGH);} //-------------Eins nach dem anderen ausschalten------ ----// else if(voice =="*TV off") {digitalWrite(led1, LOW);} else if(voice =="*fan off") {digitalWrite(led2, LOW);} else if (Stimme =="*Computer aus") {digitalWrite(led3, LOW);} else if(voice =="*Schlafzimmerbeleuchtung aus") {digitalWrite(led4, LOW);} else i f(voice =="*Badezimmerbeleuchtung aus") {digitalWrite(led5, LOW);}//----------------------------- -------------------------------------------------------- // Stimme="";}} //Setze die Variable nach dem Initiieren zurück
Projekt-Repo
https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

Schaltpläne


Herstellungsprozess

  1. RASPBERRY PI HOME AUTOMATION
  2. Machen Sie eine DIY-Hausaufgaben-Schreibmaschine zu Hause
  3. Finde mich
  4. So erstellen Sie eine anpassbare stanzbare Tastaturtaste
  5. Arduino-Joystick
  6. Wie man mit einem Arduino Musik macht
  7. Wie erstelle ich eine Arduino-basierte automatische Türöffnung
  8. Heimmonitor
  9. Wie man ein Arduino-Bluetooth-gesteuertes Auto baut
  10. So verwenden Sie Modbus mit Arduino