Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Voice-Controlled Robotic Vehicle with Flame Detection and Water Pump Activation

View and Edit Project In Cirkit DesignerImage of Voice-Controlled Robotic Vehicle with Flame Detection and Water Pump Activation

Circuit Documentation

Summary

The circuit described in the provided data is a complex system that includes a variety of electronic components, such as sensors, actuators, microcontrollers, and power management devices. The primary control is handled by an Arduino Nano, which is programmed to respond to voice commands to control motors and servos. Additionally, an Arduino UNO is used to manage sensors and a motor driver. The circuit features motor drivers for controlling MRB Planetary gearbox motors, servomotors for precise movement, and various sensors for detecting motion and flame. Power is supplied by battery packs, and a mobile phone is integrated into the system, likely for communication or control purposes.

Component List

Wiring Details

Power Distribution

Motor Control

Sensor and Actuator Interface

Communication

Switching and Protection

Documented Code

Arduino Nano Code (Instance ID: 689bde6e-aac7-4750-9a66-eddc7969e5cb)

// Voice control robot || Tech Yogi by NIKSON
#include<Servo.h>
Servo s1, s2, s3;
String voice;

// Motor control pins
const int LeftMotorForward = A0;
const int LeftMotorBackward = A1;
const int RightMotorForward = A2;
const int RightMotorBackward = A3;

// Function prototypes
void moveForward();
void moveBackward();
void turnRight();
void turnLeft();

void setup() {
  Serial.begin(9600);
  s1.attach(4);
  s2.attach(5);
  s3.attach(6);
  pinMode(13, OUTPUT);

  pinMode(RightMotorForward, OUTPUT);
  pinMode(LeftMotorForward, OUTPUT);
  pinMode(LeftMotorBackward, OUTPUT);
  pinMode(RightMotorBackward, OUTPUT);

  s1.write(130);
  s2.write(90);
  s3.write(50);

  digitalWrite(13, HIGH);
  delay(2000);
}

void loop() {
  while (Serial.available()) {
    delay(10);
    char c = Serial.read();
    if (c == '#') { break; }
    voice += c;
  }

  if (voice.length() > 0) {
    Serial.println(voice);
    // Voice command actions
    if (voice == "*hands up") {
      // Action for hands up
    } else if (voice == "*hands down") {
      // Action for hands down
    }
    // More voice commands...
    voice = ""; // Clear the voice command
  }
}

// Define movement functions below...

Arduino UNO Code (Instance ID: c15572e3-459c-4677-a280-0560bcfe135c)

#define enA 10
#define in1 9
#define in2 8
#define in3 7
#define in4 6
#define enB 5
#define ir_R A0
#define ir_F A1
#define ir_L A2
#define servo A4
#define pump A5
int Speed = 160;
int s1, s2, s3;

void setup() {
  Serial.begin(9600);
  pinMode(ir_R, INPUT);
  pinMode(ir_F, INPUT);
  pinMode(ir_L, INPUT);
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(servo, OUTPUT);
  pinMode(pump, OUTPUT);
  // Initial servo movement...
  analogWrite(enA, Speed);
  analogWrite(enB, Speed);
  delay(500);
}

void loop() {
  s1 = analogRead(ir_R);
  s2 = analogRead(ir_F);
  s3 = analogRead(ir_L);
  // Auto control logic...
}

// Define servoPulse and motor control functions below...

Arduino UNO Code for Voice Recognition (Instance ID: f7f9233b-686c-421b-854a-57422720b896)

#include <SoftwareSerial.h>
#include <VoiceRecognitionV3.h>

SoftwareSerial mySerial(2, 9); // RX, TX
VR myVR(mySerial);

uint8_t records[6];
uint8_t buf[50];

void setup() {
  mySerial.begin(9600);
  Serial.begin(9600);
  if (myVR.begin()) {
    Serial.println("VR Module ready.");
  } else {
    Serial.println("VR Module not detected.");
    while (1);
  }
  myVR.clear();
  myVR.load((uint8_t)0, records, 6);
  Serial.println("Speak to the module for training...");
}

void loop() {
  int ret = myVR.recognize(buf, 50);
  if (ret > 0) {
    Serial.print("Command Index: ");
    Serial.println(buf[1]);
    delay(1000);
  }
}

This documentation provides an overview of the circuit, including the components used, their wiring, and the code that controls the system. The code sections are simplified and include comments to indicate where additional functionality should be implemented.